Hace bastante tiempo, termine mi primer MOOC en Coursera:Interactive Programming in Python. Lo recuerdo como uno de los mejores básicamente por la manera como los proyectos semanales crecían sobre la base del anterior.
Recientemente encontré el código usado en mi entrega final. Es nada más y nada menos que mi versión de Asteroids en CodeSkulptor. Para correrlo, solo hace falta ir aquí y hacer click en ►
Como parte de mi colaboración con el grupo de Meetup de PyData Panama, he creado una pequeña presentación a manera de introducción a los conceptos de la programación funcional que pueden ser usados en Python.
En la última conferencia de desarrolladores de GitHub, la empresa hizo un gran anuncio: Su nueva API GraphQL, la cual ha sido publicada para su acceso a través del programa de acceso temprano. En este post, hago un esfuerzo por explicar qué es GraphQL y por qué es importante para la comunidad.
Primero, un poco de historia.
GraphQL fue creado en Facebook y liberado como un proyecto Open-Source, de igual manera que React.js. La idea original era permitir que los clientes de los servicios Rest pudieran decidir qué información le interesa en un particular end-point. Quienes han trabajado desarrollando servicios REST, sabrán que muchas veces la cantidad de información que termina devolviendo un end-point particular es enorme, y no todos los casos de uso la consumen en su totalidad.
¿Por qué importa?
¿Por qué si los servicios REST de GitHub son tan alabados en la industria, ahora se mudan a GraphQL?. Por la misma razón que otros gigantes de la industria han comenzado a adoptarlo. Los detalles están en su anuncio, pero el resumen es el siguiente:
REST requiere varias consultas, GraphQL requiere solo una.
Con REST, se consulta o mucha o muy poca data. Con GraphQL se consulta exactamente lo que se necesita.
REST por lo general se convierte en un laberinto de endpoints mal documentados. GraphQL es altamente tipado y auto-documentado.
En las palabras del equipo responsable de la plataforma en GitHub:
GraphQL representa un masivo salto en el desarrollo de API’s. Tipado seguro, introspección, documentación generada y respuestas predecibles, van a beneficiar tanto a los desarrolladores como a los consumidores de nuestra plataforma. Ansiamos una nueva era de plataformas respaldadas por GraphQL y esperamos que ustedes también.
Después de un par de segundos experimentando, mi primera consulta me devuelve una respuesta –Funciona!. Se puede consultar la documentación del API para saber cuáles mutaciones o consultas se pueden hacer. Es básicamente lo esperado: Se pueden buscar usuarios, organizaciones y obtener información de nuestra propia cuenta GitHub.
Y claro, también realicé un comentario desde el API!:
¿Cómo Aprender?
Si GraphQL te emociona como a mi, entonces probablemente estarás preguntándote la mejor manera de implementarlo en tus proyectos. Acá dejo algunos recursos y tutoriales para comenzar.
Sin duda alguna, Spark es el nuevo gran protagonista en la escena Big Data. La meta de Spark siempre ha sido ofrecer una plataforma unica donde los usuarios puedan obtener los mejores algoritmos distribuidos para cualquier tarea de procesamiento de datos.Para hacer esto, Spark cuenta con una herramienta llamada RDD, o Resilient Distributed Dataframe. Sin embargo los RDD’s han sido completamente mejorados con Project Tungsten. Los beneficios de Tungsten podran verse a partir de Spark V 1.6+ y lo mejor: Cloudera Manager lo tiene disponible desde la version 5.8.
Cuando se trabaja con Big Data, independientemente de si usamos Spark o trabajos Map-Reduce, generalmente nos encontraremos con el sistema de archivos distribuidos de Hadoop, HDFS.
El problema con HDFS siempre ha sido que acceder/modificar la data es un proceso tedioso, que casi siempre involucra realizar comandos dfs en una consola. Esto dificulta muchísimo automatizar scripts (a excepción de shell scripts) para realizar nuestras consultas. Por esta razón, el equipo de Hadoop creó HttpFs, el cual es un portal hacia HDFS haciendo uso de servicios Rest que corren en el Namenode.
Para Python, les recomiendo el excelente proyecto Open-Source HdfsCLI. El mismo no es más que una atadura al propio servicio de HttpFS (y WebHDFS) que provee la mayoría de los métodos relevantes a través de un API y una interfaz de CLI.
Desde hace un tiempo, la que es considerada la mejor y mas popular clase en Harvard, Computer Science 50 (CS50 ) ha estado disponible online para los alumnos de la institución, o para el mundo a través de EDX, donde es por mucho la clase mas popular, CS50x.
Desde la semana pasada, sin embargo, el Canal de Harvard en Youtube ha estado subiendo las clases en formato VR 360. Esto significa que las mismas pueden ser visualizadas con la ayuda de un Google Cardboard, un Oculus Rift, un Samsung Gear VR o cualquier otro dispositivo similar y sentir que estás en el aula, en primera fila. Ya no hay excusas para entrar en Harvard…
Por cierto, que las mismas fueron capturadas con una cámara Nokia Ozo de $45000, que proporciona videos en perfecto 3D, y un sonido espacial que ofrecen altos grados de inmersión.
Les presento una pequeña colección de las herramientas mas útiles para ahorrar tiempo en el desarrollo para diversas tecnologías y lenguajes. Si tienes un proyecto con tiempos de entrega cortos, te interesará ver que hay en la lista para tu necesidad.
Comparto con los asistentes al Meetup del 24 de Septiembre de PyData Panama, la presentación que acompaña mi taller: Pandas vs Spark Dataframes – Una introducción a las arquitecturas distribuidas.
Primero, una renuncia de responsabilidad: El título de este post se supone que sea una broma. Si es que su absurdidad no es obvia. Es una burla de todos esos libros, cursos y material que prometen enseñarnos a<inserte skill técnico aquí> en 1 semana.
Sin embargo, estoy seguro que http://hackertyper.net/ realmente los hará sentir como un hacker sin el menor esfuerzo! Una vez dentro, solo se debe teclear lo más rápido posible. ¡Y reír un poco!