domingo, julio 29, 2007

Cambio de Oficinas II

Lo prometido es deuda, son las 10:15 de la noche del domingo 29 de Julio del año 2007, y hemos logrado mudarnos, hasta el momento con pocas "bajas", y como lo prometí, escribo desde este post desde nuestra nueva oficina, que esta llena de cajas por todos lados, todo tirado, todo a medio hacer, pero ya estamos aquí.



La mudanza comenzó el viernes hacia las 5 de la tarde justo después de terminar el curso de Xailer que estaba impartiendo, ahí entró en acción el "equipo de demolición", integrado por mi, y por nuestros 2 mensajeros: Jose y Moisés.

El último curso:



Lo primero que hicimos fue desconectar los equipos, luego procedimos a dejar incomunicado a CiberTec, retiramos switches, ADSL, extensiones telefónicas, centralita y sistema de alarma.



Mientras Jose y Moisés desarmaban las 17 mesas que integraban nuestra oficina, yo me dediqué a retirar el cableado y las canalizaciones de los 30 m2 que medía nuestro salón de clases y de los 40 M2 del área de oficinas, luego con ayuda de Jose, procedimos a quitar el cortinaje, y a guardar toda la oficina en cajas, lo peor estaría por venir el sábado por la mañana.



Sábado, 10 am, todos listos para cargar y cargar.... si pero.... ¿ adonde vamos a poner todo ?, nuestro nuevo casero aun tiene TODOS los muebles de la oficina metidos ahí. Pues nada, tuvimos que amontonar todos los muebles viejos en lo que será nuestra sala de juntas (que cada día veo mas lejano terminarla), pero aun así no contamos con espacio suficiente para meter TODO en la nueva oficina.



El problema anterior hizo crisis, cuando Benjamín, nuestro "cableador oficial" se dio cuenta de que el electricista había hecho TODA la instalación eléctrica mal, lo cual imposibilitaba utilizar las mismas canalizaciones de la electricidad para meter el cableado de red, solución: hacer nuevas canalizaciones para el cableado, para no hacer la historia larga, ayer sábado nos marchamos a las 10 de la noche, y aun hoy no está terminado el cableado.

Nuestro vecino de enfrente se dio cuenta de nuestras desgracias y se ofreció amablemente a "prestarnos" su Internet mientras nos instalan el teléfono, así que tuvimos que tirar un cable de red desde su oficina, rodearla, pasar por el pasillo, meter el cable por el techo, y darle toda la vuelta para que llegara hasta nuestro nuevo "rack" de servidores y comunicaciones y el resto fue fácil, conectamos un switch, un access point (porque aun no se ha terminado el cableado) y ¡ hágase la WiFi !, que por cierto tiene una cobertura estupenda en toda la oficina, gracias a la inalámbrica estoy escribiendo este post ahora.

Ayer terminé muerrrrto y hoy me desperté a eso de las 10 de la mañana, llegué a la oficina hacia las 12 del mediodía y me dediqué a pintar y a montar el Rack de Servidores, una estantería muy adecuada para montar 2 servidores, una terminal, la unidad externa de respaldo y otros menesteres, recién acabo de terminar la instalación de servidores, y gracias al vecino, nuevamente estamos en línea.



Mañana será otro día, hay que abrir y sacar cajas y cajas y cajas y mas cajas, en menos espacio, y con operarios de los muros falsos trabajando, Benjamín el del cableado de red terminando su trabajo y la esperanza de que la compañía telefónica llegue a instalarnos el teléfono..... uffff, vaya semanita me espera



Seguimos sin teléfono, de momento nos puedes localizar en el (55) 5363 3998, hasta nuevo aviso, porque los números anteriores han dejado de funcionar, solo nos queda el número de Fax, quiero un teléfono ya, si alguien de ustedes tiene un conocido en Telmex, y puede hacer que me instalen el teléfono y el ADSL esta misma semana le regalo un mouse pad de Xailer y lo digo en serio.

miércoles, julio 25, 2007

Cambio de oficinas

Pues eso.... estoy ahora enfrascado en la lucha por lograr cambiarnos de oficina sin morir en el intento.

Nos cambiaremos de instalación este fin de semana, entre el día 28 y el 29 tendremos que estar ya en la nueva instalación, que no es tan grande como la que tenemos ahora, pero tendrá todo nuevo y todo con tecnología punta.

Estoy como loco tratando de trabajar en dos lugares a la vez, en la mañana superviso las obras de la nueva oficina, y hacia medio día voy a la oficina vieja a tratar de sacar mi trabajo de todos los días.

