Thursday, September 20, 2018

Marketing y la recolección masiva de datos


Cada vez que navegamos usando un browser, las páginas que visitamos, las consultas en un buscador y hasta los clic que hacemos, son información valiosa para los gigantes del internet. Los datos son obtenidos fácilmente para clasificar a los usuarios. Podemos ser clasificados como  posibles vendedores de metanfetaminas, saber nuestros gustos políticos o influir en una elección presidencial como en el caso Cambrian analytics [1]. También pueden predecir si estamos enfermos o si somos buenos candidatos para un crédito.

No es de extrañar que aparezca publicidad sobre algún producto o servicio  que has buscado recientemente. Nada nos asegura que nuestros hábitos no han sido influidos por un programa informático.

Una caja negra


Las clasificaciones son realizadas automáticamente por máquinas que utilizan aplicaciones de inteligencia artificial, Deep Learning o cualquier otro algoritmo que permita agrupar personas basándose en su comportamiento en Internet..

La mayoría de las clasificaciones no proveen la fuente desde donde obtuvieron la información que se vende como secreto de negocio, tampoco son claros los parámetros que fueron claves para tomar una decisión. Por lo tanto, no sabemos cómo mejorar una clasificación que nos perjudica a menos que provean otro servicio para obtener un mejor status.

No hay regulaciones


Hasta ahora, los gigantes como Amazon, Google y Facebook, además de otras empresas de marketing, pueden almacenar toda la información que puedan y venderla. Gastos, salud, viajes, amigos, hasta datos demográficos, es inimaginable lo que pueden saber de nosotros y conocernos mejor que uno mismo [2].

Sin embargo, Europa ya está tomando la iniciativa con proyectos para regular la información coleccionada y entregar poder a los usuarios [3]. Espero que otros países también tomen la iniciativa y comiencen a proteger a los ciudadanos.

Nuestra información es dinero


Hay diferentes estimaciones de cuánto dinero pueden ganar con nuestros datos [4]. Algunos usuarios son más influenciables que otros. Incluso nuestros celulares proveen información de geolocalización, aplicaciones usadas y tiempos de uso que pueden ser provechosas para algún nicho de negocio.

Como ciudadanos, tenemos preocupaciones más grandes con nuestros trabajos, salud, estudios y otros. Es imprescindible que el estado regule la actividad de las empresas y las ganancias con nuestros datos. Si conocemos sus ganancias, podríamos regular nuestra actividad en Internet, incluso ganar dinero extra.


Internet es útil para todos nosotros, nuestra vida ha cambiado gracias a la gran cantidad de datos que existe. Tenemos que ser conscientes sobre lo que producimos con nuestros clic y lo que hacen con las páginas que visitamos y aplicaciones que instalamos. A veces hay que preguntarse ¿Cuál o quién es el producto?.


[1] https://www.cio.com/article/3138972/analytics/how-trump-defeated-clinton-using-analytics.html
[2] https://www.realsimple.com/health/preventative-health/facebook-and-personality
[3] https://www.theguardian.com/technology/2018/apr/19/gdpr-facebook-google-amazon-data-privacy-regulation
[4] http://www.visualcapitalist.com/much-personal-data-worth/

Wednesday, September 19, 2018

Conocimiento y desarrollo - peligros de la IA

Está bien, podemos aceptar la inteligencia artificial y a sus  algoritmos tomando decisiones. Podemos permitir que ellas decidan y nosotras pensar que son mejores, podemos automatizar y obtener una respuesta en milisegundos, evitando largas esperas de revisiones manuales. También podríamos sentirnos como una raza que, en su camino a la evolución, delega y complementa decisiones con ayuda de un Software.

No hay de qué preocuparnos, ellos trabajarán por nosotros.

Problemas terrenales


El desarrollo de la inteligencia y el conocimiento en el ser humano ha ido evolucionando en base a errores y mejoras. ¿Qué pasaría si dejamos de equivocarnos? ¿Qué experiencias podremos transmitir a nuevas generaciones? ¿Podemos pensar en una máquina que explique su entrenamiento y en base a eso, transmita su conocimiento?

