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!

Resumen del VIII Betabeers Zaragoza

Tarde, lo sé, pero tenía muchas ganas de compartir y gritar a los cuatro vientos lo que vivimos, experimentamos y gozamos en el último betabeers Zaragoza con Backbeam como protagonista.

Ha sido el evento que más asistentes ha tenido y no es ningún secreto: teníamos a los cracks de Alberto Gimeno y Jesús Cuadra confesándonos TODO sobre Backbeam. Era una gran oportunidad para aprender de sus experiencias, conocer sus productos y plantearse seriamente el utilizarlos. ¿Por qué? Lo vemos a continuación.

El evento se celebró el jueves 18 de Julio en Zaragoza Activa. Con la ayuda del centro y un equipo técnico de 10. Nuestro patrocinadores que tanto cariño tenemos fueron Ambar y el fotógrafo Lolofrancos.  Mil gracias.

La información del evento:

  • Hora: 18:30
  • Lugar: Zaragoza Activa
  • Experiencia de producto: Backbeam @Gimenete
  • Taller: Biografía de la creación de la imagen gráfica y del sitio web de Backbeam  Jesus Cuadra.

Las cifras:

  • 76 asistentes
  • 2 organizadores
  • 2 técnicos de Zaragoza Activa
  • 2 patrocinadores.

En detalle

¿Qué es backbeam?

Extraigo de la información del evento

Backbeam es un backend-as-a-service diseñado para desarrollar aplicaciones tanto móviles como web. Permite al desarrollador centrarse en sus aplicaciones en vez de malgastar tiempo en el desarrollo y mantenimiento del backend. Con backbeam defines el modelo de datos de tu aplicación y él te da automáticamente una base de datos «en la nube» y SDKs para iOS, Android y JavaScript además de un API REST. También ofrece notificaciones push, gestión de usuarios, integración con servicios de correo, estadísticas y mucho más.

Alberto Gimeno Alberto Gimeno
¿Qué pienso que es Backbeam?

Que es la leche. Por 30 euros al mes tienes infinidad de funcionalidad que va a hacer que ahorres tiempo en el desarrollo de la solución de sistemas y en las solución de programación. Puedes olvidarte del hosting, de la base de datos, de funcionalidad repetitiva (como notificaciones, login en diferentes plataformas), etc. Y lo mejor, que la solución es para web, IOS y Android.

Alberto nos mostró que en la misma aplicación puedes utilizar una interfaz de diseño para auto-genera código. ¿Te imaginas arrastrar componentes en un menú inferior y que auto-genere el código? Todos los asistentes nos quedamos a cuadros.

Backbeam es perfecto de cara a meterlo dentro de un presupuesto a clientes con mantenimiento. Por otro lado, este modelo también es aplicable a Apps personales ya que si piensas friamente, ¿cuánto vale tu tiempo?

Biografía de la creación de la imagen gráfica y del sitio web de Backbeam,  Jesus Cuadra

Extraigo de la documentación del evento

Los secretos que necesita una startup para tener una imagen de marca y una presencia online coherente y efectiva a través del ejemplo concreto de BackBeam. Se  explicarán detalles como la UI del servicio, control de versiones, elección de tipográfica y estilos, preparación del entorno, animaciones, etc.

El objetivo de esta presentación es entender desde la perspectiva de la comunicación y del diseño el porqué de las decisiones que se toman a la hora de construir una imagen de marca y un sitio web. Tomaremos el caso real de Backbeam, un servicio online en la nube que está empezando, y veremos, paso a paso, cómo se ha ido construyendo su estrategia de comunicación.

¿Qué se vivió?

Jesús Cuadra trasmitiendo todos sus pasos y pensamientos para diseñar la marca e imagen de backbeam. Era un proceso complicado y ambicioso pero supo adapatarse al producto (beam significa viga), los competidores, y al marketing.

Nos mostró herramientas que había utilizado para el diseño, así como frameworks para hacer la animación de la pagina principal de www.backbeam.io

