Archivos Mensuales: octubre 2013

“Quienes somos y a dónde vamos” Lacarrismos del 21 al 27

Ya he empezado mi actividad en la nueva empresa y no puedo estar más contenta de la equipo, el momento en el que entro y el proyecto en el que he aterrizado.

Poco y nada puedo contar de las actividades que haga dentro de la compañía. Lo que sí que puedo decir y bien orgullosa es que estoy dentro del “departamento de desarrollo de servicios y sistemas” dentro del área de “sistemas de línea fija”. Espero poder confirmar la semana que viene cuales van a ser mis funciones.

Mi motivación nace:

  • Formar parte de un gran equipo de desarrollo.
  • Desarrollar un proyecto nuevo (sin código heredado).
  • Participar activamente con mis conocimientos y experiencia.
  • Aprender nuevas tecnologías, técnicas y metodologías.
  • Pertenecer a una gran empresa con una apuesta de futuro para los empleados.
  • El cambio que está experimentado la empresa hacia las metodologías ágiles.

Muchos pensaréis, “dentro de un año me cuentas”. Pues sí, dentro de un año o menos os contaré. Hasta entonces, espero seguir compartiendo conocimientos, errores y soluciones como lo he ido haciendo hasta ahora sin concretar en los aspectos del trabajo. Como en todos los centros  hay cosas buenas y cosas a mejorar.  Aquí nos dan la oportunidad de dar un nuevo punto de vista que  que voy a aprovechar al máximo.

Aquí dejo una fotillo de “mi primer día de trabajo”.

Telefónica España, Ronda de la Comunicación,  Madrid.
Telefónica España, Ronda de la Comunicación, Madrid.

BetabeersMAD

Asistí por primera vez al Betabeers Madrid que ya van ni más ni menos que por la XXXIII edición.

Los tres mosqueteros Miquel, Pablo y Santiago, dirigían el festín: dos presentaciones de proyectos orientados a la formación (uSpeak y Tutellus) y charla de GIT de Israel Alcazar.

uSpeak es una app para Iphone en el que jugando aprendes idiomas mientras que Tutellus es una plataforma en la que los profesores suben sus video tutoriales para aquellos interesados. A destacar que Tutellus ha conseguido colaboración con las universidades para que los alumnos puedan obtener créditos de libre elección (si yo hubiera tenido estas cosas tan molonas… )