Es notorio que hemos avanzado,mejorado tecnológicamente y, de alguna forma, como sociedad. ¿Qué tanto podemos confiar a un Software, lo nuevo a aprender? Ya sabemos que una máquina nos supera para algunas tareas específicas, ¿Acaso vale la pena seguir mejorando para esas tareas? Es difícil saberlo cuando la distancia entre una máquina y un humano se haga gigantescamente grande.

Decisiones concretas, explicaciones ambiguas


Aunque la inteligencia artificial es capaz de hacer tareas específicas mejor que un ser humano, es muy difícil lograr explicar los criterios y por qué ha llegado a esa decisión. A medida que la inteligencia en las máquinas se vuelva más general, ¿Seremos capaces de entender su comportamiento?

Es importante estar consciente que confiamos en máquinas que toman las mejores decisiones sin entender por qué la están tomando. Posiblemente tienen muchos datos sobre las mejores decisiones que son la base para tomar una nueva decisión. ¿Qué nos asegura que la base de entrenamiento sí posee las mejores decisiones, que inicialmente, fueron realizadas por seres humanos.

Detener nuestra evolución


Un tema que se ha tocado pocas veces con respecto a la inteligencia artificial es que corremos el peligro de detener nuestro avance, la innovación y creatividad será analizada por máquinas que buscarán clasificar y evaluar la efectividad de una idea. Siendo algo extremo, la máquina podría ser capaz de producir las mejores ideas.

¿En qué estamos ahora?


Actualmente, las máquinas dominan las decisiones financieras. Cada vez que buscamos una aprobación de crédito, en base a experiencias pasadas de buenos y malos pagadores, éstos toman automáticamente una decisión usando tus datos.

Empresas como facebook y otros que usan datos obtenidos principalmente de tu navegaciòn por Internet, clasifican a las personas desde “estables”, “potenciales terroristas”, “sanos”, “enfermos”, etc. 

Actuar antes de ....


Estoy de acuerdo que obtenemos muchas ventajas al apoyarnos de máquinas inteligentes, hay tareas que no merecen ser realizadas por los seres humanos. Sin embargo, hay tareas que no merecen ser realizadas por las máquinas. Los criterios y formas de evaluar de una máquina se basan inicialmente en decisiones humanas y no podemos asegurar que éstas fueron buenas. Tampoco podemos delegar todo tipo de decisión a un Software porque estamos hechos para aprender mejorando de a poco y cometiendo errores.

Detente y piensa un poco antes de lovear IA ciegamente.




Saturday, June 2, 2018

Cean Arquitecture y la importancia de entender la arquitectura

“Si piensas que una buena arquitectura es cara, intenta una mala arquitectura”
Robert C. Martin


¿A qué programador no le ha pasado que avanza muy rápido en un proyecto nuevo? los que venden el producto quedan impresionados por el progreso logrado en tan poco tiempo y después de un año cuando el equipo crece ¿Todavía perciben lo mismo? ¿En qué fallamos? ¿Podría haberse hecho algo mejor?

La Arquitectura en Software


La arquitectura busca maximizar la productividad. Como desarrolladores, es nuestro deber cuidarla y considerarla en primer lugar. En caso contrario, el sistema se hace cada vez más costoso en tiempo y personas, los cambios y nuevas funcionalidades se van haciendo imposibles.

La hipótesis sobre la arquitectura necesita ser probada, requiriendo cuidado, atención y pensamiento. Esto puede sonar lento al principio, pero los beneficios llegan gracias a decisiones responsables.

En la lectura del libro Clean Architecture de Robert Martin, encontramos conceptos útiles al momento de defender una arquitectura. Los principios de diseño son expuestos, evaluados y aplicables a cualquier sistema en que te encuentres trabajando pasando desde las líneas de código hasta el diseño de la arquitectura.

Comprender arquitectura es comprender el software a otro nivel