Jesus CuadraJesus Cuadra

Dinámicas de grupo

Se pusieron todos en pie y se dividieron por personas que habían asistido por primera vez y los reincidentes. Los reincidentes tenían que explicar a un nuevo qué era betabeers.

Me gustó la experiencia porque ataqué a 4 personas nuevas que no conocía de nada de nada de nada. Me ayudó a romper el hielo y luego abordarlos en las cervezas finales.

También utilizamos la pausa entre cada ponentes para presentar dos grupos latentes en Zaragoza: Agile Aragón y Dlabs. Agradecimientos a María Berenguer  y David Francos por la iniciativa!

Dinamica de grupoDinamica de grupo

¿Y después?

Cervezas Ambar en el propio centro de Zaragoza Activa. Networking, presentaciones y comentar lo experimentado en la sesión.

Beerworking
Beerworking

¿Y después de después?

Inundamos la terraza más cercana para seguir con el beerwoking y conocernos. Seguimos cenando y tomando «la última tras la última».  Al día siguiente, «era día de cole».  Al menos yo, recogí pronto, aunque los tweets del día siguiente desvelaban un buen jaleo.

¿Lo más bonito?

Que tenemos una comunidad con gente inquieta, motivada, con ganas de compartir experiencias que se mantiene y crece tras sesión. 

Todos lo hacemos posible. Y eso, mola. ¡Nos vemos en la próxima!

Agradecimientos a dos nuevos fichajes  Ricardo Guillen y Antonio Gracia.

«La vie e belle»: Lacarrismos del 16 al 20 de Septiembre

Estoy de lunes y con una alegría inmensa después de un fin de semana increíble con los amigos de Suecia (estuve estudiando por un año en la universidad de Lund).

Reflexionas y es cierto: cada vez cuesta más vernos, organizar una quedada. Pero lo que no cambia, lo que te llevas, es que cada vez que nos juntamos, llueven recuerdos, grandes momentos y una pregunta: ¿cuándo organizamos la próxima?

Los amigos hay que cuidarlo y mimarlos. Como resultado Lasde este sentimiento que ha renacido, hemos fijado un encuentro anual para esta misma fecha en Barcelona coincidiendo con las fiestas de La Mercé.

Me he perdido el TeDXZaragoza, pero una ocasión así no la podía dejar escapar.  Amigos que han venido desde Lund, Paris, Sitges, Barcelona, Madrid, Cartagena y Zaragoza no se vive con frecuencia. Aquí dejo una fotillo del equipo 🙂

IMG-20130921-WA0003

We are Lund

Currele

Desarrollo de AsisT: siguiendo con el desarrollo de la versión 1.6.0.

El proyecto está gestionado desde la herramienta jira. Existen unas historias que determinamos que estén dentro del desarrollo de la versión. Cada historia es auto-asignada por una persona que la desarrolla en un rama distinta de GIT.

Programa de migración: en las pruebas de datos reales, han salido cosas. Por ejemplo: en los casos que el código postal está mal escrito y el nombre del municipio está en más de una provincia. También he tenido que ser más permisiva (comprobando las expresiones regulares) de dni, etc.

Y lo que no es currele

La colaboradora: lunes y martes en la colaboradora prácticamente porque el comando co-working en bares estaban en NSSpain.

Mantuve una conversación con Iris de FormalDocs y Alfoso de Qbitera. Iris, ganadora del último Yuzz de Zaragoza, me comentó el presente y el futuro de su proyecto.

Mis cosillas: estuve revisando y elaborando documentación para un proyecto de betabeers.

Emails y docs para eventos próximos ¿yo no programaba? 

Betabeers Zaragoza: Cerrado todos los temas de ponentes, post en betabeers, documento de distribución, etc. El evento es este viernes 27 de septiembre! Los detalles aquí.

Post en el blog: hacía meses que no publicaba algo de info o ayuda. Me he propuesto subir uno por semana. Ver post «MySQL MAX Ejemplo».