Nos dejaron la instalación vieja hecha un desastre, era una oficina que tenían 2 años sin ocupar, así que por dentro estaba hecha un asco, no tiene contrato de energía eléctrica, tuve que hacer un contrato nuevo, y dijeron: "le pondremos su medidor y le conectaremos la electricidad entre 1 y 30 días HABILES !!!!!!!" y mientras vienen a conectarnos la electricidad, y durante el tiempo que duren las obras, le estoy "robando" la luz a mi vecino de la oficina de enfrente (son su permiso por su puesto).

No tenemos teléfono y la telefónica nos ha dicho que el cambio de domicilio de los teléfonos actuales tomará entre 2 y 3 SEMANAS !!!!!, y que no nos garantizan que mantendremos los mismos números, ya les informaremos de nuestros nuevos número de teléfono en cuanto los tengamos. El no tener teléfono lleva de la mano no tener ADSL, por lo tanto, puede que en los próximos días experimentes fallas o retrasos en los servicios que prestamos sobre internet: CD de Utilidades de Fivewin, WebTilus, Objeto Persistente y los servicios de Advantage Internet Server se verán temporalmente suspendidos hasta que nos pongan internet en la nueva oficina.

Los trabajos de electricidad ya se terminaron, se instalaron 10 tomas adicionales de electricidad, tanto en el salón de clases como en nuestra nueva sala de juntas, que será el orgullo de la oficina (si alguna vez logramos terminarla)

Vamos a empezar con los muros falsos, menos mal que solo serán 3, vamos a mover 3 paredes para poder tener una pequeña cocina con café, bocadillos y refrescos para nuestros visitantes, y para las personas que asistan a nuestro cursos.

Y bueno, si no me vuelvo loco antes, porque además estoy dando un curso de Xailer, espero que el próximo post sea escrito desde nuestra nueva instalación.

domingo, julio 22, 2007

Curso de Xailer en PANAMA

De unos 2 meses a la fecha hemos detectado un incremento muy importante en la cantidad de usuarios de Xailer, varias empresas mexicanas nos han contratado para cursos particulares en sus instalaciones, el curso de Xailer de la última operación España fue de los que mas asistentes tuvieron y nosotros hemos aumentado la periodicidad de nuestros cursos programados de Xailer, hemos pasado de ofrecerlo cada 4 semanas (una vez al mes) a ofrecerlo cada 3 semanas, estamos detallando el curso de Xailer avanzado el cual esperamos tenerlo listo en poco tiempo mas.

Dado el incremento en la demanda del producto, hemos decidido salir de México para ofrecer la capacitación en Xailer a la mayor cantidad de usuarios posibles en América Latina y por ello estamos estudiando la posibilidad de ofrecer la formación en Xailer durante 5 días en PANAMA.

¿ Porqué Panamá ?, bueno, debo confesar que originalmente yo había sugerido Miami, en Florida, pero después de analizarlo detenidamente nos dimos cuenta de que muchos posibles asistentes tendrían que hacer trámites de visado, y ya sabemos como son los norteamericanos para dar una visa de visitante, para todo ponen pegas, y en caso de obtener la visa, se tardan varias semanas en entregarla. Por eso pensamos que Panamá sería una mejor opción.

A Panamá se llega fácilmente desde las principales ciudades del sur de México, Centroamérica y de la parte norte de SudAmérica, no requiere de un visado, salvo en algunas excepciones, pero obtenerlo es muy fácil, muy rápido y muy barato.

Panamá ofrece además boletos de avión muy accesibles, y el precio del hospedaje también es muy bueno, hay de todo y para todos los presupuestos, de hecho el gobierno Panameño está dando unas facilidades increíbles para visitar el país, así que por eso decidimos hacer el evento en esa bella ciudad.

Tentativamente la sede de los cursos será el Hotel Crown Plaza de la ciudad de Panamá, ellos nos facilitarán un salón, equipo de proyección y acceso inalámbrico a internet, los asistentes tendrán que llevar su propio equipo.

La duración del curso será del día 25 al 29 de Septiembre del 2007. Los días 25, 26 y 27 serán para el curso básico de Xailer, y los días 28 y 29 para el curso avanzado, puedes participar si lo deseas solo en el curso básico o solo en el curso avanzado, o en ambos. El sábado 29, si hay suficientes interesados, podemos hacer una reunión informal donde podremos hablar de los temas que mas les interesen: Programación en xHarbour, en Fivewin windows y Pocket PC, para internet, ADS, ADO, OLE, en fin, lo que los asistentes propongan.

