Participando en el programa Enredando de EuskaDigital – Swapping

A raíz de mi estancia en Ecuador había dejado de lado el podcast de Enredando, hasta entonces había estado al día pero como en Ecuador no tenía mucho tiempo para salir a dar mi caminata diaria y yo suelo escuchar el podcast en esos momentos pues llevaba un retraso importante. Ahora mientras me ponía al día escuché un episodio en el que hablaban de Swapping y me llamaron la atención algunas de las cosas que se dijeron como por ejemplo que ya no es necesaria una partición Swap, así  que decidí grabar un audio y enviárselo a los chicos de Enredando. Hoy me han confirmado que el próximo viernes lo emiten en la sección de Software Libre.

Aunque ya son varias las veces que he participado me sigue haciendo la misma ilusión escucharme en la radio que la primera vez que colaboré con ellos :).

 

 

Espero que os guste.

Haciendo pruebas con Android

Me he puesto a ratos a mirar de hacer algunas pruebas con el API de Android, para no olvidarme he decidido hacer algunos vídeos explicativos, aquí van los dos primeros.

 

https://www.youtube.com/watch?v=lsH0jv63-pw

 

https://www.youtube.com/watch?v=9i4VXEsf6bw

 

Cheli

Así se debe circular por las rotondas

Ayer mismo tuve un pequeño altercado por culpa de que nadie respeta los carriles en las rotondas, entré por el carril exterior que estaba libre mientras a lo lejos se acercaba un coche por el carril interior y en el momento en el que yo ya estaba dentro de la rotonda, por mi carril, pretendía salir de su carril interior chocando conmigo y salir de la rotonda, ¿su actitud? pitarme, lo cual hizo que perdiera los nervios. Veamos como se debe circular por una glorieta o rotonda correctamente según la DGT.

 

Así se debe circular en las glorietas

 

Un saludo.

Trabajando en Planeta Huerto

Hace ya un mes que trabajo en Planeta Huerto y este es el balance de la experiencia hasta ahora.

Planeta Huerto es un sistema de comercio electrónico alicantino de venta de productos de jardinería, ecológicos y bricolaje aunque a día de hoy venden muchas otras cosas. A mi me han contratado con el objetivo de mejorar los procesos internos de gestión, lo cual nos ha llevado a un rediseño del actual backoffice. Lo interesante del proyecto para mi es:

 

  • La empresa es muy joven, Planeta Huerto como tal acaba de cumplir 3 años y por lo tanto aún tiene mucho recorrido. Hay bastantes cosas por hacer y muchas de ellas son muy interesantes.
  • La empresa es muy joven, y ahora me refiero a los empleados. La media de edad posiblemente esté por debajo de los 30 años, aunque yo ya los he pasado hace algún tiempo jejejeje.
  • Los dueños tienen muy claro cual es su hoja de ruta y la enfocan claramente en el crecimiento y la mejora constante de su servicio.
  • Poco después de llegar yo abrieron la web de Portugal así que podríamos decir que ya es una empresa internacional.
  • El software está desarrollado en PHP y utiliza el framework Yii. Hacía mucho tiempo que no programaba en php y además no había utilizado este framework, de momento me ha gustado bastante además de ser muy sencillo de aprender y utilizar.
  • Estoy aprendiendo cosas. No había trabajado en una implantación tan grande de comercio electrónico con lo que no había analizado y pensado en ciertos problemas que hay que resolver para que todo funcione adecuadamente (mejorar el proceso de venta, posicionamiento, escalabilidad, etc). Aprender cosas nuevas siempre es enriquecedor.
  • Me hacen bastante caso, en ese sentido se dejan aconsejar aunque al final la última palabra la tiene el jefe jejejeje.
  • Utilizan la metodología Kanban. No es que sea mi metodología preferida pero se trabaja bien con ella, me siento cómodo.

 

De momento lo dejo aquí, ya os iré contando como me va. Si tenéis alguna pregunta sobre como está montado Planeta Huerto la podéis hacer en los comentarios y siempre que no sea algo comprometedor intentaré contestaros.

 

Cheli

Corregir «SIGSEGV» del Eclipse que viene en el Android Bundle

¿Qué podemos hacer cuando se produce este error?:

 

#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x00007fada5b66718, pid=5708, tid=140384133080832
#
# JRE version: OpenJDK Runtime Environment (7.0_55-b14) (build 1.7.0_55-b14)
# Java VM: OpenJDK 64-Bit Server VM (24.51-b03 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C [libgobject-2.0.so.0+0x19718] g_object_get_qdata+0x18
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try «ulimit -c unlimited» before starting Java again
#
# An error report file with more information is saved as:
# /home/cheli/adt-bundle-linux-x86_64-20140702/eclipse/hs_err_pid5708.log
Compiled method (nm) 103325 1324 n org.eclipse.swt.internal.gtk.OS::_g_object_get_qdata (native)
total in heap [0x00007fadb0394a90,0x00007fadb0394e10] = 896
relocation [0x00007fadb0394bb0,0x00007fadb0394c10] = 96
main code [0x00007fadb0394c20,0x00007fadb0394e10] = 496
#
# If you would like to submit a bug report, please include
# instructions on how to reproduce the bug and visit:
# http://icedtea.classpath.org/bugzilla
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