Post Cachirulo-valley talk resumen: hicimos un resumen del evento realizado. El objetivo dar más visibilidad a los ponentes y mostrar a todos qué es lo que hacemos 🙂 Ver post. 

Zentyal party: Zentyal party fue lo mejor de lo mejor de la semana (detalles del evento). Cada año el equipo de Zentyal celebran la nueva release como debe ser: en concierto y con los colegas.

Los origenes: Zentyal surgió de Warp! Warp realizó un producto que terminó siendo empresa y es Zentyal. Sinceramente, flipo con toda la gente que ha estado en Warp. Todos, absolutamente a todos que conozco que han estado en Warp son unos (perdonar por la expresión) putos craks: Nestor SalcedaRafael RamosBelmonte, Javier Uruen , etc, etc.

Además de muy buena música con el concierto de los Iron Maños, la fiesta fue un lugar de caras conocidas y por conocer. Gran sorpresa al encontrarme a Xavi, Aitor y Ana que venían al TEDXZaragoza. También de todos que nos que habitualmente nos encontramos en los saraos.

Hay una cosa que me encantó que me dijeran: «la comunidad de Aragón es envidiable» (así o con otras palabras me lo dijeron). La justificación al comentario es «la piña» que existe, el movimiento que crece, las ganas que tenemos por compartir/montar cosas y cómo responde la gente ante ellas.

Sí señores, tenemos algo muy grande que se mueve en Zaragoza y no sé tu pero yo no solo lo estoy aprovechando: estoy disfrutando como una enana.  

Este post se titula «la vie e belle» por la gente: por disfrutar de  los amigos que tenemos y los nuevos que están viniendo.

Con esto y  un bizcocho, que tengáis una semana entrañable.

A ser felices y comer perdices!

MySQL MAX Ejemplo

Tres funciones de mysql y tres resultados distintos.

Sea la siguiente tabla simplificada en MySQL ·client_states.

state_id | end_date
8;2000-01-01 00:00:00
9;2012-05-15 00:00:00

Quería obtener el último estado del usuario (la fecha más alta de las registradas del usuario) y ésto es lo que me he encontrado trasteando con la función MAX()

select state_id
from states_clients
where client_id=99996
having max(end_date);

Resultado Fail

8;2000-01-01 00:00:00

select max(state_id), max(end_date)
from states_clientes
where client_id=99996;

Resultado Win

9;2012-05-15 00:00:00

select state_id, max(end_date)
from states_clients
where client_id=99996;

Resultado Fail
8;2012-05-15 00:00:00

¿Por qué?

Conclusiones + stackoverfow:

  • Having siempre va con group by. Es por ello por lo que lo devuelve el resultado esperado.  Documentación SELECT de MySQL.
  • OJICO. Aunque estés seleccionado el valor máximo de una columna, no devuelven los valores en concordancia con las filas.  Como se ve en el último ejemplo está devolviendo ‘8;2012-05-15 00:00:00 ‘en vez de devolver  ‘8;2000-01-01 00:00:00’.

«La Social Week» – Lacarrismos del 9 al 13 de Septiembre

Semana interesante, bonita y preciosa. Vacaciones en Madrid visitando amigos y poniendo cara a nuevos.

El jueves vuelta a la faena en Zaragoza. Casualmente esa tarde había quedada cachirulera 🙂

Empezamos con la retro de la semana!

Currele

Programa de migración: desarrollo de  plantillas  para migrar más datos con sus correspondientes test para comprobar que se migraban bien o que detecta correctamente cuando está mal los datos.

Integrar Jenkins con Stash: instalé Jenkins la semana pasada y tenía que integrarlo con Git. Bien, instalé el plugin desde la propia administración pero! no funciona porque stash saca un CAPTCHA al autentificarme. Seguiré con mi aventura de conseguirlo. Existe otra opción que no puedo hacerla y es instalar desde Stash el plugin de Jenkins. No tengo acceso ni permisos 😥 Any help?