El precio de la formación no lo hemos determinado aún, ya que necesitamos saber la cantidad de interesados que desearían participar, obviamente, entre mas personas estén interesadas, el precio se reduciría. La reunión del sábado será obviamente sin costo. De la misma manera, si hay bastantes interesados en adquirir Xailer podemos obtener un descuento en la compra de las licencias del producto.

Por motivos de aprovechamiento de todos los participantes, el cupo será limitado ya que de esta forma podemos ofrecerles una atención mas personalizada, resolver sus dudas específicas mas rápido, en pocas palabras, queremos que todo el mundo se vaya contento, con sus dudas resueltas y trabajando en Xailer, con una aplicación completa y funcional, en caso de que haya mas interesados, se programaría una nueva fecha posterior. Para la reunión del sábado no tenemos límite de asistentes, pero deberán confirmar su asistencia.

Si estás interesado en participar, enviános un correo a info@ciber-tec.com para hacerte llegar toda la información cuando tengamos confirmados precios, facilidades de hospedaje y temarios de los cursos.

Para los colegas de mas al sur, estaremos ofreciendo el mismo curso en Santiago de Chile del 8 al 12 de Octubre, espera mas información en los próximos días.

jueves, julio 19, 2007

Y luego yo soy un exagerado....

Después de haber publicado el post: Nos estamos quedando sin programadores y luego de ser tachado de "exagerado" de manera privada por algunos colegas, me encontré hoy en AveMundi, el blog de mi amigo José Luis Sanchez Navarro, un post muy interesante llamado "acerca de los programadores" el cual me llevo a otro post de Enrique Dans llamado ¿ alguien ha visto un programador ?.

Resumiendo: la crisis de la falta de programadores es global, no afecta solo al mundo XBase, afecta a todos los lenguajes de programación.

¿ Qué será lo que está pasando ?, si cada vez se venden mas computadoras ¿ para que las está utilizando la gente ?, porqué está claro, si no hay programadores, ¿ qué programas están utilizando ?, ¿ será que hemos vivido engañados y que toda la vida lo único que hemos necesitado han sido hojas de cálculo y procesadores de textos ? o será simplemente, que los programadores independientes nos hemos desmotivado y nos hemos rendido a los grandes fabricantes de software en caja, llamense SP, Aspel, Compac, Softland, etc. que no hacen software tan bonito y tan detallado como lo haríamos nosotros, pero que de una u otra forma, bien o mal le solucionan la vida al usuario sin llegar a un grado de satisfacción total.

En fin, veo que la falta de programadores nos afecta a todos, veamos que pasará en el corto plazo... mi bola de cristal me dice que hay un futuro promisorio para todos aquellos que sepan programar, pero no será mañana, ni pasado, ni el mes entrante.

miércoles, julio 18, 2007

Browse VS Browse

El título de este post viene por aquellos comics que salían en la revista MAD (los que tienen mas de 35 saben a lo que me refiero) que se llamaban Spy VS Spy, una sátira muy divertida sobre la guerra fría, donde el espía blanco se enfrentaba al espía negro y viceversa, unas veces ganaba uno, otras ganaba el otro, pero lo interesante es que siempre había uno que ganaba.

Hoy voy a hablar de los Browses de FiveWin (si, si, Fivewin, ¡ por fin !), y a tratar de clarificar un poco cual es el "mejor" browse para usar con FW.

El browseo de datos es una parte muy importante para los desarrolladores de Xbase porque prácticamente entre el 70 al 90% de la interfaz de nuestros programas son browses.

Un browse se puede utilizar para visualizar muchas cosas, siendo las mas comunes tablas de base de datos y arrays, aunque también se puede utilizar para visualizar textos.

¿ Cual es el mejor browse para FiveWin ?, antes de entrar en esta "algida" pregunta, tendremos que mirar cuales son nuestras opciones, al final daré MI VEREDICTO PARTICULAR.