Podrás darte cuenta de muchos errores de diseño que has cometido y puedes estar teniendo ahora. El libro explica el costo de esos errores llevando tu desarrollo a otro nivel profesionalizando la carrera para cualquier desarrollador que emprende el viaje hacia la arquitectura.

El libro es muy adecuado también para desarrolladores que están haciendo su camino hacia las decisiones arquitecturales o que están preocupados a que sus sistemas evolucionen con buenos diseños que te ahorrarán a ti  y tus compañeros horas extras de trabajo debido a una decisión costosa.

Tema que todo desarrollador debería comprender


Es vital que los desarrolladores tengan conocimientos sobre arquitectura. Mientras hayan más de ellos con ese conocimiento, nuestra vida será cada vez más fácil. Los conceptos y visión del escritor son muy válidos al momento de defender una arquitectura logrando que más personas adquieran provechosos conocimientos y el libro es un buen punto para lograrlo.


Un libro para tomarse la arquitectura en serio que expone los costos de avanzar rápido al comienzo sin considerar el futuro del software. Las ideas son totalmente aplicables poseen fundamentos sólidos.

Saturday, May 12, 2018

Reflexión sobre libro 20 filósofos visitan su empresa

“La función clave del liderazgo es la construcción de relatos capaces de dar dirección, sentido y capacidad de acción a las personas. Liderar es contar cuentos.” Extracto del libro.

Los filósofos han reflexionado y desarrollado sus métodos, algunos se basan en la lógica, otros en la religión y la fuerza del hombre. Muchos de ellos se preguntaron la misión del ser humano, analizando y proveyendo técnicas que se usan el día de hoy.

Cada uno tiene su visión, se fijaría y recomendarían diferentes opciones. El libro 20 filósofos visitan su empresa de Carlos Sandoval provee situaciones y diferentes recomendaciones para las empresas actuales, aunque se enfoca en los roles de liderazgo, todos podemos beneficiarnos con las reflexiones y ejercicios que presenta el libro.

¿Qué haría el filósofo?


El autor se coloca en la piel del filósofo y describe lo que estaría haciendo en una empresa, entregando consejos aplicables a las organizaciones actuales. Es así como nos encontramos con distintas reflexiones sobre situaciones laborales y la visión del filósofo. ¿Qué preguntas haría? ¿Qué le preocupa? ¿Cómo reaccionaría?

¿Por qué leerlo?


Los filósofos buscan sentido a lo que están haciendo, tienen formas de ver el trabajo que son muy variadas y proveen una reflexión profunda sobre nuestro entorno laboral y el sentido que le damos a nuestro día a día dentro de una organización. Nos podemos encontrar con técnicas perfectamente aplicables a nuestro entorno laboral. Formas de resolver conflictos, cómo darnos cuentas de nuestros errores o hacer descubrir la verdad a nuestros colegas. También integra temas como la capacidad de observar y escuchar lo que sucede en la empresa. Sin duda, herramientas que también son útiles en nuestra vida cotidiana.
La ética y la influencia en el equipo también son tratadas en el libro. ¿Existe la ética en su organización? Y ¿Por qué es importante cumplir con el rol de líder? Son algunas preguntas planteadas. Cada filósofo tiene prácticas y cosas que nunca haría. Es inevitable sentirse más cercano a algunos y comprender que también deberíamos adaptar comportamientos o tener la visión de otros.

Invitación a la reflexionar


Para cada filósofo tenemos una serie de preguntas para contestar nosotros mismos, entregando un trabajo de reflexión que el lector puede comenzar a aplicar inmediatamente. Recomiendo ampliamente contestar las preguntas y hacer los ejercicios que se plantean durante la lectura del libro. Ayudan a encontrar sentido a nuestro rol en la organización, en la búsqueda a que nuestra organización sobreviva y también a reflexionar sobre nuestro entorno laboral. Es un libro corto, con consejos, reflexiones y técnicas que puedes aplicar para comprender y mejorar la situación de tu empresa actual. Libro totalmente recomendable si tienes un rol de liderazgo o estás cercano a tenerlo.