Un Core Dump es un volcado de la pila para trazar el fallo que se ha producido, en el siguiente vídeo comento que aunque falla al escribir el core dump ya podemos deducir con los datos que nos da que el error realmente está en la librería gtk 2 y es consecuencia de un bug en el oxigen-gtk theme. Para solucionar el problema podemos cambiar el tema y listo.

 

https://www.youtube.com/watch?v=_mzxwqVCuBs

 

Cheli

Openbravo ERP vs Odoo, Actualizaciones

Estaba viendo los vídeos de las Jornadas de Odoo (Antiguo OpenERP) en Granada y en algún momento tocaron el tema de las actualizaciones, lo cual me ha recordado que tenía este punto pendiente en la comparativa entre Openbravo vs OpenERP 2014.

 

A día de hoy hay una diferencia fundamental en cuanto actualizaciones entre estos dos sistemas, Openbravo desde la versión 3.0 utiliza una especie de rolling release y Odoo sigue sacando una versión completamente nueva y disruptiva respecto a la anterior más o menos cada año y medio. En Openbravo la situación era similar a la de Odoo hasta la versión 3.0 pero a partir de ahí armaron una buena base y decidieron que en lugar de planificar grandes cambios a medio o largo plazo iban a ir mejorando paulatinamente esta versión y empezaron a sacar una nueva revisión cada mes con corrección de errores y si se daba el caso con algunas nuevas funcionalidades. Digo empezaron porque desde el segundo trimestre de este año ha cambiado la política y, aunque sigue siendo de rolling release,  han decidido actualizar el mapa de ruta y ahora las publicaciones pasan a ser trimestrales.

En Odoo hasta donde yo se no ha cambiado sustancialmente el proceso de actualización. Saben que tienen un problema porque tener versiones completamente diferentes y en las que se rediseña y reescribe parte del código de módulos enteros crea graves problemas de compatibilidad ya que rompe mucho del código propio que escriben los implantadores. Una de las soluciones propuestas es OCA, ¿y qué es OCA? es una asociación para que los proyectos de la comunidad estén por una parte mejor integrados con el núcleo del producto y por otra parte para repartir los esfuerzo tanto económicos como de talento entre los diferentes socios interesados, con esto consiguen convertir módulos que inicialmente serían propios de un implantador en semioficiales y como consecuencias tanto su diseño como código estarían auspiciados por la propia Odoo y soportados en el proceso de actualización. Como veis en realidad no solventa el problema, lo suaviza un poco.

 

Vayamos a la parte técnica, Openbravo utiliza una librería llamada dbsourcemanager que consigue manejar los cambios en cuanto a diccionario y estructura de la base de datos, y la realidad es que a día de hoy esta herramienta funciona realmente bien. Si una actualización está bien diseñada y testeada el proceso de actualización es prácticamente transparente y de hecho nosotros siempre tenemos a todos nuestros clientes actualizados a la última versión sin grandes problemas.

En cuanto a Odoo, el diseño y estructura de la base de datos se maneja a través del ORM, esto significa que si cambiamos el modelo siempre lo tendremos que hacer mediante el ORM. La consecuencia es que no puedes aplicar la nueva estructura de la base de datos mediante este proceso cuando hay muchos cambios porque se empieza a romper todo, primero porque los módulos empiezan a ser incompatibles con el núcleo del sistema, segundo porque el ORM no es muy fino en como realizar esta actualización sin romper entre otras cosas la integridad referencial, etc. Lo que propone entonces Odoo es que contrates un servicio que consiste en que le envías tu base de datos, le dices de que versión a que versión quieres actualizar y ellos te migran la base de datos. Una vez tienes la nueva base de datos la tienes que probar y si encuentras errores vuelves a enviar repitiendo el proceso de forma iterativa hasta que la nueva base está depurada. Al parecer ya funciona también una herramienta de la comunidad que realiza la misma función, pero siempre tiene que tener mucho cuidado con los módulos no oficiales ya que para estos no suelen existir los scripts.

 

A parte del problema técnico tenemos otro problema que es el cambio y adaptación funcional al nuevo sistema. En Openbravo no hay trauma, como he dicho ellos utilizan la base de la 3.0 y la han ido mejorando con lo que no han habido grandes cambios funcionales y los que hay no requieren un gran esfuerzo en cuanto a formación para adaptarse. En cuanto a Odoo si lo ha habido, empezando porque por ejemplo en la versión 7.0 desapareció el cliente de escritorio y únicamente podías utilizar el web o que el cliente web se ha reescrito varias veces. La buena noticia es que desde la versión 6.1 el cliente web aunque ha sufrido bastantes cambios no han sido tan drásticos como los anteriores. Otra cosa que ha pasado es que han refactorizado algunos módulos y rediseñado otros a nivel funcional con la consecuencia que muchas cosas funcionan de forma completamente diferente o que para acceder a una opción seguramente ahora esté en otro sitio diferente. Desde mi punto de vista Odoo en este sentido ha metido bastante la pata y sigue sin haber una solución definitiva ya que su proceso de desarrollo al parecer va a seguir siendo el mismo.

 

En resumen, en cuanto a este apartado desde mi punto de vista Openbravo ERP lo tiene bastante mejor solventado que Odoo, ahora falta esperar como evoluciona OCA, que va a aportar realmente a este proceso y qué va a hacer Odoo a partir de la versión 8.0, si va a empezar a estabilizar el sistema base o va a seguir con sus ciclos tan agresivos de lanzar nuevas versiones disruptivas respecto a la anterior.

 

Cheli