sábado, 23 de noviembre de 2013

Code Club





Ayer tuve la suerte de poder asistir a una sesión de Code Club gracias al aviso de Marcos @chavarri. Hace algún tiempo en el colegio de mis hijos habían tenido alguna experiencia similar con la organización Con Mas Futuro (tambien aquí empieza a haber división de fuerzas) pero los horarios infantiles suelen ser matadores con las actividades extra escolares, los deberes, las actividades deportivas del fin de semana...

Pero esta vez el horario mas o menos coincidia y, aunque a la carrera, fuimos capaces de llegar a tiempo al taller de programación con Scratch para niños que organizaba el Code Club de España en Tetuan Valley en la calle Almagro de Madrid.

Empezando el taller. Foto de Tetuan Valley


El Code Club es una organización de voluntarios nacida en el Reino Unido hace pocos años con la motivación de enseñar las bases de la programación a los mas pequeños en la convicción de que la programación de ordenadores puede ser una actividad divertida desde temprana edad, y cada vez mas va a ser una necesidad para las actuales generaciones jóvenes. No se trata de que todos sean programadores, pero de lo que no cabe duda es que la interacción con los ordenadores va a ser una constante en sus vidas, y conocer los fundamentos de como funcionan estas máquinas solo puede ser ventajoso. Aparte, claro está, de que pensar en como resolver problemas lógicos es un excelente entrenamiento mental.

En España, el Code Club (en twitter: @CodeClub_es) está comenzado su labor y buscado voluntarios para dar los talleres introductorios. Personalmente me encantaría tener un poco de tiempo para poder hacer esta labor que creo muy necesaria. Veremos.

El taller fué dirigido por Ivan Pedrazas (@ipedrazas) con la colaboración de Ignacio Verona (@iverona) y se realizó utilizando la herramienta Scratch. Yo lo habia visto muy por encima alguna vez y no me había parecido gran cosa. Gran error por mi parte, porque la herramienta tiene casi todo lo que se puede desear para aprender casi todas las bases de la programación, desde las secuencias de control if, hasta bucles, verificaciones del entorno, objetos, eventos para cada objeto, mensajes entre los mismos... y todo ademas con un entorno inicialmente infantil que encanta a los niños pero que puede personalizarse hasta, por ejemplo, crear un Pacman completamente funcional (vale: no es igual que el original. Pero funciona razonablemente bien :-)).

Scratch se basa en arrastrar bloques de código (de forma que los niños apenas tienen que teclear nada) que se pueden encajar para formar secuencias de código. Así, tenemos por ejemplo bloques IF donde podemos incluir otros bloques de código. Las condiciones del IF son otros eventos predeterminados (si el gato protagonista se encuentra un determinado color en su camino, por ejemplo) que los niños puedes utilizar para experimentar muy fácilmente. El entorno de Scratch, ademas, puede personalizarse con sonidos o imágenes capturados sobre la marcha usando la cámara o micrófono del ordenador, lo que puede resultar muy divertido.


Importante: a los niños no hay que contarles todo lo que pueden hacer o todo lo que hay en pantalla o se aburrirán. Es mucho mejor dejarles que jueguen solos y hagan sus propios experimentos. Lógicamente, la ayuda de un adulto que pueda ayudar en caso de que el pequeño encuentre algún problema puede resultar decisiva.

Y otro punto a destacar de Scratch es que aunque hay versiones que se pueden descargar al ordenador para ejecutar offline lo mas habitual es ejecutarlo directamente en el navegador, creando una cuenta que nos permitirá guardar nuestros proyectos y compartirlos para que otros puedan ver como están hechos y aprender nuevos trucos. Por ejemplo, puedes ver los proyectos de demostración realizados por Iván para estos cursos.

En resumen, una excelente experiencia recomendada para casi todas las edades. Mi hija, con la que asistí, tiene casi 12 años, pero había pequeños de unos 7 u 8 años que aprendieron perfectamente todo lo que estuvimos viendo. No se si antes puede ser provechoso, estoy seguro de que tomándolo como el juego que es, la programación puede empezar incluso antes.







viernes, 1 de noviembre de 2013

Hackaton Tizen


El fin de semana pasado dormí poco. Muy poco.

Me había apuntado a un Hackathon promovido por Samsung e Intel para promover el nuevo sistema operativo para móviles Tizen que intentará competir en el mercado con Android y Apple.

Me sorprendió ver el número de personas que se habian apuntado, probablemente éramos unas 100 personas en el Tetuan Valley/ de la calle Almagro, repartidos entre gente que promovía una idea para desarrollar, programadores, diseñadores o gente con poderes especiales. Tras las presentaciones de las ideas de cada uno se prepararon los grupos de desarrollo para, durante el fin de semana, sacar adelante algunos proyectos para presentarlos el domingo a ultima hora.



El proyecto que presenté no contó con <modo eufemismo>muchos</modo eufemismo> apoyos asi que me planteé hacerlo en solitario. A ultima hora nos contaron muy por encima el framework de desarrollo basado en Eclipse y me fuí para casa para empezar el desarrollo.

