Entrevista: Juan Miguel Taboada. CODENERIX

Juan Miguel Taboada, informático y hombre de negocios, nos presentará CODENERIX, software de desarrollo acelerado de ERPs con Python/Django creado íntegramente en Málaga:

¿Podrías presentarte brevemente? ¿A qué te dedicas y cuáles son tus aficiones?

Juan Miguel Taboada

Soy Juanmi Taboada, informático de vocación, curioso y siempre involucrado en proyectos con fines sociales y sin ánimo de lucro. Siempre me he sentido como el Henry Ford de la informática, me gustaría que todas las personas pudieran disfrutar de la tecnología como hago yo y que pudieran disponer del software en la medida que ellos quisieran. La mayoría de empresas que conocemos no disponen de un software de gestión adecuado a sus necesidades y muchas de ellas no saben que existen alternativas más baratas y libres.

Generalmente doy charlas de diferentes temáticas porque creo que es viable la existencia de una comunidad local (Málaga) que crece y se retroalimenta de los conocimientos de la misma, creo en un grupo de empresas Malagueñas con la capacidad tecnológica suficiente para arrastrar al resto de empresas locales a un punto de tecnología suficiente para competir en el mercado actual internacional. Creo en empresas y profesionales cualificados capaces de desarrollar productos que compitan con los más grandes.

Soy fiel creyente en la filosofía DRY (Don’t Repeat Yourself), en que todo esfuerzo tiene su recompensa, creo en el efecto mariposa y sin dudas también creo en el Software Libre.

¿De qué hablarás exactamente en tu charla? ¿Por qué ese tema?

En la charla hablaré de CODENERIX. La razón es que este software es relativamente nuevo dentro del mundo del Software Libre, es un software que hemos diseñado en Centrologic, que lo hemos usado durante varios años y que ha sido desarrollado aquí, en Málaga. Hace unos meses fue liberado y confiamos en que es un gran aporte a la comunidad de desarrolladores de Django. Creemos plenamente en las ventajas de este software y por ello nos gustaría que otros programadores pudieran disfrutar igual que ya lo hacemos nosotros.

¿Qué quieres conseguir al dar esta charla? ¿Qué esperas?

Que unos pocos programadores se animen a probarlo y comiencen a disfrutar de las ventajas que este software aporta a los desarrollos de aplicaciones web de gestión, ERPs, CRMs, etc…

¿Con qué tres palabras definirías CODENERIX?

Django con esteróides

¿Cuál es la historia de CODENERIX?

CODENERIX nació en el año 2010 como fruto de un desarrollo realizado para una empresa con cobertura nacional en el mundo de la prensa. Originalmente el software sólo cubría la gestión de datos y el renderizado en el lado del servidor y no soportaba entornos responsive. En el año 2013 decidimos apostar por AngularJS y Bootstrap, este fue el punto de inflexión de CODENERIX porque durante ese año nos daríamos cuenta de que realmente lo que teníamos era un sistema que aceleraba nuestros desarrollos en Django.

Durante el presente año 2017 se ha publicado todo el código del KERNEL de CODENERIX y se ha puesto a disposición de la comunidad, además también durante este año se ha desarrollado toda su documentación con recursos propios de Centrologic. En los próximos días además publicaremos el resto de módulos que permitirá entre otras cosas la gestión de tiendas online, gestión de productos, sistemas de transporte y pagos online, en resumen una amplia batería de software que facilita el desarrollo de cualquier programador Django.

¿Cómo evolucionó desde su primeros desarrollos? ¿Tenías ya en mente construir un framework desde el principio?

El software pasó por varias etapas en las que fue mutando hasta convertirse en lo que es hoy en día:

  • 2010 – django-genlist: nace la idea básica del software. Objetivo: realizar un sistema de listados dinámicos (listas genéricas de Django) autogestionado y fácil de implementar por los programadores. Esto fue así dado que el panel de administración de Django no llegaba a las necesidades que tenía entonces para mis clientes y por lo tanto de algún modo decidí desarrollar mi propio sistema de gestión. Debo indicar que todo el renderizado ocurría en el lado del servidor.
  • 2011-2012 – django-genlist: optimización en el sistema de generación de listas y migración a las últimas versiones de Django, creación del sistema de ordenación y paginación. Migración a las últimas versiones de Django y creación del sistema de filtros.
  • 2013-2015 – Generix: se cambia el nombre a Generix y se comienza el desarrollo con Bootstrap y AngularJS, se incorporan multitud de herramientas extras para los formularios, se añade autovalidación en el lado del cliente y se crean los listados dinámicos. Es en este ciclo cuando prácticamente se incorpora un 70% de la tecnología que hoy dispone el proyecto.
  • 2016 – CODENERIX: se cambia el nombre a CODENERIX y se incorpora un sistema de gestión de paquetes, se crea un sistema de licencias y protección del código, se consiguen hacer entregables en librerías .so de Linux con ventajas en velocidad de cómputo añadida gracias a la compilación en C. La versión no compilada se encuentra libre de licencias y las técnicas de compilación no hemos previsto que sean publicadas.
  • 2017 – CODENERIX: creación de la documentación del KERNEL y publicación como proyecto libre y puesta a disposición de la comunidad de desarrolladores.

¿Qué significa el nombre o por qué lo elegiste?