La charla de Israel Alcazar me encantó. Como gran “fan boy” de GIT observé que no conocía ni la mitad de esta herramienta.  Me quedo con estas palabras que nunca había utilizado (ya, no me déis collejasstash, rebase, reset. Espero detenerme a repasar los apuntes que tomé.

Codemotion

El fin de semana pasado acudí al Codemotion. Una forma de definir este congreso es un evento popular que reúne a unos 1500 programadores en charlas de front-end, back-end, cloud, metodologías y buenas prácticas, arquitectura, etc durante 2 días.

Para el precio de la entrada, 25 euros, puedo afirmar que estoy muy satisfecha con la organización, las charlas y el evento en general. Había algunas charlas más próximas al tema comercial y vender productos y otras muy muy interesantes basadas en las experiencias de personas que molan mucho.

Me gustaría destacar la charla de que comentó sobre el producto Otogami. No había ni dios que propusiera otra tecnología más novedosa sin él  justificar porqué utilizaba sus herramientas y de manera más efectiva porque ya las conocía. De hecho, gracias a su charla, al tener noticias de que iba a programar con Java EE lo he tomado con optimismo (true story).

También asistí a una charla de cloud, más que nada para enterarme del mundillo en sí, de google sobre REALTIME API  para usar el mismo API que utilizan el google drive, la charla de gimenete sobre aspectos a tener en cuenta con nodejs, etc, la charla de metadata de Javier Ramirez, etc.

Codemotion 2013
Codemotion 2013

Y después de las charlas, me quedo con la gente: las charlas de pasillo y la quedada improvisada de la noche. ¿Para cuándo es la próxima?

Codemotion 2013
Codemotion 2013

Y para concluir

¿Quienes somos? ¿A dónde vamos? Tu decides qué eres, qué quieres ser y hacia donde ir.  Si no lo tienes claro, tu propia forma de ser o de actuar te lleva hacia tus gustos e intereses. No hace falta saber ya a qué quieres hacer: prueba, equivócate, sal de tu área de confort, muévete, currátelo. No te quedes atascado, no te conformes con algo que no te gustaLo que no hagas ahora no lo harás nunca.

Cómo obtener la clave primaria o única de una tabla mediante una consulta MySQL

SELECT COLUMN_NAME, COLUMN_KEY FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = ‘[schema_db_name]’ AND TABLE_NAME = ‘[name_of_table]’ and COLUMN_KEY IN(‘PRI’, ‘UNI’);

Con esta consulta obtenemos el nombre/s de la columna/s de la tabla [name_of_table] del esquema de base de datos [schema_db_name] que cumplen que sean PRIMARY o UNIQUE.

Por ejemplo si tenemos la tabla:

CREATE TABLE `companies` (
`company_id` INT(11) NOT NULL AUTO_INCREMENT,
`name` VARCHAR(100) NOT NULL DEFAULT '',
`cif` VARCHAR(20) NULL DEFAULT '',
`created_by` INT(11) NOT NULL,
`creation_date` DATETIME NOT NULL,
`modified_by` INT(11) NULL DEFAULT NULL,
`modification_date` DATETIME NULL DEFAULT NULL,
`deleted_by` INT(11) NULL DEFAULT NULL,
`deleted_date` DATETIME NULL DEFAULT NULL,
PRIMARY KEY (`company_id`),
INDEX `companies_fk01` (`created_by`),
INDEX `companies_fk02` (`modified_by`),
INDEX `companies_fk03` (`deleted_by`),
CONSTRAINT `companies_fk01` FOREIGN KEY (`created_by`) REFERENCES `users` (`user_id`),
CONSTRAINT `companies_fk02` FOREIGN KEY (`modified_by`) REFERENCES `users` (`user_id`),
CONSTRAINT `companies_fk03` FOREIGN KEY (`deleted_by`) REFERENCES `users` (`user_id`)
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB;

Al realizar la búsqueda mostrará

COLUMN_NAME, COLUMN_KEY
company_id, PRIMARY KEY

 

Comparte, comenta y colabora.

Solucionar conflictos merge con GIT desde consola

Os voy a contar cómo soluciono yo los conflictos para mergear código  con GIT desde consola. Existen miiiil maneras infinitas. Espero que esta os sirva.

Contexto: He realizado un pull request de la rama ASIST-183 a develop  y he tenido varios conflictos. El error que me muestra: This pull request has conflicts. You must resolve the conflicts before you can merge. Al realizar un pull request, le estamos diciendo a nuestro gestor de git que suba los cambios de la rama ASIST-183 a develop. Nuestro gestor de git al ver que hay conflicto, pide que se solucione. Léase la siguiente documentación para comprender mejor qué hace pull request.

Para solucionar los conflictos una forma es  mergear develop a ASIST-183, resolver los conflictos en la rama ASIST-183 y comitear los cambios para que ya no de error.

¿Cómo realizar los merges y solucionar los conflictos? 

1 – Desde la propia herramienta existe la lógica para indicar los pasos descritos. (no se explica con detalle en este post).

En mi caso utilizaba Netbeans (sí, has oído bien, el horror de Netbeans) así que recomiendo que no utilicéis merges porque lo hacía fatal. Terminaba siempre con error y echaba para atrás todos los cambios (al menos no fastidiaba el código “a veces”).

Con SourceTree herramienta GIT de Atlassian realiza bien los merges, mostrando los conflictos de código. Además se puede modificar el código desde la propia herramienta.

2 – Desde consola (sí que se explica en este post al detalle).

Bueno, bonito y barato.

Hay que realizar los siguientes pasos (obtenidos de la documentación del producto Stash de Atlassian). Stash ha modificado la documentación de resolver los conflictos, no obstante esta solución funciona es la que sigo realizando.

Step 1: Fetch the changes and checkout the source branch.

git fetch
git checkout ASIST-183

Step 2: Merge the target branch and resolve conflicts as appropriate.

git merge -m “Merging changes from develop to ASIST-183” –log –no-ff develop

Tras este paso, desde la herramienta (en mi caso Netbeans) me aparecían los ficheros con las líneas de conflictos listos para solucionar. Los modificaba uno a uno.

Step 3: After the merge conflicts are resolved, commit the changes and push.

git commit
git push origin HEAD

Step 4: Merge the updated pull request.

Una vez subidos los cambios verás que desaparece los conflictos al realizar un pull request.

Comparte, comenta y colabora. Juntos haremos un mundo mejor.

SQL Error (1701): Cannot truncate a table referenced in a foreign key constraint

Contexto: Base de datos MySQL InnoDB.

Significado: Error al querer borrar una tabla que existe una foreign key que lo referencia.

Situación: En ocasiones deseamos modificar/eliminar unos registros/tabla y no podemos porque nos dice que existe otro registro que lo enlaza. En palabras más técnicas: SQL Error (1701): Cannot truncate a table referenced in a foreign key constraint

Solución: Eliminamos todos los registros en el orden de las tablas correcto (primero las hojas y por último la raiz) o atajamos desactivando el control de foreign keys.

Aquí muestro la segunda opción.  Pon a 0 (inhabilita) y a 1 (habilita)  entre el código de MySQL el siguiente flag:

SET FOREIGN_KEY_CHECKS = 0;
[mi codigo]
SET FOREIGN_KEY_CHECKS = 1;

Aunque no es muy recomendable utilizar estos flags, me han sido de utilidad en numerosas ocasiones. Siempre hay que utilizarlos con cabeza y no abusar de ellos.

Ahora ya puedes borrar las tablas a cascoporro.

Comparte, comenta y colabora. Juntos haremos un mundo mejor.

Sqlite3 top use command

INSTRUCTION

EXPLANATION

sqlite3 asist.db

Conect database asist.db

.tables

show tables

create table

(one int,

two varchar(250));

create table

.quit

exit

drop table [nameTable];

drop table

select * from [nameTable]

where [nameColumn] in (1,2)

Select rows with [nameColumn] equal 1 or 2.

Same as mysql.

delete from  [nameTable]

where [nameColumn] in (1,2)

Delete rows with [nameColumn] equal 1 or 2.

Same as mysql.

Truncate don’t exists

.read fichero.sql

Execute an sql file. Make sure all sequences are correct for sqlite.

“Carta a Diaple” Lacarrismos pensativos

Querido Diaple

Tu me viste crecer,  me criaste y me maduraste. ¿Qué puedo decir después de 4 años? Solo puedo sentir agradecimiento por todo el cariño recibido, por toda la formación recibida y tantas risas que he vivido.

En tres sitios viví contigo. Muchos amigos me has presentado. Me vienen los recuerdos de las comidas desde la terraza, los almuerzos, las cenas de equipo, los viajes en instalaciones, los vermús. Tantos buenos momentos que son difíciles de olvidar.

He tenido la suerte de tener a un mentor que me ha hecho ser la persona que soy hoy y que tanto le debo. Él me aportó  inquietudes, conocimientos y formas de hacer las cosas.

He convivido con un gran equipo, que nos ayudábamos entre nosotros, nos apoyábamos y nos lo pasábamos tan tan bien.

Y con dolor en el pecho, es el momento de decir adiós. No porque no esté bien, la calidad de vida contigo era envidiable. Sabes que es porque estaba atascada, porque no alcanzaba la motivación,  porque necesitaba experimentar con otras herramientas y metodologías que contigo no podía hacer por estar en un producto con tanta demanda de trabajo.

Sí, entro en otra empresa. Una empresa grande, competitiva y con estructura vertical.  Puedes juzgarme todo lo que quieras, puedes advertirme y jurarme mucho más, pero es una experiencia que si no llego a probar, me arrepentiré toda mi vida. No se puede decir que algo no te va a gustar si no lo has probado: experimentaré y trataré encontrar mi sitio dentro de esta gran empresa. Y si no, me habré llevado una experiencia más en la vida en la que seguro habré aprendido.  Observaré paciente sus técnicas, aprenderé los pasos y sí, seguiré proponiendo soluciones, promoviendo alternativas viables e intentando cambiar el mundo.

Me duele haber rechazado una gran oferta de CTO en Zaragoza. Un proyecto que creía mucho por la idea y por el equipo de profesionales  que lo sustentan. Retos de tomar las decisiones tecnológicas, llevar un equipo, exprimir metodologías ágiles. Tenía gran ilusión que se desvaneció con mi decisión. Tampoco me juzgues. Por sí sólo flotará el arrepentimiento en el futuro.

Sé que te alegras de mi nueva vida, sé que me echarás de menos. Yo además de afirmarlo digo que me alegro muchísimo de haberte conocido y vivir estos años juntos. Siempre formarás parte de mi vida como una gran época, una gran experiencia y un gran comienzo laboral.

Gracias Diaple Networking y todos los que lo hacéis posible.

Resumen del IX Betabeers Zaragoza

Impresionante. Lo que vivimos el último Betabeers fue IMPRESIONANTE.

La sensación con la que me quedé después del Betabeers es que se está haciendo algo muy grande.

  • Experiencias de productos que aportan buenas ideas,  visión e interesantes formas de hacer las cosas.
  • Comunidad que repite: siguen guerrilleros del metal compartiendo y disfrutando de cada evento.
  • Nuevas caras: el evento está llegando a más personas con mentes inquietas. Esto es brutal.
  • Implicación de todos los asistentes en disfrutar del evento.

Las cifras

  • 2 ponentes.
  • 2 patrocinadores.
  • Más de 60 personas en el evento.
  • Más de 200 cervezas AMBAR consumidas en el propio centro.
  • 40 personas en las cervezas posteriores  del evento.
  • 32 personas en la cena
  • 28 personas de bares.

El centro: La fábrica de cervezas AMBAR

Como ocasión especial por el inicio del curso,  hemos tenido el privilegio de montar el evento mismísima fábrica de AMBAR. Nuestro patrocinador, siempre tan colaborador, nos ha abierto las puertas sin problemas.

Lo que nos hemos encontrado es un espacio a mi gusto encantador: perfecta decoración e inmejorable trato.

Foto by Lolo Francos
Foto by Lolo Francos

Experiencias de productos

Ingym

Miembros del equipo: Fidel de la Hoya, Nerea Barba y Elvira Moran.

La presentación tuvo varios apartados: Cómo se abordó el proyecto, con qué tecnologías está hecho, cómo destacar tu producto para conseguir financiación.

La exposición fue muy productiva y lucrativa. Explicaron cómo habían arrancado el proyecto Ingym. En concreto utilizaron la metodología Lean Startup que cita que lo más importante es sacar un MVP (mínimo producto viable) para que tus usuarios empiecen a utilizarlo y así tener el primer feedback de los clientes. ¿Tiene sentido gastarse miles de euros sin el mercado y los clientes no responde?

El siguiente punto que tocaron es la tecnología. La web está hecha con WordPress y un módulo de pagos. No obstante ahora estaban trabajando para evolucionar a Prestashop.

Por último nos hablaron como estaban mostrando el producto de cara a buscar financiación.

Fidel de la Hoya con Ingym

Mindfulness by Héctor Rodriguez

Héctor nos contó su experiencia desde crear una app llamada Mindfulness hasta la suit de aplicaciones que han crecido a partir de ella (véase @ZMeditations).

El inicio del proyecto fue cuanto menos curioso, él quería una aplicación para Iphone que estuviera en castellano y zasca! Aplicación creada. Lo que creo que no se esperaba son las miles de descargas que ha tenido.

En su explicación nos habló de varios puntos que favorecieron al impulso del  proyecto:  traducción de hasta 9 idiomas, comunicación con el cliente desde la app para evitar malos comentarios y la creación de una suit de aplicaciones para impulsar las descargas.

Estamos en un ejemplo de proyecto ideal: crear una aplicación por amor al arte , con la única inversión inicial de tu tiempo y observar que se vende sola.  A posterior empezó a invertir pero me parece admirable llegar a este primer muro en la que casi-todas las app mueren sin pasarlo.

Héctor, ¡qué grande que eres!  En total hasta 150.000 descargas de la suit de apps. ¿Cómo se te queda el cuerpo?

Héctor Rodriguez
Héctor Rodriguez con Mindfulness

El networking: dinámicas de grupo

Al inicio del evento  antes de sentarse y con cerveza en mano, dimos la voz que tenían que distribuirse con personas que nunca hubiesen hablado y que tenían 10 min para presentarse. Así se iban a distribuir en todo el evento. En general la idea gustó. Es una buena excusa para conocer a nueva gente.

A mí me sorprendió que personas que habíamos coincidido en más eventos no se conocían! Por el amor de un dios, de dos y de tres! qué hacemos con nuestras vidas!

A mitad del evento fuimos preguntando qué perfiles había entre los asistentes y preguntando a algunas manos levantadas. Era una buena forma de que todos conociésemos las  actividades de otros por luego indagar en las cervezas.

Al final presentaron el grupo de Python el integrante Borja Espejo y ya llegaron las esperadas cervezas de Ambar.

Betabeers networking
Betabeers networking

¿A destacar? Los que no nos perdemos ni un Betabeers 🙂  y los nuevos que vienen: estaba un grupo de un curso de Python, unos maños que ahora están en Madrid (y que dijeron que BetabeersZGZ mola más que BetabeersMAD), perfiles de personas que quieren crear un producto,  gente universitaria (universitaria! enserio!), etc.

Y para terminar

Fuimos a un bar a continuar con las cervezas  y posteriormente a cenar nada más ni nada menos que 32 personas. Seguimos en el bar Atrio entre risas, futbolines y más cervezas.

Una gran noche! Un gran equipo! Betabeers lo hacéis todos! y este la verdad, que ha sido IMPRESIONANTE.

¡Nos vemos en la próxima!

 

“Semanas que se pasan volando”: Lacarrismos del 23 de Sep al 3 de Octubre

Collejón enorme que me he ganado.

La semana pasada no hubo lacarrismos. El motivo fácil, sencillo y simple. Estaba muy muy muy liada. Y cuando no estaba liada, estaba desconectando del mundo mundial.

Ahora quiero plasmar alguna de las cosas que aprendí antes que se las lleve el cierzo. A destacar que vinieron la tribu de BeCode y que declaro ahora  en vivo, en directo y por escrito mi amor puro y profundo hacia ellos. 

Programming

Fin del programa de migración: El programa de migración llegó a su fin y como todo que termina, merece la pena hacer la vista atrás y sacar conclusiones.  Este programa era heredado y la experiencia ha sido cuanto menos, curiosa. 

El qué: Programa para migrar de ficheros .csv a bases de datos mysql. Los ficheros csv son obtenidos por otra empresa.  Hay que tener en cuenta las claves foráneas y que los datos sean correctos para que no haya error.

El cómo: El programa lee unos ficheros .csv, comprueba mediante expresiones regulares que los datos correctos valiendo de unos ficheros .properties y realiza dinámicamente las instrucciones de inserción en la base de datos destino. Existe una clase de testeo por cada fichero csv de forma que genera los csv a medida y valida que detecta bien los errores, los datos buenos y realiza correctamente las inserciones.

Primeras observaciones 

El programa se hizo genérico y no específico para una base de datos para que modificando los ficheros .properties, uno pudiese indicar las tablas y las columnas para la inserción. La realidad es que existían muchas restricciones que al final te hacían programar específicamente para la base de datos y eso no mola. Por ejemplo obtener el id de instalación a partir del código de instalación.

Por otro lado el programa lanzaba las instrucciones desde el programa algo que ralentizaba totalmente la ejecución.

Conclusiones:

El programa funciona y realiza importaciones completas. Pero! siempre hay peros.

¿Cómo lo haría ahora? No lo tengo nada claro. Hacerlo genérico siendo que al final está sujeto a más agentes, no es buena idea.

En este caso y dado el cero volumen de migraciones de otras plataformas/programas a la nuestros productos hubiera optado por una solución más simple haciendo llamadas a las propias tablas y columnas. En caso de programar el caso genérico buscaría la solución obteniendo directamente la  información de los datos de la tabla de la base de datos (varchar, int, etc)  y de inputs metidos por pantalla. Al menos no de un properties.   

Utilizar un fichero properties ha sido un dolor. Un dolor horrible y feroz porque no es verboso ni compilable. Tienes a confundirte muy fácilmente. Por ejemplo. ¿Qué es mejor?

field.2.type=Integer

field.2.checkFunction=checkRegex

field.2.check=[1-7]

ó dentro del código

element.checkRegex( [1-7])

Más caña. Ejecutar las instrucciones desde el programa es inviable. Tardaba la friolera de 3 horas en importar una base de datos (los históricos eran auténticos monstruos, el total de csv era unos 25: suma y sigue). Lo mejor hubiera sido escribir sentencias sql en un fichero .sql y volcarlas en un fichero para pasarlo directamente por el servidor teniendo en cuenta la salida de error. 

Sobre los test. Los test han hecho que el mundo sea un lugar mejor. Cada cambio en el core del programa suponía romper unos cuantos test que si no de ninguna de las formas y las maneras me hubiera dado cuenta. Esto da estabilidad, confianza y un programa robusto que permite cambios a última hora.

Y para terminar. Este programa no se le dedicó el suficiente tiempo en plantearlo, ni en estructurarlo. Pensar no es una pérdida de tiempo, es una inversión muy rentable a corto plazo y más a largo.  No solo consiste en realizar una cosa sino desarrollar una solución en un cómputo en el que hay que tener en cuenta el volumen, la carga, las condiciones, la evolución y todo.

Y para rematar: esta actividad la hubiese subcontratado o pagado un programa específico para ello. ¿Por qué tienen miedo las empresas en subcontratar o gastarse dinero?  Existen empresas que se dedican a ello y ya tienen las herramientas para llevarlo a cabo.

Eventunis

Ha habido mucha salsa y miga en estas semanas de los cuales me gustaría escribir un post de cada uno de ellos. Por ahora dejo un mini-resumen. Por orden de aparición:

VI Encuentro de Gestores de Negocios Digitales en Zaragoza:

David Francos y yo recibimos como organizadores del Betabeers una invitación por Emilio Marquez Espino para asistir a este evento. Sinceramente, me hizo mucha ilusión que contasen con nosotros. No pude faltar.

Mis conclusiones: era una forma diferente de hacer Networking. El jefe jefazo y crack de ceremonias, Emilio Marquez, conseguía que al final supieses a qué se dedica cada persona, qué opiniones o razonamientos tiene y si es medio competente.  

Encuentro de Gestores de Negocios Digitales en Zaragoza
Encuentro de Gestores de Negocios Digitales en Zaragoza

Betabeers Zaragoza

Ponentes: Héctor Rodriguez con MindFulness, Fidel de la Hoya con InGym.

Mis conclusiones: el contenido de las charlas fue muy muy bueno. No se centraron en el producto sino en explicaron procesos en el desarrollo, buenas y malas prácticas, etc. Al final te quedas con la sensación de que has aprendido de sus experiencias.

La Zaragozana estuvo de 10. ¡Nada más y nada menos que el evento fue en la fábrica de Ambar! GRANDE.

La gente que hace Betabeers estuvo INCREÍBLE. Mis sensaciones son un buen rollo, una complejidad, una comunidad. ¡Qué grande! El post está en camino.

Foto by Lolo Francos
Foto by Lolo Francos

BeCode

Los locos de la furgo Xavi Gost, Aitor Sanz y Luis (Luis)  con la idea de carretera y manta hicieron parada obligatoria en Zaragoza. Fueron 3 días intensos, productivos y muy muy divertidos. ¡Pero qué majos majísimos que sois!

Design Patters: curso de Xavi. Repaso de aproximadamente 15 patrones de diseño con sus ejemplos, sus chascarrillos y toda la miga. 100% recomendado.

¿Cómo completar tu equipo si tu start-up te pide crecer? : taller by Luis y Aitor. Muy interesante utilizar Story Mapping para pensar y sacar conclusiones. Sí: sentarse, conversar y pensar en equipo. En concreto nos contaron la experiencia de utilizar Story Mapping en reestructurar una empresa + contratar + subcontratar.

Story Mapping by Becode
Story Mapping by Becode

Coding dojo: practicamos por parejas el mítico 3 en raya. Tuve el lujazo de estar con Xavi en la práctica. De esta forma aprendí: 1 – saber cómo hacer una kata, 2 –  dar importancia a refactoring , 3 – toquitear con javascript. Si no sabes que es un Coding Dojo ni de qué estoy hablando, echa un vistazo al post del agile aragón.

Fiesta de la cerveza: gran noche para despedir estos mozos 🙂  Locurón!!

Geek Talks

Hubo tiempo para hacer las esperadas charlas de inglés mensuales. Apunta! el primer miércoles del mes! Join the meetup group!!

Estábamos al menos 10 personas para la dinámica. Esta vez nos juntamos en trios para hablar de eventos/conferencias que habíamos estado.  Cada 10 minutos rotábamos con un algoritmo de la improvisación. El objetivo era escuchar y comprender las charlas de otros porque en la siguiente ronda te tocaba explicarlo a otro grupo.

La cena y la compañía de 10. Aquí os dejo una fotico de la Jamonería 😉 Gracias Félix!

Geek Talks en La Jamonería
Geek Talks en La Jamonería

Han sido un par de semanas muy grandes. Con muchas sorpresas, muchos cambios, mucho estrés, muchas visitas. No obstante, cada vez me doy más cuenta, que me gusta y disfruto lo que hago.

Llevo un tiempo pensando, meditando y reestructurando mi vida. Creo que por fin he encontrado mi camino.

Con esto y un bizcocho que tengáis una bonita y preciosa semana.

A ser felices y comer perdices!