Adolfo durante su presentación


Como mi aplicación (que mantendré de momento en secreto), iba de cierto tipo de relaciones con servicios de imágenes (instagram, flickr, 500px.. ) me dedique hasta tarde a investigar un poco sus APIs. Dormí unas horas y de buena mañana empecé la lucha con el IDE, basado en Eclipse. Pero la batalla no había hecho sino comenzar


El Eclipse se quedaba completamente frito cada vez que abria un asistente para crear proyectos. Intentandolo con el JDK que tenia, con el OpenJDK, con el ultimo, cambiando configuraciones en el Eclipse.ini.... no hubo forma. Si ya le tenia un poco de mania a Eclipse, desde ese dia, mas aún.

Intenté instalarlo en el viejo MacBook que tengo por casa. Tampoco hubo forma



Pasé por Tetuan Valley para hablar con la gente de Intel que estaban dando soporte técnico, pero lo unico que pude hacer fué obtener en ese sentido fué un nuevo SDK para probar en todas las plataforma.

Bueno... lo único no. Porque me esperaba la gran sorpresa de un dispositivo movil basado en Tizen para desarrolladores (aparentemente no sirve para hacer llamadas pero por lo demás funciona perfectamente)

A media tarde del sábado, empezaba a estar claro que no iba a tener forma de presentar algo, asi que opté por descansar un rato con la familia y hacer un ultimo intento por la noche.


Finalmente tuve que desistir de presentar aplicación pero al menos si que fui a la ceremonia de presentación de los proyectos. Algunos realmente interesantes, aunque no ganaran, como el de David (no me quedé con su apellido, twitter ni nada para volver a localizarle....seguro que nos volvemos a encontrar) con una idea -y su implementación- mas que interesante para usar el movil como mando universal para consolas.

Me quedo con la impresión de que en Madrid hay mucha gente con muchas ganas de hacer cosas nuevas. Que a una llamada de un sistema nuevo y desconocido se apuntan casi 100 personas, algunas para pasar un par de noches en el propio sitio creando algo desde cero. Y que conocí a unas cuantas personas de lo mas interesantes a las que seguir los pasos.

Con respecto al sistema Tizen. Mi impresion personal es que se encuentra un poco verde aún, y no solo por mi mala experiencia. Otros de los concursantes tuvieron problemas de velocidad de las aplicaciones que iban bien en el emulador, otros con la geolocalizacion, tampoco ninguno de los asistentes oficiales de Intel o Samsung usaban móviles basados en el nuevo sistema.

No me cabe duda de que si ambas empresas se empeñan en sacarlo adelante, lo harán. No será por dinero por lo que no puedan empujar con toda la fuerza. Mi impresión es que muy bien tienen que hacerlo para quitar un 1% de un mercado dominado por dos entornos y donde ni siquiera un gigante como Microsoft-Nokia tiene oportunidades de quedarse con un trozo del pastel.

Por último, mi agradecimiento a Octave y Pierre, de BeMyApp por la invitación y la oportunidad de participar esta experiencia.

 

Codemotion 2013


Con poco tiempo para escribir. Pero no puedo por menos que comentar por aquí algo del Codemotion 2013 que se celebró la semana pasada en el campus de informática la UPM. Mas de 25 años desde la ultima vez que pase por alli. Por la cafetería, para ser exactos.

El evento es, no cabe duda, uno de los mayores de su tipo en España, con mas de 1500 desarrolladores asistiendo a 7 tracks diarios con los mas variados temas relacionados con el desarrollo.

A decir de algunos de los asistentes del año pasado, el nivel fue algo mas bajo que el año anterior. En mi caso, no podia comparar y si que eché en falta algunas charlas mas dedicadas a programación pura y dura. Tal vez no elegí bien mis charlas en parte porque algunas veces coincidian algunas de temas similares ).

Y ciertamente, algo de decepción tuve con algunas charlas. Por ejemplo la de frameworks de testing para Android (básicamente, jUnit) en la que no se entró apenas en detalles.

O tambien, el cachondeo (y cabreo de muchos) que vino en la presentación de Desarrollo de backends para el desarrollo de aplicaciones móviles y que en realidad fue una charla a mayor gloria de Windows Azure. Tanto es asi que al principio de la misma alguno de los asistentes pensó que los ponentes se habian equivocado de sala. Pero no, resulta que se iba a hablar de la plataforma de Microsoft como backend. Aunque no era eso lo que nadie habia entendido en el programa y tampoco es finalmente de lo que se habló en realidad.


Por lo demas, destacaría la charla sobre aplicaciones móviles multiplataforma, orientada a phonegap/cordova y donde aprendí cosas sobre un par de librerias (en especial, Sencha) que habrá que probar cuando haya tiempo. Tambien excelente fué la charla de Sander Hoogendoorn sobre Agile Antipaterns, una charla muy divertida sobre las cosas que pueden fallar (y fallarán) en cualquier proyecto Agile. O no agile. Dejemoslo en cualquier proyecto


