Chatos & Blogs 30 de Marzo 2011: Historias del Software Libre

marzo 28, 2011

Chatos & Blogs

El próximo miércoles 30 de marzo, daré una charla en el Chatos & Blogs. Sera a las 20:00 en la Casa Joven de Segovia (dirección). Os adjunto información adicional de la charla:

HISTORIAS DEL SOFTWARE LIBRE

Todos hemos oído hablar muchas veces del software libre, pero en la mayoría de los casos nuestra visión es incompleta y hay gran desconocimiento de este modelo de distribución: ¿El Software Libre es gratuito? ¿Puedo usar Software Libre? ¿Que diferencias hay con el Software Comercial o de pago? ¿Como es posible que haya negocios basados en Software Libre? ¿Que gano si uso Software libre? ¿Que tiene que ver el Software Libre, con la innovación, la sostenibilidad y el futuro?

Hablando en el Code Retreat

A través de algunas historias en torno del software libre se pretende acercar al publico a conceptos e ideas que puedan ser inspiradoras y motivadoras. La charla tendrá carácter divulgativo y va orientada a publico en general, no se van a tratar conceptos técnicos y complejos.

Javier García Garrido, es Ingeniero en Informática y se dedica al Desarrollo de aplicaciones informáticas. Forma parte de la Asociación de Empresas de Software Libre de Castilla y León (Cylesol) y es organizador de OpenSegovia, uno de los principales eventos de Software Libre a nivel nacional que se celebra en nuestra ciudad.

Por si no conoceis el evento, tiene una primera parte en la que una persona da una charla sobre Internet o nuevas tecnologías, de una media hora y luego nos tomamos unos chatos en Opera The Bar .
Estais todos invitados.


Preparando el Coding Dojo II: Entorno de programación

marzo 25, 2011

Me han preguntado algunas personas cual es mi entorno de desarrollo. Para el I Coding Dojo Segovia, en el que practicare con PHP y Python, voy a utilizar lo siguiente:

  • Un MacBook Pro de 13″ con Mac OSX Snow Leopard, que es el equipo que tengo para llevar por ahí.
  • Uso Aptana Studio, que es básicamente eclipse con plugins para trabajar en desarrollos web, los plugins necesarios serian:
  • Python viene por defecto en Mac OSX así que no hay que instalar nada
  • Para PHP, voy a utilizar el que viene en MAMP que es un paquete para montarse un servidor local Apache+MySQL+PHP

Quizas no sea el mejor, pero es en el que me muevo en la actualidad.


¿Que es un Coding Dojo?

marzo 24, 2011

El desarrollo de aplicaciones en la actualidad es una lucha. Desde los años 60 en el que se comenzaron a realizar aplicaciones informáticas, se detectó que existen una serie de problemas derivados del proceso: retrasos en la entrega, resultados poco satisfactorios para el cliente, aparición de fallos en las aplicaciones, desmotivación de los programadores.

En la actualidad esos problemas se agravan por el acortamiento del ciclo de vida del Software, y la necesidad de sacar nuevas versiones y funcionalidades continuamente.

Así pues, el desarrollador software de hoy en día se enfrenta a una batalla continua. Y como los guerreros Samurais, debe entrenar duramente en los Dojos, los Coding Dojo.

Un Coding Dojo es un encuentro de desarrolladores para practicar técnicas de programación. Es un desafío para poner a prueba sus habilidades y adquirir y compartir conocimientos entre los asistentes.

La practica a realizar se denomina Kata. La Kata en las artes marciales es una exhibición técnica en la que los alumnos demuestran su habilidad. Estas Katas les capacitan para afrontar situaciones de combate.

Se desarrolla con distintas mecánicas pero sus características comunes son:

  • Hay que realizarla en publico, ayudándose de recursos como un proyector, trabajando en pareja,…
  • Se procura que trabajar en periodos de tiempo cortos, para favorecer la concentración y la agilidad en la ejecución. Usualmente se usa la técnica pomodoro, que se esta extendiendo en muchos entornos para la organización del tiempo y el aumento de la productividad.
  • Se aplican practicas de Extreme Programming (XP) y metodología Ágil, en especial Test Driven Development (TDD), en la que al revés del modelo tradicional de desarrollo se escribe la prueba antes del programa.
  • Se procura que sea una actividad no competitiva, entretenida y que favorezca la colaboración y el trabajo en equipo.

Para participar en un Coding Dojo, no es necesario ser un experto programador. Basta con tener unos conocimientos básicos de programación, en cualquier lenguaje y estar dispuesto a aprender. Es muy interesante para los estudiantes, ya que pueden adquirir conocimientos y habilidades que les permita en un futuro desarrollar su trabajo en las empresas mas importantes del sector, como Google o Facebook.

Para favorecer la practicas de Katas, se ha promovido desde España este año la iniciativa “12 Meses 12 Katas”, en la que se propone una Kata mensual y una serie de sitios web donde publicar la soluciones de estas Katas. En estas Webs, los mejores programadores de España comparten su conocimiento con toda la comunidad, lo que esta impulsando el crecimiento del movimiento Ágil en nuestro país. En paralelo se desarrollan Coding Dojos en distintas ciudades como por ejemplo Valencia, Madrid, San Sebastian, Salamanca, Teruel,…

Segovia ha sido pionera en la celebración de este tipo, celebrando el año pasado un “Code Retreat”, evento similar a los “Coding Dojo” pero de mas larga duración. La comunidad Ágil de Castilla y León (Agile-cyl) es una de las mas activas del país, promoviendo distintas Iniciativas y asistiendo a eventos nacionales e internacionales. Actualmente están trabajando en la iniciativa “All toghether now” en la que durante un fin de semana desarrollaran una aplicación informática que ira destinada a una ONG.

