company


LaretasGeek AMA

Los compañeros de LaretasGeek (https://twitter.com/laretasgeek) están llevando a cabo una iniciativa de entrevistas en cadena “AMA” (Ask Me Anything) en la que el entrevistado de cada semana escoge a un invitado y lo entrevista la semana siguiente.

En esta cadena de entrevistas, Eloy Coto de Red Hat escogió entrevistarme a mí, y esta fue la entrevista:

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

Una semana después, yo escogí entrevistar a Antón Román, CTO de Quobis, y nos quedó otra entrevista muy chula:

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


CentOS, alternativa libre a Red Hat Enterprise Linux

Logo de CentOS

En cuanto a las distribuciones de Linux siempre he sido un talibán de Debian, pero hay aplicaciones propietarias que requieren de ciertas distribuciones de Linux para poderse instalar sin problemas, y casi siempre suelen ser compatibles con Red Hat Enterprise Linux (RHEL).

Pues bien, para estos casos tenemos CentOS, que es una distribución de Linux totalmente compatible con RHEL. Sigue las mismas versiones que Red Hat, así una Centos 4.7 es como una RHEL 4.7 y los paquetes son los mismos, idénticos en versiones, y además tenemos actualizaciones gratis de por vida (para Red Hat hay que pagar la subscripción a Red Hat Network). También es muy fácil habiendo instalado un RedHat poner los repositorios de CentOS y convertirlo a un CentOS.

Como es de suponer, CentOS tiene muchos de los defectos de RHEL, como que para actualizar de la versión 4 a la 5 te recomiendan reinstalar desde cero. Yo administré servidores Debian en los que durante muchos años siempre estábamos en la última versión estable sin tener nunca que reinstalar… No obstante se añaden algunas mejoras en unos repositorios separados (CentOS Plus), que permiten por ejemplo tener los PHP 5 en una RHEL 4.x, cuando los repositorios “oficiales” de Red Hat proporcionan sólo PHP 4.

Y por supuesto que, añorando mis Debian, me he instalado el apt para RPM’s, que es una herramienta mucho mejor que el up2date o el yum.


Códigos QR

qr_vcard

Los códigos QR son una especie de códigos de barras bidimensionales que se están haciendo tremendamente populares. Su nombre viene de Quick Response, ya que su diseño permite que sea fácilmente leído, por ejemplo, con las cámaras de los teléfonos móviles.

Su ventaja sobre los códigos de barras tradicionales es que pueden almacenar mucha más información, hasta 4296 caracteres alfanuméricos, lo que abre un nuevo campo de aplicaciones.

Tiene algunos competidores como el Datamatrix (con menos capacidad y sin soporte de caracteres japoneses), pero el QR, que se distingue fácilmente por las tres marcas de posición en las esquinas, parece ser el que finamlente tendrá más éxito. En España, como somos diferentes, Telefónica se ha creado su propio estándar, el bidi, lo que me hace recordar la máxima “Los estándares son buenos, ¡tódos deberíamos tener nuestro propio estándar!”.

A mi parecer (y aunque hay muchas más), las dos mayores utilidades de estos códigos son:

  • Codificar URLs para no tener que teclearlas en los teléfonos móviles: se apunta la cámara del móvil, se captura el código y se abre la página web. Sobre todo para publicidad e insertarlos en vallas o medios impresos, aunque hay algunos Freaks que los ponen hasta en camisetas.
  • Imprimirlos en los reversos de las tarjetas de visita codificando los datos de contacto en formato VCard: se  captura el código con el móvil y se añade el contacto a la agenda (sirva como ejemplo la imagen que acompaña a esta entrada).

Muchos móviles (como los Nokia) ya traen de serie un lector QR, pero sin duda es mejor el Kaywa Reader, que es capaz de leer los QR mucho más rápido.

Lo bueno del QR es que su patente no es ejercida, y es muy fácil encontrar aplicaciones para generarlos online, como en Nokia Mobilecodes, e incluso librerías Java como ZXing.

Para más información:


Kettle, la navaja suíza de la ETL

Kettle¿ETqué? Sí, eso es lo que pensamos todos cuando escuchamos esto. ETL son las iniciales de Extract, Transform an Load, esto es, coger datos desde una fuente, transformarlos y volcarlos a otro soporte. ¿Y en qué consiste esto?, pues por ejemplo en coger los datos de un fichero Excel y cargarlos en un MySQL ¿aún pensáis que nunca habéis utilizado la ETL?

En muchos proyectos hay que realizar ETL, pero normalmente no tan sencillas como el ejemplo anterior, sino que debemos combinar datos de varias bases de datos, adaptarlos, mezclarlos y volcarlos a otra base de datos, interconectando distintas aplicaciones en la empresa, como por ejemplo pasando la lista de clientes de un CRM a un sistema de gestión de incidencias de forma periódica, etc.

Como “buenos” programadores, lo primero que se nos ocurre es tirarnos a picar código en nuestro lenguaje de programación  favorito que haga estas integraciones de datos… si, yo también lo hice, aunque Frive ya me enseñara el Kettle en los maravillosos años de Shylex… El problema es que programarlo es muy propenso a errores y a la larga también más costoso en tiempo.

Con el Kettle, disponemos de una herramienta que nos permite definir estas transformaciones de forma gráfica, interconectando bloques que tienen diversas funciones. Es tremendamente versátil, ya que tenemos bloques que nos permiten leer y escribir de cualquier base de datos, fichero Excel o CVS, Access, etc. y otros que nos permiten operar con los campos renombrando, normalizando, calculando campos en función de otros, mapeando valores, realizando buśquedas auxiliares en bases de datos, normalizando/desnomalizando los datos de distintas filas en una sóla, etc, etc. Las transformaciones que se hacen con el Kettle se guardan en un fichero ktr que luego puede ser ejecutado desde línea de comandos o un fichero batch.

Ahora mismo o lo estoy usando para pasar datos de un sistema de contabilidad y una aplicación de control de producción a un ERP, y de momento no me he encontrado nada que no se pueda hacer con el Kettle, eso sí, hay un bloque que permite ejecutar código javascript dentro de las transformaciones y que estoy utilizando extensamente…

En fin, aprender a utilizar el Kettle lleva un par de días, pero a la larga ahorra mucho más trabajo, así que, una vez más hay que pensar un poco las cosas antes de tirarse al monte a picar código :D.


¿Cómo montar un sistema de mensajería instantánea corporativa?

Asterisk

La mensajería instantánea (IM en adelante) es uno de los mayores destructores de la productividad de la gente que trabajamos delante de un ordenador, y aunque algunas empreas utilizan de forma corporativa el Messenger o el Skype, la gente tiene a sus contactos personales que le generan continuas interrupciones. Lo que sí tiene mucha utilidad a la hora de comunicarse entre empleados es montar un servidor de IM corporativo, es decir, en el que sólo está conectada la gente de la propia empresa y que sólo se puedan comunicar entre ellos.

Para esto, la primera opción que se me ocurre es Jabber, utilizando Openfire como servidor y un cliente como Pigdin (el antiguo Gaim), pero ya puestos, y con vistas de futuro ¿por qué no montarlo sobre SIP con un Asterisk como servidor, utilizando softphones con gestión de presencia como clientes (como por ejemplo el OpenWengo)?. En principio los pros y los contras que veo yo son los siguientes

A favor de Jabber:

  • El protocolo de Jabber (XMPP) es más sencillo a la hora de traspasar los firewalls que SIP
  • Los clientes SIP que he probado no permiten el envío de ficheros entre contactos
  • Lo escogió Google para el Talk

A favor de SIP:

  • Es un estándard
  • No encuentro un cliente Jabber opensource y multiplataforma con soporte de voz, con lo cual si además de texto se quiere utilizar voz, SIP me parece la mejor opción
  • Se puede integrar con un despliegue de telefonía IP en la empresa, y también con los móviles de empresa, ya que muchos Nokias con WiFi (E65, p. ej.) traen integrado VoIP SIP.
  • Se podría conectar el Asterisk a la red telefónica para desde el softphone se puedan realizar llamadas a cualquier teléfono.

Parece ser que el tema de la mensajería instantánea y la VoIP tiende a converger, pero por el momento, a mí lo que más me convence es la opción de SIP. Se agradecen sugerencias y comentarios….


Me paso a la construcción @Castelo

Castelo

Cuando empecé a hacer la casa comentaba medio en serio medio en broma que era mejor dedicarse al sector de la construcción… pues ahora ya estoy de pleno en este sector, y es que acabo de comenzar a trabajar en una empresa del grupo Castelo de prefabricados de hormigón, eso sí, de informático, pero en la construcción de todas formas.

El reto inicial es completar la implementación de JD Edwards Enterpise One, un CRM/ERP de Oracle (el que PeopleSoft compró a la empresa JD Edwards y quedó integrado dentro de Oracle cuando PeopleSoft fue adquirida por ésta, y que ahora Oracle integrará en su próximo Oracle Fusion). Como aplicación es tremendamente potente y versátil, pero se encuentra con el mismo problema que todos los ERPs, la adaptación a la empresa… y a eso me dedicaré…


SIMO 2007

SIMO

Este año estaré en el SIMO 2007 el miércoles, jueves y viernes en el stand de Quobis. Los que se acerquen por IFEMA y quieran localizarnos es muy fácil, estaremos en el pabellón 4, detrás del estand de Panda internet – SecurityInfo

Llevamos a la feria un arsenal de productos de VoIP, desde soluciones click2call hasta telefonos móviles híbridos VoIP, videoteléfonos, centralitas, sistemas de señalización y también soluciones en otras líneas de negocio como streamming, set top box, etc.

Lo dicho, que si os paśais por allí venid a hacernos una visita, intentaremos venderos algo, y si no lo conseguimos, al menos disfrutaremos de nuestra mutua compañía.


Aplicaciones opensource de ayuda a las funciones empresariales

En las distintas funciones empresariales hay una serie de aplicaciones de codigo libre (Opensource) que pueden facilitar tremendamente a la organización de las tareas:

Función Financiera

Lo que se suele necesitar en es un programa de facturación y contabilidad. Para PYMES tenemos el AbanQ, que es el antiguo Facturalux, y para empresas más grandes se suelen utilizar soluciones integradas dentro de los ERPs, como OpenXpertya o OpenBravo.

Función de Marketing

Lo que se suele necesitar es una gestión de los clientes y de los comerciales, así como de las ventas que hace cada comercial, planificación de visitas/llamadas, oportunidades de venta, etc. Esto se suele hacer con un CRM, que como su nombre dice (Customer Relationship Management) es una aplicación que nos sirve para gestionar nuestra relación con los clientes. De entre todos los CRMs OpenSource, yo personalmente prefiero el SugarCRM, aunque también se puede utilizar los CRMs integrados dentro de los ERPs.

Otro aspecto muy importante en la relación con el cliente es la gestión de incidencias relacionadas a los productos que vende nuestra empresa. Para ello se suelen utilizar sistemas TTS (Trouble Ticketing Systems), en los cuales se introducen las incidencias como Tickets, que son asignados a personas o equipos de trabajo que se encargan de resolverlos. El sistema de TTS OpenSource que más me gusta es el OTRS, que está implementado en PHP/MySQL.

Función de Recursos Humanos

La gestión de los empleados se suele hacer dentro del CRM de la empresa, pero para la gestión de las relaciones laborales suele ser util tener una aplicación de groupware que nos gestione el calendario, los contactos, el correo, etc.. como E-Groupware o TikiWiki.

Función de Producción

El software que puede ayudar en este área depende mucho del tipo de empresa. Para las empresas de producción de bienes de toda la vida, se suele necesitar un ERP convencional para la gestión de compras, ventas, línea de producción, etc. como por ejemplo OpenXpertya o OpenBravo.

Para las empresas que se dedican a la programación, una solución que considero muy buena es el GForge, que es como un SourceForge pero de código libre. Éste nos permite organizar nuestros proyectos y programadadores, integrando CVS, gestión de releases, documentación, planificación, foros, bugs, etc.