Creo que me equivoqué con la siguiente eleccion que hice: Functional Programming por Mario Fusco. Seguramente habría disfrutado y aprendido mas con las charlas de NoSQL o internet de las cosas.

Para el cierre del dia está clara la eleccion: puesto que ya habia visto la charla de Rafael Luque sobre contramedidas XSS en Grails en el último MadridGUG (vídeo mas abajo) había que ir a ver a la estrella del día, Chema Alonso.

El video de Rafael en MadridGUG:


Y el de Chema Alonso que tambien merece y mucho la pena, sobre el 15 aniversario de los ataques de SQL Injection como parte de un video de mas de 11 horas que incluye todas las sesiones en la sala principal del primer dia.



El segundo dia fué mas duro. Sobre todo por madrugar en sábado. Pero mereció la pena porque alguna de las charlas fué realmente interesante. Desgraciadamente la primera que elegí no lo fué: Mandy White de Google nos contó algunas de las estrategias para hacer el backend de aplicaciones en la nube de Google, pero el nivel de detalle fué muy bajo para una audiencia tan técnica (mi opinion, claro). Al menos me encontré en la charla con el gran Álvaro Sanchez-Mariscal, mi primer mentor de Grails. Un placer volver a verle.

Para la segunda charla tenia bastantes dudas, porque por un lado Abraham Otero iba a hablar de Bitcoin, tema que me interesa y ademas Abraham es buen conferenciante, o bien ir la presentación de Tuenti sobre su flujo de desarrollo. Al final me decidí por esta última y no me arrepentí. En los últimos años he estado viendo en al menos 4 ocasiones la evolución de Tuenti en este sentido y es increible el trabajo que están haciendo para que el flujo de trabajo sea rapidísimo desde el desarrollo al despliegue, permitiéndoles hacer varios despliegues diarios pasando miles de tests, replicando el entorno de producción en lo que llaman tuenti in a box para que los programadores dispongan de una copia actualizada en su propia maquina y utilizando Jira como anillo único para unir todos los procesos de forma integrada.

Tras el café, la charla principal de David Bonilla, con la sala tan abarrotada como era de esperar y con ideas muy interesantes para aplicar en mi empresa. Como está disponible en video, no te la pierdas porque seguro que tu tambien encuentras puntos de interés para mejorar tu forma de trabajar:


Despues de la comida, Jerónimo de Otogami nos contó como ha montado uno de los comparadores de juegos para consolas mas interesantes que hay en este momento: con sentido común y utilizando tecnologías probadas y 100% estables. O sea, básicamente: Java puro.

Y la que sin duda fué la charla que mas me gustó, la de Ivan Lopez sobre Grails en tiempo real (¡Quiero tiempo real y lo quiero para ayer!), usando colas y comunicación asíncrona entre procesos. Muy buena. Tanto que no me la voy a perder el próximo martes cuando la repita en la quedada mensual de grupo de usuarios Grails.

Todas las slides de las charlas están recopiladas en LibrosWeb

Un evento para apuntar en el calendario, espero que se repita el próximo año y poder asistir nuevamente, no solo por las conferencias en si sino por el ambiente y el poder hablar con programadores de todo tipo y conocer nuevas formas de hacer las cosas.




 

Movember

Pues si. Este año me apunto a la campaña Movember. ¿Que es eso?. Muy facil: durante el mes de noviembre de este año me dejaré bigote como medio de apoyo para la lucha contra las enfermedades típicamente masculinas y en particular contra el cáncer de próstata y testicular.


¿Que tiene que ver el tema del bigote con todo esto?. Bueno, el movimiento surgió en Australia hace algo mas de 10 años por unos amigos que se lo dejaron (algo tipicamente masculino) mientras recaudaban y se dieron cuenta de que el sólo hecho de dejarse bigote cuando no lo llevaban habitualmente era una forma de iniciar la conversación sobre el tema cuando alguien les preguntaba por el cambio de imagen.

Reconozco que si lo que quiero es que los conocidos me pregunten me debería dejar un bigote de este estilo:



.. pero hay que tener demasiado valor para hacerlo.. :-{)

Aún está por decidir que bigote me dejaré, y si aguantaré (nunca he llevado barba mi bigote y un par de veces que lo he intentado he desistido por molesto y alergia. Veremos esta vez. Desde luego, que no sea por bigotes para elegir:






No hace falta ser hombre para participar en la campaña, las mujeres también pueden participar de varias formas: una es con bigotes postizos y otra es simplemente haciendo una donación.

¿Como donar?. Muy facil, pásate por mi página en Movember y desde ahí podrás hacer la donación que desées a mi o a mi equipo. Recuerda que esta campaña solo durará el mes de Noviembre, así que no lo pienses mas y dona hoy mismo.


Bigotes del mundo, ¡uníos!