El nombre original era “GENERIX” pero vimos que era una palabra que tenía un significado demasiados usos online y podría confundir, así que pronto nuestra compañera nos hizo que ver que teníamos entre CODigo geNERIX. El nombre de origen ocurrió automáticamente dado que nuestro software ya usaba clases genéricas de Django desde que aparecieron en las primeras versiones que lo incorporaban, fue fácil decidirnos.

¿Cuáles son tus planes para el framework a largo plazo?

A largo plazo me gustaría que el front-end fuese más “personalizable” con la adicción de clases para permitir generar templates diferentes. Nosotros por lo pronto estamos centrados en la incorporación de más módulos.

¿Qué retos y lecciones has aprendido durante su desarrollo? ¿Cuál fue el mayor reto o el hito que recuerdas especialmente?

Durante su desarrollo, el mayor hito fue rediseñar todo el front-end para adaptarnos a AngularJS, no obstante recuerdo que recientemente nos enfrentamos al mayor de los retos….decidir si liberábamos o no el código.

Durante el desarrollo de CODENERIX hemos aprendido diferentes paradigmas de programación inexistentes hasta la fecha y que nos han permitido implementar nuevas técnicas de programación que nos permiten entre otras cosas que algunas de nuestras aplicaciones se “autoprogramen” ellas solas. Sabrás que hablamos de este aprendizaje cuando nos escuches hablar del problema “depa”, de los “puentes” y otras palabrejas que usamos en el día a día.

¿Cómo pueden ayudar aquellos que estén interesados en aportar su granito de arena?

Nuestra mayor carencia a día de hoy es la documentación. Centrologic ha dedicado bastantes recursos propios para generar la documentación del núcleo, pero opino que aún falta bastante por documentar. En cualquier caso, la mayor ayuda ahora mismo es comenzar a usarlo en tus desarrollos.

¿Cuál es tu editor o entorno de programación favorito?

vim, aunque me llevo bien con cualquier editor que funcione bien en consola, no obstante vim ocupa el lugar más importante en mi caja de herramientas.

¿Y tu gestor de ventanas o entorno de escritorio?

Gnome, hace muchos años usaba KDE, WindowMaker o Enlightenment, pero me quedo con Gnome porque funciona, no da problemas y va rápido. No quiero complicaciones ya que el entorno gráfico es el interfaz por el que diariamente veo webs y llego al terminal (lugar donde me siento como en casa). ^_^

¿Y tu lenguaje de programación favorito? Después de Python 😀

Mi lenguaje de programación favorito (antes de Python) es ANSI C, Python aunque es el lenguaje que uso día a día pero disfruto como un crío programando en C.

¿Qué proyecto de software libre que no sea muy conocido y consideres especialmente útil recomendarías?

Me quedaría con DIFFY (es de Twitter https://github.com/twitter/diffy )

¿Cuál es tu proyecto de software libre favorito?

Sin duda Python Kohans ( https://github.com/gregmalcolm/python_koans ), me gusta la idea de aprender desarrollando.

¿Desde cuando conoces el software libre y cuál fue tu primera experiencia con él?

Conozco el software libre desde el año 1999 cuando empecé la carrera y comencé mi andadura en la Asociación Linux Málaga (entonces probé Redhat Linux), de ahí en adelante y party tras party conseguí compilar mi primer Kernel….esas partys en las que aprendimos a montar servidores de correo, ftp, firewalls y mil cosas más….esos años de cuando jugábamos a Quake en consola con el plugin modo texto ( https://www.youtube.com/watch?v=zQaKv2eYOuo ) y el mod del “gancho”.

¿Cuál es tu principal motivación cuando aportas al software libre?

Compartir. En mis múltiples desarrollos que finalmente he liberado siempre me ha movido la misma cosa: “tengo algo tan bueno y con lo que estoy tan contento que ¿por qué no lo comparto para que otros también disfruten de estas ventajas?”. Al fin y al cabo el 100% de los trabajos que hacemos en Centrologic tienen como punto de partida el Software Libre, siempre es buen momento para devolver parte de este esfuerzo a la comunidad de desarrolladores.

¿Cómo crees que es la mejor manera para empezar a aportar al software libre?

No me cabe duda, la mejor manera de empezar a aportar al software libre es unirse a un proyecto que te apasione y tomarlo como tuyo, entonces descubrirás que la comunidad de desarrolladores que te rodea son en parte tus amigos y que compartes mucho más que sólo unas líneas de código. No puedo negar que en las asociaciones que he estado (Málaga Wireless y Linux Málaga) antes todo ha primado el compañerismo, el buen hacer, el compartir y tratar de conquistar objetivos comunes.

¿Qué tal fue tu experiencia en la edición anterior de la conferencia OpenSouthCode?

Dado que colaboré activamente con la organización, me resultó muy gratificante andar por los pasillos ayudando a la gente, preparando la organización, asistiendo a las charlas y volviendo a ver a viejos amigos. Este año la OpenSouthCode trae un montón de sorpresas y la organización ha mejorado bastante, espero que el equipo podamos dar una experiencia mejor aún que la del año pasado. Estamos todos convencidos de que será un éxito.

 

¡Gracias de nuevo Juan Miguel por tu participación y colaboración! ¡Seguimos calentando motores para la edición OpenSouthCode 2017!

Leave a Reply

Your email address will not be published. Required fields are marked *