Tuesday, December 5, 2017

ABC de la comunicación efectiva - imprescindible en el mundo profesional


¿Cómo presentar o escribir un informe? ¿Cómo entirse seguro sobre lo que expresas o mantener la atención de la audiencia o lectores? Esas son las preguntas que el libro El ABC de la comunicación de Sonia González está resolviendo.

Necesidad de saber comunicarse


No importa qué tan bueno seas técnicamente o la posición que tienes dentro de tu empresa. Si no entienden lo que quieres decir o te entregas a lo que ellos dicen con una escucha activa, entonces te encuentras en serias dificultades comunicacionales.

¿Cuántos documentos se pierden en el basurero? ¿Cuántas presentaciones han sido una pérdida de tiempo para ti y los asistentes? Un buen profesional desarrolla las habilidades de comunicación para hacerse entender hacia su público, teniendo conciencia del qué y cómo lo dice. Sin usar palabras innecesarias y mejor todavía, usando palabras contundentes para atraerlo y tenerlo en sus manos.

Dejando una huella


Los lectores del libro de Sonia González se encontrarán con numerosos consejos para preparar y realizar una presentación, incluso para enfrentar una conversación difícil o amigable con tus amigos.

El objetivo de la presentación es ser recordado, impresionar a los asistentes, que los lectores hayan retenido la información durante la lectura y que no desistan antes del final. Hagamos que nuestro tiempo y el de ellos sea provechoso. Al llegar al final querrán más información.

Claridad, sencillez, contundencia


El libro usa mucha claridad para explicar paso a paso las acciones para llegar a nuestro objetivo en la comunicación. Durante la lectura podemos darnos cuenta cómo la estructura y el estilo del libro es el mejor ejemplo aplicado de los consejos expuestos.

La autora se enfoca en tres aspectos esenciales para tener una comunicación efectiva: la hablada, que aconseja sobre cómo hacer una exposición para un gran número de personas o a un conocido, con el objetivo de ser efectiva.

La parte escrita concientiza sobre las palabras que utilizamos, cómo las combinamos y sus efectos. Contiene una gran cantidad de puntos para lograr una buena sintonía en medio del mar de información llamada Internet.

La tercera parte del libro se enfoca en la escucha activa. ¿Cómo podemos esperar una buena atención de lo que decimos, si ni siquiera sabemos escuchar?

No es una bala de plata


El contenido del libro es bastante aterrizado, dejando abierto al criterio del lector sobre la forma de asimilar y entender las acciones a tomar.

Aunque no se puede garantizar el éxito de tus siguientes presentaciones, es una ayuda para tomar consciencia de lo que estamos haciendo y cuál es el impacto que podemos generar. El lector genera seguridad reconociendo las emociones de las personas y tendrá una serie de consejos para lograr tus objetivos comunicacionales.



Friday, November 24, 2017

The Leftovers - serie intrigante y confusa

¿Cómo sería el mundo si ocurre una catástrofe de tal magnitud que nos afecte a todos directamente? ¿Cómo serían nuestras vidas después? ¿Estaremos bien? O quizás antes ya estábamos peor.

Contexto simple, consecuencia ilógica racional


The Leftovers es una serie donde el 2% de la población ha desaparecido en todo el mundo. Así de simple, fugaz, inexplicable y confuso es ese acontecimiento para todos. Muchos de los personajes se preguntan por qué se han llevado a sus seres queridos mientras que otros creen que no merecieron ser ascendidos y viven sus vidas acongojados con esas preguntas y su tristeza. Ascendidos, es el nombre asignado a los desaparecidos.

El sentido común nunca ha existido