TWBrowse: Es el browse "nativo" de FiveWin en un principio fue diseñado para trabajar basado en renglones, se implementa en código mediante el comando LISTBOX ... FIELDS (importante tener la clausula FIELDS, sino se pone, se asume que se quiere un control listbox nativo de Windows y no es lo que realmente necesitamos). Este control es fácil de configurar e incluye la capacidad de mostrar datos calculados en las celdas, imágenes en las mismas, en general es una forma fácil y rápida de tener un browse de base de datos, de hecho FiveWin incluye una función BROWSE(), cuyo código fuente se encuentra en \fwxx\source\function\browse.prg, que puede ser una estupenda guía para aprender a utilizar todas las características del TWBrowse . Tiene algunas desventajas, como por ejemplo que la edición por celda requiere de un ENTER antes de entrar a editar, la misma programación de la edición de los datos es un poco complicada si no sabes utilizar objetos, y no soporta "footers" ó "pies de columna".

Este es un ejemplo de la función BROWSE() de FiveWin, si te quieres ahorrar un rato en programar browses, tu mismo puedes modificar la función ya sea enviando parámetros o bien toqueteando el código fuente, yo la utilizaba para hacer depuración del programa.



Hernán Diego Cecarelli hizo sin duda una de las mejores revisiones de este browse, de hecho el famoso "browse de Hernán" es el que solíamos usar para nuestros desarrollos internos. Hernán hizo mas de 60 cambios a la clase orginal incluyendo un sistema de pintado mas rápido, usando la técnica del doble buffer, le agregó la capacidad de manejar bitmaps en cabeceras y en pies de columna, la edición por celda es muy sencilla (repito, si sabes manejar objetos todo es mas sencillo), puedes además definir tamaños de las celdas así como de las cabeceras y de los pies de columna y las barras de desplazamiento funcionan perfectamente con la rueda del ratón. Entre sus ventajas, además de todas las nuevas capacidades, podemos mencionar que si tu programa está basado en TWBrowse, el cambio al browse de Hernán no tiene complicaciones, agrega la lib a tu programa antes de las de de FW, y listo, no tienes que tocar nada mas, eso si, si quieres tener acceso a todas las mejoras de la clase, tendrás que programar todo usando objetos, ya que no hay un comando que te de acceso a todas sus características, esta aunada a un "pequeño bug" de repintado de la última linea del browse cuando tiene footers (creo que ya lo solucionaron) son sus únicas desventajas.

A continuación un ejemplo doble del browse de Hernán, el browse superior tiene bitmaps en la cabecera para indicar cual es la columna del indice, las flechas apuntado hacia abajo indican que hay ordenación por esa columna, y se puede saber cual columna tiene el indice actualmente activado; el segundo browse muestra el famoso efecto "pijama" (alternancia de colores) y muestra un footer con la sumatoria de todos los elementos de la columna, todo hecho con el browse de Hernán.



TCBrowse: es uno de los browses menos usados de FiveWin, este se parece mas al objeto TBrowse de Clipper/(x)Harbour, porque incluye la definición por columnas, es decir, cada columna se configura mediante un objeto por separado, lo único que aporta nuevo es el cambio de comando, en vez de usar LISTBOX ... FIELDS utiliza directamente el comando BROWSE, requiere además que cada columna se configure individualmente y luego se añada al browse per se, mediante el comando ADD COLUMN TO BROWSE. A favor tengo que decir que es un browse bastante versatil en su configuración, te permite definir ordenes por columnas (basados en un índice, obviamente) y ordernar automáticamente las columnas haciendo doble click sobre la cabecera (en el TWBrowse hay que programar manualmente ese comportamiento), la cabecera cambia de color para indicar sobre que criterio esta ordenada, como punto en contra tenemos que decir, que al ser una clase heredada de TWBrowse, sufre de las mismas carencias en cuanto a versatilidad para edición de celdas y no tiene footers.

La mejor modificación de esta clase está hecha por Luis Krause, en su momento Luis escribió un par de mejoras muy importantes para la clase: La edición por celdas y el manejo de footers, sumamente útiles, estas mejoras fueron copiadas posteriormente por otros browses, incluyendo el TWBrowse original de FiveWin, al cual se le añadió la edición por celdas, en vez de por renglones.

Este es un ejemplo de TCBrowse con las modificaciones de Luis, la cabecera de las columnas "ordenables" es de un color distinto al las del resto del browse, y la columna que tiene el orden activo se pinta de un fondo distinto (verde en este caso), nota al final de la pantalla que hay un "footer" activo.



TSBrowse: Es un desarrollo de Manuel Mercado, a quien perdimos de vista del mundo de FiveWin hace mucho tiempo, creo recordar que tenemos mas de 5 años sin saber nada de él. Manuel aportó al mundo de FiveWin estupendas clases como la TSButton, pero sin duda su máxima creación fue TSBrowse, usada, sin exagerar por MILES de desarrolladores de FiveWin.