En definitiva actividades y eventos de este tipo, favorecen compartir conocimiento, son innovadores, ofrecen alternativas de desarrollo sostenible e impulsan el necesario cambio en una sociedad que precisa de nuevas y mejores formas de hacer las cosas.


Preparando el Coding Dojo I: Git y GitHub

marzo 23, 2011

En los Coding Dojo que vamos a celebrar en los próximos meses, participaremos en la iniciativa 12 Meses 12 Katas. Esta iniciativa propone cada mes una Kata y habilita un repositorio de GitHub, para compartir las Katas realizadas.

Aunque en la web de 12 Meses 12 Katas explica lo que hay que hacer para utilizar el repositorio, voy a hacer una pequeña guía completando algunos puntos que puede que no estén muy claros para quien no conozca git y GitHub.

Git es un sistema de control de versiones distribuidos, lo que implica que cada usuario tiene su propio repositorio independiente. Cuando hay que poner en común existen una serie de procedimientos que combinan el código de todos los usuarios, de tal manera que los repositorios locales se actualizan con los de los demás. Esto se diferencia de sistemas como Subversion que se basan en un servidor que hace de repositorio central y clientes que interactuan con el para notificar los cambios.

Para usar el repositorio de 12 Meses 12 Katas debemos realizar los siguientes pasos:

  1. Instalar git en nuestro ordenador. Aqui puedes ver instrucciones par hacerlo en los distitos S.O.
  2. Crearnos una cuenta en GitHub.  GitHub nos permite tener un repositorio publico en Internet donde compartir nuestro código.
  3. Generar en nuestro ordenador una clave publica SSH, para comunicarnos con GitHub. Esta estará en un archivo denominado id_rsa.pub, que deberemos abrir y copiar su contenido. (Instrucciones)
  4. Entraremos en GitHub y  en Configuración > Llaves públicas SSH Agregaremos la clave publica que hemos copiado, pegándola en el espacio destinado para ella.
  5. Ahora podemos entrar en el repositorio del mes que queramos de 12 Meses 12 Katas y hacer el fork, que es hacernos una copia de este en nuestro repositorio. Si el repositorio es 12meses12katas/Marzo-FizzBuzz nuestra copia sera usuario/Marzo-FizzBuzz
    Botón Copia Git Hub
  6. Si entramos en nuestra copia del repositorio en la parte de arriba veremos que nos dan una URL para conectar con este repositorio. La copiamos y la utilizaremos para hacer el clone del repositorio.
    URI GitHub
  7. Ahora abrimos un terminal, nos posicionamos en la carpeta donde vamos a trabajar y ejecutamos el clone para obtener una copia:
    $ git clone git@github.com:usuario/Marzo-FizzBuzz.git
  8. Con esto tendremos nuestra copia local del repositorio donde crearemos una carpeta que tenga nuestro nombre de usuario y allí meteremos el código que hagamos para la kata.
  9. Para añadir los archivos al repositorio local haremos:
    $ git add .
  10. Una vez tengamos todo hecho y queramos subir los cambios debemos de haber hecho al menos un commit:
    $ git commit
  11. Ahora enviaremos a GitHub los cambios desde el repositorio local:
    $ git push origin master
  12. Con esto tendremos en nuestro repositorio GitHub la kata realizada, pero si queremos compartirla con el resto de participantes de 12 Meses 12 Katas tendremos que solicitar un Pull Request para incorporarlo al repositorio maestro

Si no quieres utilizar el terminal para trabajar con git, puedes buscar algun cliente con interfaz gráfico. Para eclipse existe un plugin denominado eGit que te permite trabajar desde eclipse con git.


I Coding Dojo Segovia – 25 de Marzo

marzo 18, 2011

El próximo 25 de marzo celebraremos el primero de una serie de Coding Dojos mensuales en Segovia. Será desde las 16:00 horas hasta las 19:00, en la Escuela de Informática de la UVA, situada en la Plaza de Santa Eulalia 9.
La idea es que nos reunamos unos cuantos y practiquemos programando un poco, compartiendo ideas, conocimientos, penas, dudas,… En definitiva pasar un buen rato.
Como es el primero la dinámica será un poco diferente:

  • En primer lugar explicaremos en que consiste esto de los coding dojos, y lo necesario para poder participar en la iniciativa 12 meses 12 katas: ver un poco git, cosas a tener en cuenta,..
  • Luego presentaremos la kata de este mes, y al ser la primera, me lanzaré al ruedo y la ejecutare en vivo y en directo, espero estar a la altura. Si hay algún valiente, o experto que desee hacer la kata, le cedo el puesto gustosamente.
  • A continuación, trabajaremos en conjunto, bien trabajando sobre la kata realizada, bien haciendo katas en otros lenguajes, bien añadiendo restricciones o mejoras a la solución del problema
  • Al finalizar la actividad, nos vamos tomar unas cañas y hacer un poco de networking

Para asistir es necesario lo siguiente:

  • Tener conocimientos de programación, en cualquier lenguaje
  • Traerte tu portátil, con tu entorno de programacion preferido

Si quieres saber mas sobre el coding dojo y la actividad consulta estas paginas:

Quiero agradecer a la Escuela de Informática de Segovia su colaboración para la celebración de la actividad en sus instalaciones, y a CPIICyL y AgileCyl la difusión del evento.
Estáis todos invitados a asistir.


Seguir

Get every new post delivered to your Inbox.