El televidente se encontrará con situaciones incómodas, irrisorias, inexplicables y ridículas, pero los personajes hacen muy bien su trabajo ambientandonos en un escenario donde ya todo parece racional. El joven que después de la ascensión de sus padres ya no le haya sentido a su vida, en verdad quizás nunca le había encontrado alguno. El enfermo que escucha voces no parece estar tan loco después de todo y los personajes pasan por mutaciones en su personalidad por qué nadie comprende lo que ha ocurrido, o tal vez desde hace mucho tiempo tenían desórdenes.

Música espectacular


Las emociones son algo difícil de explicar y describir. En Leftovers la emoción se complementa con una banda sonora espectacular de Max Richter que potencia significativamente a cada una. La tristeza y preocupación por los ascendidos se hace grave, las decisiones y locuras de los protagonistas también son interpretadas mejor gracias a la música.


El espectador se sumergirá en un mar de emociones expresadas con imágenes y música que se complementan de forma espectacular. Un viaje por un escenario inexplicable donde todo parece posible. En fin, una obra maestra.

Tuesday, November 14, 2017

Crunch - uniendo operaciones Map y Reduce

Hacer programas con funciones tipo map y reduce pueden requerir esfuerzo, muchos de estos programas involucran más de un map o reduce y esas operaciones puede convertirse en una tarea ardua para el desarrollador, más si tambien tienen que optimizar y configurar las acciones para que los mappers y combiners aceleren el procesamiento.

Con el objetivo de facilitar el desarrollo de aplicaciones en el ambiente de Hadoop utilizando el paralelismo y las operaciones para distribuir el procesamiento, ha nacido el proyecto Apache Crunch basado en Apache Flume.


¿Qué hace Apache Crunch?


Apache Crunch es un framework hecho Java donde los desarrolladores se abstraen de la creación de clases para Map y Reduce y utilizan funciones Java para distribuir el trabajo. Aunque se usen funciones y los detalles para unir el trabajo entre las operaciones se deja a Crunch, es importante considerar cómo Crunch interpreta y decide utilizarlas.

Las funciones dentro del framework consisten usualmente en la lectura de los datos a procesar, luego pasar por filtros y transformaciones usando operaciones map y reduce, además de volver a hacer más operaciones con los resultados para terminar escribiendo los datos. Cada una de esas operaciones se distribuye a través de distintas máquinas según la configuración del cluster.


crunch-process.png


PCollection


PCollection es como la interfaz Collection proveída por Java, pero los datos son procesados por varias máquinas. Una PCollection contiene  objetos serializables y provee una serie de operaciones sobre los datos para el procesamiento y filtrado de cada elemento, retornando así una nueva PCollection.

PType es una especialización de PCollection donde se tiene una key y un valor, permitiendo que la key se repita. Junto con la operacion groupByKey de un PType  se realiza un Shuffle que agrupa a todos los elementos con la misma key generando una colección de valores para una key.



Pipeline


Un pipeline se compone de una serie de operaciones map, combine y reduce sobre un PCollection. Sin embargo no se ejecuta inmediatamente porque el pipeline funciona en modo Lazy. Al momento de llamar a una operación que ejecute el pipeline cómo escribir una PCollection o el método run(), el pipeline crea un plan de ejecución para cada operación, optimizando y evitando métodos innecesarios.

Ejemplo de un programa que junta a todas las líneas de texto que tienen el mismo largo y las escribe en un directorio:
Pipeline pipeline = new MRPipeline(getClass());
PCollection lines = pipeline.readTextFile(inputPath);
// Map function
// Cada elemento de la PCollection pasa por una
//   operación process() de la clase MapFnTest
PTable chars = lines.parallelDo(MapFnTest, ints())
// Reduce function
// groupByKey retorna objetos donde la key es única y el
//   value es una PCollection de String
PGroupedTable grouped = chars.groupByKey();
grouped.write(outputPath);


Conclusion


Apache Crunch permite a los desarrolladores crear programas sin preocuparse de unir e implementar sus propias clases map y reduce, dejando esa tarea al Pipeline que además busca formas de optimizar las operaciones. por ejemplo, hacer varios map se ejecuten en una misma máquina. Juntar muchos map y reduce en un mismo programa nunca fue tán fácil.