Manuel se eforzó en darle la máxima versatilidad al browse, y vaya si lo logró, logró lo que nunca nadie había logrado con un browse de FiveWin: fondos degradados, (personalmente no me gustan), multilíneas en las celdas de browse, cabeceras multilínea, footer, edición por celda, y todo reescribiendo la clase desde cero, es decir, sin heredarla de ningún otro browse.

Sin duda es el mas popular de los browses que existen para FiveWin, por 2 razones: es relativamente facil de configurar y es visualmente muy atractivo, no lo nombro mi favorito por una razón muy importante: los usuarios de TSBrowse no saben que están parados sobre una bomba de tiempo.

Internamente la programación del control es complicadisima, por no decir deficiente, vamos que hay pocos valientes que se metan a meterle mano a eso y que logren hacer que vuelva a funcionar sin haberse cargado nada en el intento, no hay estándares de programación, bueno, si eso fuera lo único, entendible, pero tratar de corregir algo dentro del código fuente de eso es .... uff, complicado, en nuestra experiencia particular, hemos tenido que hacer no menos de 10 correciones al código de la clase, ya sea porque pierde los alias cuando trabaja en ventanas MDI, porque tiene incluida la rutina de búsqueda incremental que hace lo que se la da la gana y tuvimos que "inteceptarla" desde fuera para hacer que hiciera lo que nosotros necesitabamos, tuvimos que adaptarla para que funcionara con Advantage y luego optimizarla porque hace uso de un montón de llamadas innecesarias a funciones de ADS que hacen ping al servidor y que ralentizan tanto el servidor como la aplicación, Israel, Vikthor y yo somos testigos de todo lo que por lo menos nosotros le hemos tenido que meter a esa clase para hacerla funcionar de acuerdo a nuestras necesidades. Tiene además algunas clases y funciones reescritas como el Preview (tiene su propio método REPORT) que si no eres cuidadoso puede darte algún dolor de cabeza con las versiones nuevas de FW que utilizan una TRebar y TToolBar vez de los controles nativos de FW o bien con los controles nativos de FiveWin.

TSBrowse es una estupenda alternativa si quieres algo espectacular visualmente hablando, un browse te sale bien y rápido, es muy atractivo y se puede utilizar muy fácilmente, pero hay de ti donde pretendas salirte un poco de lo que hace el browse, porque a menos que sepas POO no te garantizo que puedas meterle mano tan facilmente.

Este es un pequeño ejemplo de TSBrowse, como verás puedes poner fondos, cambiar de tamaño las letras de cada celda, tener multiíneas en las celdas, vamos, visualmente muy bien, internamente muy mal:



CanalFive Grid: Todo el mundo sabe que cuando se trata de hacer las cosas visualmente atractivas, no hay quien le gane a Francisco García Fernandez, alias "Paco CanalFive", si no me creen, preguntele a Grupo SP-Sage, la intefaz de sus productos es "colada" a la de cualquier producto .NET, pero programado a punta de PRGs, obra y gracia del amo de los "efectos especiales para FiveWin" el buen Paco. Hace algunos años, en la época del FiveWin de 16 bits, Paco hizo un productito muy intersante: CanalFive Grid, un estupendo browse, visualmente IMPRESIONANTE, y para muestra un recuerdito de aquellos tiempos, pero ahora a 32 bits:



No he logrado convencer a Paco de que se enrrolle un poco mas con el tema del browse, estoy seguro que si se pone a jugar un rato podría hacer un browse "alucinante" (el CanalFive Tab, lo hizo como en 3 horas mas o menos) como los que el sabe hacer, pero supongo que de momento está metido con los nuevos controles de CanalFive, esperemos que se enrrolle y nos sorprenda un día con un browse como los que el sabe, si si si Paco, ya sé que a mi me toca una parte que tengo que hacer, que ya esta hecha....

XBrowse: Sin duda y desde mi punto de vista, es el mejor browse que existe para FiveWin, es un trabajo original de Ignacio Ortiz de Zuñiga, igual que el motor de reportes, solo que este Browse está muy bien pensado. XBrowse su aparición por primera vez como parte del FTDN de la versión 2.3 de FiveWin y posteriormente se vendía con muchas mejoras como parte de un producto de Ignacio llamado Advice32 y ahora ha sido integrado a FiveWin y corregido por Antonio Linares, pero sin duda es un trabajo bastante bastante bien hecho.

