Entradas

Blade Runner... quoi?

Considero que toda la historia es una trama excelente, que te va llevando por los caminos que menos esperas y adicionalmente, te pone a pensar un poco en la naturaleza de los seres humanos, en cómo estamos destrozando nuestro propio hogar y no nos importa, y en lo poco o mucho que podemos rescatar de esta naturaleza. En general, cada momento te va atrapando, emocionándote y creando una tensión, lo que crea una historia con mucho potencial… hasta que te encuentras con el final más frustrante que puede existir. De entrada, te enfrenta con una realidad de la cual no estamos tan lejos respecto a la destrucción que hay en el medio ambiente y te va introduciendo la situación decadente en la que la sociedad humana está, dañada después de las guerras, marginando a la población que se quedó en la tierra, a los especiales y los androides super desarrollados que ellos mismos crearon para que sirvieran a la humanidad. Cada momento de la historia, va agregando otro elemento a esta lista, s

MapReduce

Lo que más me agradó del artículo es la forma en la que explica el concepto de MapReduce, así como su funcionalidad, no solamente es una receta de cocina para implementar y entender el modelo de programación. Considero que lo que provocó la necesidad por un modelo que nos permitiera procesar tanta cantidad de datos es algo bastante interesante, ya que no solamente es procesar estos datos de forma rápida, sino también de forma paralela en medida de lo posible y ocultando el desastre que es crear, tener, manejar y mantener este tipo de implementaciones. Tampoco esperaba que para un procesamiento tan pesado de datos se inspirara en un lenguaje funcional ya que siempre me ha parecido más fácil para nosotros y más pesado para la computadora. Sin embargo, es algo bastante obvio por la forma en que lo describe el artículo, basarse en las funciones de Map y Reduce de Lisp que dan origen a sus hermanos en otros lenguajes funcionales como Clojure o Erlang. El modelo que usan para correr

Teaching Concurrency with Erlang

Disfruté mucho del artículo en el sentido de que explica de una forma muy simplificada qué es Erlang y complementa las lecturas pasadas que hemos tenido de este lenguaje de programación, aclarando los temas que igual y no quedaron del todo claros. Creo también que, si bien no hemos programado aún de forma concurrente utilizando Erlang, es una buena opción en el sentido de que simplifica todo el caos que suele ser programar de forma concurrente en otros lenguajes. La verdad es que considero que muchas veces se nos facilita más entender que estamos haciendo en otros lenguajes de programación, porque ya hemos trabajado con ellos y la forma, si bien caótica, en que se implementa la programación concurrente y paralela en ellos, es a lo que ya venimos acostumbrados y tenemos en mente constantemente después de salir de la clase de sistemas operativos. También considero que hay que tomar en cuenta que Erlang es un lenguaje funcional, otra cosa a la que no estamos habituados, ya que sol

Joe Erlang on Erlang

La forma en que Joe Armstrong hizo el acercamiento a la programación paralela me encantó. Además, considero que la forma en que Erlang aborda este problema es algo bastante disruptivo. Considero que la forma en que Joe aborda la forma en que programamos y la forma en que la programación paralela debería ser, comparándola con cómo vivimos y hacemos las cosas en el día a día, es una forma muy práctica y por lo demás sencilla vs como normalmente se programa de forma paralela y cómo se programa en general. Estoy de acuerdo en que es algo irónico y difícil para nosotros mappear en nuestro pensamiento, la forma en la que las threads se comunican. Como él lo dice, es un tanto difícil considerar que comparten la memoria, si nosotros como seres humanos vamos por ahí realizando varias actividades al mismo tiempo de forma natural y además no compartimos una memoria con otros seres humanos. Otra cosa que llamó mi atención es la importancia que le pone al hecho de reducir la dificultad

Código Enigma

Siempre he considerado a Turing como el padre de la computación y lo he admirado bastante, aunque no conocía del todo su historia, sino sus creaciones. Si bien no siempre las películas te cuentan tal cual la historia de lo que sucedió, me gustó mucho esta adaptación porque además de la historia tan interesante, creo que puede inspirar a mucha gente y hacernos dar cuenta de las cosas que están mal con nosotros como sociedad cuando se excluye a la gente por ser diferente. No sabía que Turing había padecido una enfermedad mental, y la forma en que lo muestran en la película, si bien no fue totalmente accurate, lo pone un factor importante para lograr todo lo que logró y mostrando todas las dificultades por las que pasó.   Otra cosa que me dejó sorprendida fue el acercamiento que tomó al problema de criptografía viéndolo como un crucigrama, también la imaginación e ingenio que se requiere para lograr a construir algo que fue la base de las computadoras en las que trabajamos hoy e

The State of Parallel Programming

Considero que en el artículo, UBM TechWeb hizo un gran trabajo exponiendo el problema bastante real que es el de las herramientas de apoyo para programar de forma paralela. El preguntarle a ciertos estudiantes y programadores acerca de su opinión respecto al tema fue un movimiento acertado para exponer el pensamiento general de la gente de programación respecto a qué herramientas son necesarias o estaría bien que existieran de una forma optimizada. Si bien no creo que todo se resuelva mágicamente con el apoyo de dichas herramientas, sí creo que el tener herramientas cómo las que sugiere el artículo puede servir cómo una introducción más amigable a la programación paralela a las personas que apenas están comenzando en esta área, léase programadores experimentados que no están familiarizados, o estudiantes de nuestra carrera que apenas van comenzando. En lo que no estoy totalmente de acuerdo es en lo que la encuesta arroja como primer lugar acerca de qué herramientas eran neces

Welcome to the jungle

El artículo es muy interesante y ayuda a establecer mejor la diferencia de procesadores y de arquitecturas en las que estamos trabajando y en donde se encuentra parado el avance en la computación respecto a la ley de Moore. Aunque no es tan reciente, considero que el paso del tiempo no ha hecho sino seguir la tendencia aquí establecida. Desde las computadoras, hasta los nuevos servicios que empresas como Nvidia están ofreciendo al público de correr sus videojuegos en las tarjetas más recientes y devolver la imagen para que no necesite la gente comprar un equipo especializado para jugar. No habría considerado como una “mina” distinta el cómputo con varios procesadores en la nube, la forma en que muchas aplicaciones se manejan, apoyándose en distintos servicios de varias compañías para proveer de funcionalidad a sus clientes. Me agrada la visión que Sutter plantea acerca de cómo es esta la tendencia hacia la que vamos. Por otro lado, no concibo una forma en la que podremos aprovech