NeuroK y la Neurodidactica NeuroK: una nueva manera de aprender. Aquí está la información del curso Descubre Apache Spark]]>
septiembre 22, 2015
junio 9, 2015
Mañana tenemos la charla de los miércoles en nuestras oficinas de ASPgems.
«Un día en la vida de un CIO» aspgems. Con Rubén Muñoz, CIO de Gnesis. La vida del CIO ha cambiado mucho y ahora es un elemento crucial en los comités de dirección de las grandes empresas como responsable, no sólo de los sistemas de información de una compañía, sino que también participa en la definición de la estrategia. Como siempre en las oficinas de ASPgems, a las 13:00 horas, si quieres venir apúntate en comunicacion@aspgems. Y si te interesan nuestras charlas no dudes en apuntarte a nuestra newsletter ;-)]]>
abril 8, 2015
Hoy toca la V edición del MeetUp de Machine Learning
José Manuel Navarro Gonzalez, es Ingeniero de Telecomunicació
marzo 14, 2015
Scalatra para impacientes: Como montar un proxy de Elastic Search en 3 minutos
mini tutorial de como instalar scala estilo shotgun. * Si ya tienes instalado Scalatra todavía lo haremos en menos tiempo. Si no este manual de como instalar Scalatra para impacientes te ayudará a hacerlo en un par de minutos. Y ahora llega la mejor parte, tenemos dos opciones: a) hacerlo de cero. Buscar toda la documentación de Scalatra, Interface REST de Elastic Search, etc, etc. b) Clonar este proyecto de github, configurarlo y aprender como con unas cuantas lineas de Scalatra montamos un proxy de Elastic Search y los configuramos a nuestra medida y necesidades. Por supuesto vamos a escoger la opción B que nos mete en el partido en 3 minutos. 1) clonar el proyecto de ejemplo de proxy para Elastic Search usando Scalatra:
git clone https://github.com/nfb-onf/nfbsearch-scalatra.git2) Configurar el URI de conexión a tu Servidor de elastic Search (linea 35)
$ cd NFBSearch-Scalatra
$ vi src/main/scala/ca/nfb/NFBSearchServlet.scala
3) hacer un build del proyecto y lanzarlo.
$ ./sbt
> container:start
> browse
Lo que más me gusta de usar Scalatra es lo sencillo que es implementar una acción:
get("/search") { contentType = formats("json") val q:String = params("q") val httpClient = new HttpClient val response: Response = httpClient.get(new URL("http://localhost:9200/nfb_films/films/_search?q=" + q)) response.body.asString }Incluso alguien con poca experiencia con Scala/Scalatra sería capaz de leer y modificar este código. Es puro código suscinto sin ningún tipo de ceremonia, lo explica muy bien Javier Lafora, nuestro CTO en ASPGems en su post sobre por que usamos ruby y rails en ASPGems como tecnología web y tiene muchos puntos en común con «Por que usamos Scala para hacer Big Data en ASPGems» (este todavía no está escrito!!! 😉 )
«Scala is Love»
Agradecer a los usuarios de la cuenta de github «nfb-onf» que me ha ahorrado un par de horas del plan A con su maravillosa y gratuita contribución a la comunidad. Muchas Gracias!!! os debo unas cervezas!! ]]>marzo 3, 2015
Mañana miércoles día 4 tenemos el IV Meetup de Machine Learning
Carlos Gil Bellosta y nos hablará sobre: «Factorización no negativa de matrices» (Una aplicación a los motores de recomendación)» Os dejo el enlace a la página del meetup machine learning Spain (¿todavía no te has apuntado? a que esperas!!!) y la convocatoria oficial:
Llegamos al IV meetup y en éste podemos celebrar que ya somos 400 en el grupo. Parece que «data science» sigue de moda y nuestro grupo continúa creciendo. Estamos cerrando los últimos flecos del meetup para la próxima semana. En principio será el día 4 a las 19.00h, aunque estad atentos al grupo por si hay algún cambio. Tendremos a un ponente de lujo que seguro que todos conocéis, Carlos Gil Bellosta*: «Ex-eBay, ex-BBVA, ex-everis, ex-Barclays, exmatemático, ex casi todo. No obstante, estadístico diletante, entusiasta de R y bloguero en los ratos libres de los días de hacer». Dará una charla sobre «Factorización no negativa de matrices» (Una aplicación a los motores de recomendación). Os recomiendo que no os la perdáis. Después de la charla haremos networking como siempre, con unas cervezas de por medio. Esperamos que os guste. ¡Nos vemos el miércoles!Saludos.]]>
marzo 2, 2015
Scalatra para impacientes: como crear tu primer proyecto
requisitos previos para poder usar scalatra. Ahora vamos a crear un primer proyecto. Usaremos giter8 para crear la estructura inicial del proyecto. Vamos a utilizar SBT pero también se podría hacer con maven y le guste usar esta herramienta de compilación. Para ello vamos a ejecutar:
g8 scalatra/scalatra-sbt
nos hará las siguientes preguntas:
$ g8 scalatra/scalatra-sbt
organization [com.example]:
package [com.example.app]:
name [My Scalatra Web App]:
servlet_name [MyScalatraServlet]:
scala_version [2.9.2]:
version [0.1.0-SNAPSHOT]:
Donde:
organization: nombre del dominio del que publica al reves, si no tienes la gente acostumbra a usar: com.github.username
package: A Paquete al que se asigna todo el código que se va a generar. La Scala Style Guide recomienda que tu organización tenga todo su código bajo mismo namespace.
name: El nombre de tu proyecto. giter8 creará un directorio con este nombre y dentro estará toda la estructura.
servlet_name: El nombre de la clase Servlet podría ser BlogServlet
o Blog
.
scala_version: Que versión de Scala vas a utilizar.
version: La versión de tu proyecto.
Ahora es el momento de construir tu primer proyecto:
$ cd
$ chmod u+x sbt
$ ./sbt
sbt se encargará de bajarse todo lo que necesite tu máquina para que funcione scalatra y sus dependencias. La primera vez es posible que tarde unos minutos.
Una vez generado el proyecto y para probar que funciona:
$ ./sbt
> container:start
Ahora puedes probarlo en este enlace http://localhost:8080
Los tutoriales de Scalatra son muy buenos. Te recomiendo que les des un vistazo. Tienen ejemplos de cada caso de uso: como subir ficheros, JSON, Akka, etc.
El siguiente post de esta serie será montar un proxy de Elastic Search usando Scalatra.
Bonus de Post:
Si inicializas un proyecto de Scalatra con estas opciones en una ventana aparte:
$ ./sbt
> container:start
> ~ ;copy-resources;aux-compile
Cada vez que modifiques el código, se compilará automáticamente y recargará la nueva versión si accedes a la url 😉
]]>
febrero 28, 2015
Scalatra para impacientes: Como instalarlo
Scala y con Apache Spark pero sigo teniendo la necesidad de resolver la misma clase de problemas que no necesitan un framework como Play (el Ruby on . La mejor solución desde mi punto de vista es Scalatra. Scalatra es un clon de sinatra escrito en Scala con todas las ventajas del lenguaje (OO, Funcional, reactivo, actores, etc). Como instalamos scalatra: Requisitos: * Necesitas tener el JDK Si haces esto puedes comprobar si ya lo tienes instalado y que versión tienes.
$ java -version
java version "1.7.0_10"
OpenJDK Runtime Environment (IcedTea6 1.11.1) build 1.7.0_10-b18)
Java HotSpot(TM) 64-Bit Server VM (build 23.6-b094, mixed mode)
$ javac -version
javac 1.7.0_10
curl https://raw.githubusercontent.com/n8han/conscript/master/setup.sh | shEsto te creará un directorio bin en tu directorio home: ~/bin En este directorio instalará el programa, para incluirlo en tu PATH de ejecución añade al .bash_profile o .bashrc estas dos lineas:
PATH=$PATH:~/bin export PATHy luego ejecuta esto para que te actualice tu entorno.
source ~/.bash_profile # (Mac) source ~/.bashrc # (Linux)Ahora vamos a usar conscript para instalar giter8. Conscript se encargará de bajarse además todas las dependencias que necesita giter8.
cs n8han/giter8Con esto ya tienes lo que necesitas para generar tu primer proyecto con Scalatra. Vía: página oficial de escalatra. ]]>
diciembre 19, 2014
Zeppelin: Scala Spark Notebook
zeppelin que integra scala, spark y markdown. Como un video vale más que mil palabras, este el primer video de la beta de zeppelin. ]]>
diciembre 10, 2014
Charla Big Data con Spark
Mañana jueves 11 de diciembre, doy una charla sobre Apache Spark en los DevOSS Azure Days. Mañana haré una introducción de spark y un par demos en tiempo real. Hay algunas cosas de Spark que le han convertido en el proyecto con más visibilidad en el mundo del big data: * Esta escrito en Scala. Aviso: Scala se va a convertir en el lenguaje con más proyección en el mundo big data. Tiene lo mejor del mundo de la programación orientada a objetos y los lenguajes funcionales. * El enfoque «in memory» para tratar los datasets le da una ventaja de hasta 100 veces más rápido que hadoop. * Requiere mucho menos código e incrementa la riqueza y potencia de las operaciones/transforamaciones que se pueden realizar con la información. Si os queréis apuntar al evento todavía estáis a tiempo. Este es el enlace para registrarse. ]]>