La creación del XBrowse se realizó a partir de cero, es decir, olvidate de todo lo que sepas de browse, y vuelve a "reinventar la rueda", pero bien hecho.

Si bien la presentación inicial del xBrowse puede parecerte demasiado "espartana", es decir, muy poderosa, pero muy austera, se pueden hacer cosas muy interesantes, por ejemplo Browsear un RecordSet de ADO (esta parte supongo que no la hizo Ignacio, cuando se liberó la primera version de XBrowse aún estabamos a unos cuantos metros de llegar al OLE), mezclar un bitmap con texto tanto en cuerpo como en cabecera del browse, cada columna puede tener un font distinto, edición directa de los campos que son comboboxes, "record selector" (la marca que aparece siempre del lado izquierdo del browse y que indica en que renglón estás posicionado), las celdas de multiples líneas, etc etc etc.:



Ignacio y Jose utilizaron el mismo modelo de browse que fue llevado a Xailer, corregido y aumentado, de hecho muchos de los elementos del Xbrowse de FiveWin se llaman IGUAL en TDBBrowse de Xailer, y para que veamos un pequeño ejemplo del browse de Xailer:



Ahora sabemos quien es el padre de la criatura, de hecho, si utilizas el XBrowse de FiveWin, y luego quieres desarrollar algo en Xailer te costará menos trabajo entender como funcionan los browses de Xailer porque el modelo es similar en ambos controles.

Ya se que es mucha coincidencia, y no me había puesto yo a pensar en eso, hasta que estaba escribiendo el artículo, especualando un poco, ¿ no será que el XBrowse se llama así por Xailer-Browse ?. Especulaciones mías no me hagas mucho caso, es que tengo demasiado tiempo libre ultimamente.

Resumiendo: Mi opción de Browse para FiveWin sería sin lugar a dudas el XBrowse, seguido por Browse de Hernán y en tercer lugar el TSBrowse, ahora te toca a tí decidir cual de los 3 te conviene usar.

viernes, julio 13, 2007

Curso de Xailer en Guadalajara, Mexico

No cabe duda que Xailer está comenzando a despegar y a hacer de las suyas en la comunidad de programadores de xHarbour.

Desde el mes pasado estamos programando una gira latinoamericana para dar a conocer Xailer en distintas ciudades, el mes entrante estaré en Colombia, en Septiembre en Panamá y para Octubre en Chile, como ya había comentado.

Sin embargo, no hay que desatender a nuestra patria, y el día de ayer recibí una solicitud de Hugo Navarro, un buen amigo y usuario de Xailer de la ciudad de Guadalajara, en México (hago la aclaración, porque este Guadalajara no es el único Guadalajara que existe en el mundo, aunque los tapatíos opinen lo contrario, jejeje).

Hugo está dispuesto a prestar una instalación para impartir el curso de Xailer, pero necesitamos juntar a por lo menos 5 programadores, hasta un máximo de 10 que deseen tomar el curso para poderlo impartir en Guadalajara.

La fecha sería la segunda semana del mes de Agosto, dependiendo de que tan rápido podamos juntar a la gente interesada.

Como un plus y para que se animen a participar, si son 5 asistentes, rifaremos entre ellos una licencia de Xailer Pro, si asisten por lo menos 8 personas, entonces rifaremos 2 licencias de Xailer Pro, cada una con un valor de 395.00€ (algo así como $ 6 mil pesos).

Esta invitación no solo es para los residentes de Guadalajara, si vives en alguna ciudad o estado cercano, también eres bienvenido.

Si deseas mas informes contactme por correo privado: rflores@ciber-tec.com

lunes, julio 02, 2007

Divagaciones sobre el mundo Linux.

Me ha sorprendido estos últimos días varias personas por distintos medios han hecho referencia a sobre lo que YO opino de Linux, sobre todo por el tema del desarrollo xBase.

Mi experiencia con Linux se limita un poco a manejar servidores para Internet, vamos a ser francos, del Linux no tengo ni p. idea mas que se trata de un sistema operativo super estable, de código abierto, ampliamente usado en el tema de Internet.

Sin embargo.... ¿ como veo yo el mundo de Linux desde el punto de vista de desarrollo XBase ?.

Voy a enfocar 3 casos que me han tocado la semana pasada, para darnos un poco la idea de que podría ofrecernos el mundo Linux a los desarrolladores de Clipper / xHarbour.