Lo que no es currele

Visita a Vizzualy

esta empresa que hace cosas tan alucinantes como estos mapas o estos gráficos estuvieron en las Ctalks de Junio en Zaragoza. A consecuencia de un tweet me acogieron en su oficina para robar wifi y un poco de inspiración :). Ahí estuve trabajando en mis cosas: analizando una página web para mejorarla. La propuesta incluía CartoDB un producto casualmente de Vizzuality para la creación de mapas awesómicos.

Me encantan y los admiro como equipo de cracks, personas y forma de llevar y organizar la empresa. Faltaron echar unas cervezas. Lo reservo para la próxima visita.

Oficina de VizzualityOficina de Vizzuality

Visita del clan Betabeers

Conocí (por orden de aparición en escena) a Alex Andreu, María Scheifler, Pablo Rodriguez (ya lo ten) y Miquel Camps :). Fue un placer conocerlos en persona y hablar de nuestras vidas e inquietudes fuera de la organización. También hubo jarcia de Betabeers: eventos, proyectos, etc.

Visita a Victor Sanchez y prueba de Google Glass:

Víctor Sanchez es CTO de Mashme.tv una empresa que está en su mejor momento: van a ampliar oficina en USA.  El producto que tienen es para compartir videollamada, documentos, etc desde la misma aplicación.

Actualmente me he registrado pero aún no lo he probado, algún voluntario? Mis primeras conclusiones es que los tenemos que traer a Zaragoza para que nos cuenten todo.

Google glass es una montura con un pequeño visor en la parte superior derecha. Le hablas a tu móvil Android y te lo muestra en el visor. ¿La experiencia? Bueno, fue graciosa y entrañable. Le saco pegas de cara a la calidad y los esfuerzos que hay que hacer para ver una pantalla minúscula en la parte superior. No obstante, google glass, será una realidad y le auguro un buen futuro. Puede tener infinitos campos de aplicación: militar, medicina, ocio y entretenimiento, etc.

Alex Andreu  es el que me enchufó para ir :). Mil gracias.

Probrando Google Glass

Probrando Google Glass

MashMeTV

Victor Sánchez en las oficinas de MashMeTV

Visita de Carmen: conocí a Carmen en el AOS2013, mueve Tentuan Valley y es más maja que el copón. Quería haber visitado el nuevo sitio donde se alojan pero finalmente quedamos a echar beers :). Gracias!

Ctalks: Volvieron las cachirulo talks con Unboring y Frogtek. Los detalles del evento aquí. Y desde este enlace para ver las fotos del evento

Unboring hacen cosas tan chulas como éstas. Mejoran la experiencia de marketing con juegos, imaginación y creatividad. Entre otras tecnologías, utilizaran HTML para hacer juegos/interaciones (wowww). Ponente: Arturo Paracuellos

Frogtek es una empresa con sedes en España y Latinoamérica. Nos mostraron un producto que comercializan en México para las pequeñas tiendas. Interesante charla, arquitectura y epic fails. Ponentes: Javier Martinez y Daniel Baeyens.

Betabeers Zaragoza: ultimando detalles. El 27 de Septiembre… gran inauguración del curso 😉 Ya tenemos cerrado los ponentes y el lugar (la fábrica de Ambar jojojo).

Mac Book Air o Mac Book Pro: Lo comento aquí porque creo que a alguien le puede servir de ayuda. En este foro  de NSCodersZGZ quedaron plasmados muy buenos consejos respecto a qué portátil pillar (es lo bueno de preguntar a unos cracks que son más majos que las pesetas). Por mi parte fui a  la tienda Apple de Zaragoza y me indigné. El motivo: tener que emitir una factura a Irlanda en vez de España por  no elegir uno de los 4 modelos disponibles que tienen.  Esto se merece un post a lo bonilla.

Con esto y un bizcocho que empecéis una muy buena semana.

A ser felices y comer perdices!