El primer caso es de un cliente que vende software "en caja", es decir uns software comercial, un día se dio cuenta que el futuro estaba en el cliente/servidor y decidió mover su software a una plataforma mas "economica" (porque ADS era demasiado caro para sus clientes) así pues, primero montó un servidor Windows 2003 server con MySQL, el cual decidió cambiar luego a Linux por una mala experiencia que tuvo con un hacker (en gran parte culpa de él, ¿ a quien se le ocurre dejar el MySQL abierto en internet, en el puerto por default y el usuario "root" sin password ? ). Mi amigo-cliente, contrató entonces a un experto en Linux, que le montó todo lo que según él necesitaba, MySQL bajo Linux, un servidor Web, un proxy, y un servidor de archivos, todo lo que supuesta mente se necesitaba. Sin embargo, sus programadores trabajaban con MySQL instalado en sus equipos locales, no compartían archivos usando el file server, y como no tiene IP Fija, pues ni el servidor web le servian para nada... ¿ qué era entonces el servidor ?, ¡ pues un router !, quitaron el router de hardware y usaban el servidor Linux para compartir el acceso a internet.

Después de un tiempo, vino un asesor y mi cliente / amigo le mostró que estaban trabajando en Linux, con MySQL y etc, etc, etc, a lo que el asesor le soltó una pregunta que le hizo hacer un replanteamiento total de su esquema de trabajo.... la pregunta que le hizo el asesor fué.... "todo esta muy bien, pero .... ¿ cuantos de tus clientes usan Linux ?", respuesta: NINGUNO, " y entonces... ¿ porqué estas usando Linux ?" ante argumentos tan aplastantes se olvidó del tema Linux, y regresó al Windows 2003 server, cambió de MySQL a SQL Server, simple y sencillamente porque el mercado así se lo demanda.

La semana pasada otro cliente me comentaba que quería cambiar su viejo Novell 4.1 por algo "mas moderno" porque el servidor se le había quedado muy corto, y me comentó que Novell le actualizaba a la versión 8.x por algo así como 8 mil dólares, pero, que tenía la opción de comprar Novell-Linux por algo así como 3 mil dólares y que estaba pensando muy seriamente en la opción de Novell-Linux pagando, mi pregunta fue .... y bueno, si vas a meter un Linux.... ¿ porqué pagarlo si puedes obtenerlo gratis ?, ah pues es que Novell me hace toda la instalación y el servicio de ponerlo a funcionar, ¿ y que diferencia hace que contrates a Novell contra que contrates a un experto en Linux que por mucho menos de que te va a cobrar Novell te puede hacer el trabajo ? y bueno, ya entrados en gastos, si vas a gastarte 3 mil dólares en Novell-Linux, que podrías obtener gratis, ¿porqué mejor no un Windows 2003 server, si todos tus equipos de escritorio son Windows ?, la pregunta sigue en el aire, sin respuesta aún.

Los comentarios anteriores van por el tema de Linux como servidor, que desde luego es donde mas se destaca, la verdad sea dicha, como servidor, hay poco que se pueda comparar con Linux.

Pero para el desarrollador de software, el escenario es distinto, el problema radica en los "escritorios Linux", es decir, en la cantidad de instalaciones de Linux que hay A NIVEL USUARIO, no a nivel desarrollador, no a nivel servidor, sino a nivel del usuario mortal, aquel que usa su computadora para los trabajos de todos los días y que en el caso de nosotros, desarrolladores de software, es nuestro objetivo comercialmente hablando.

Ojo, no estoy diciendo que Linux no merezca la pena, COMO SERVIDOR, como sevidor de Internet, para Correo, Web, FTP, no hay quien le gane a Linux, a nivel informática de gestión y de consumo, ah, ese ya es otro boleto.

Por probabilidad y estadística, un producto comercial tiene mas posibilidad de tener éxito en el mercado Windows porque el número de instalaciones de "escritorios Windows" supera por mucho al número de "escritorios Linux", digamos que la proporcion podría se de un 98% de Windows contra un 2% de Linux. Luego entonces y por lógica ¿ donde tienes mas oportunidad de colocar un producto comercial ?.... obvio, donde hay mas potenciales consumidores, que es en el mundo Windows, independientemente de lo maravilloso, estable y confiable que pueda ser Linux.

El mundo Linux presenta otros puntos a tomar en cuenta para el desarrollador de software: Casi todo está inventando, casi todo es Open Source, y casi todo viene con el código fuente incluido, ¿ quién puede competir contra esto ?, ¿ porqué la empresa X te pagaría por un software de gestión si hay montones de programas de gestión que pueden obtener de manera gratuita con código fuente incluido y adaptarlos para que funcionen de acuerdo a sus necesidades ? y sin gastarse un solo centavo.

Luego entonces, desde el punto de vista nuevamente del desarrollador de Clipper/Harbour ¿ merece la pena tratar de vender neveras en el polo norte ?, yo creo que no, porque para empezar, en el polo norte el frío es gratis, casi no vive nadie allí, y llegar hasta allí con la mercancía cuesta lo suyo.

Me explico: ¿ Tiene caso desarrollar un producto para Linux, tomando en cuenta que en Linux hay de todo tipo de software y gratis ?. Aun suponiendo que hagas algo que nadie haya hecho en Linux ¿ cuantos productos esperas colocar entre la comunidad reducida que usa Linux ? (si si, ya lo sé, dirán los Linuxeros que cada día son más y más, no lo pongo en duda, pero sin importar cuanta gente de mude a Linux, la gente que trabaja en Windows los supera en número y por mucho). Por otro lado, hay que tomar en cuenta que en cuanto tengas listo tu producto, no pasará ni un mes en que alguien comience un proyecto Open Source, que haga lo mismo que lo que hace tu software y que tenga listo en menos de 2 meses un producto incluso mas funcional que el tuyo y que lo esté regalando bajo el concepto Open Source; y finalmente, ¿ cuanto te costará llegar ahí ?, para empezar tienes que aprender a usar el sistema operativo, antes de pretender programar algo, porque Linux se maneja de una manera muuuuy diferente a MS-DOS o Windows, luego habrá que escoger la herramienta, en nuestro caso xHarbour, y luego, habrá que decidir que vamos a hacer, que merezca la pena, que sea productivo y que nos deje dinero, porque desgraciadamente, los seres humanos tenemos la pésima costumbre de comer todos los días.

¿ Porqué las grandes empresas de software no tienen productos para Linux ?, pues porque no hay mercado para vender software, Adobe, Corel, el mismo Microsoft podrían hacer software para Linux (si Microsoft hace software para Macintosh, ¿ porqué no para Linux?, si la gente paga... pues hay que ir a buscarlos), ¿ porqué no lo hacen ?, pues porque hay software que hace lo mismo que sus productos, y encima gratis, por ejemplo Open Office.

Para el desarrollador otro problema que se presenta es la distribución del software, cada distribución de Linux, aunque utiliza el mismo "núcleo" aporta alguna funcionalidad adicional, no es lo mismo trabajar con Ubuntu, que con Suse, que con RedHat, cada uno aporta alguna característica que no es soportada por otros, por lo mismo, mucho del software tiene que ser compilado en el equipo donde se va a ejecutar, ese fue el gran problema con el Kylix (Delphi para Linux), que para obtener una aplicación había que compilarla en el equipo donde iba a correr, ¿ qué pasón con Kylix ?, ah, pues no había un mercado de interés por parte de desarrolladores de Delphi en el entorno Linux, Borland abandonó Kylix, y lo dejó morir.

Digan lo que digan los defensores de Linux (en general estos son personas que no son el grueso de los usuarios, son gurús), Linux no es para la mayoría de la población, instalar un Linux es complicado, por mucho que alguna distribución te diga que "lo tiene todo con solo apretar un botón", siempre queda el "ajuste fino" que no lo puede hacer cualquiera, ya sea un driver que se quedó pendiente de instalar, o algún otro "detallito" que no contempló la distribución original, alguna vez supe de un cliente que tuvo que bajar y compilar EL CODIGO FUENTE de un driver de tarjeta de vídeo para hacer funcionar su Linux, y no me salgan con que eso lo puede hacer una secretaría, aunque debo admitir que hay secretarias bastante inteligentes, por lo menos la mia puede instalar una impresora sin mucha complicación, pero de ahí a compilar un driver completo en "C".... tela.

Desde mi punto de vista, la única forma de que un desarrollador Clipper/Harbour tenga éxito en el tema de Linux, es que tengas un pedido de algo muy especifico y que quien te haya hecho el requerimiento esté dispuesto a pagar por ello, de otra forma en mundo de Linux puede volverse complicado, monetariamente hablando.

Desde mi punto de vista el escritorio Linux, como aplicación de consumo no será una realidad mientras haya un Sistema Operativo Windows, el día que Windows desaparezca, ese día habrá futuro para el escritorio Linux, antes no.