sobre objeto persistente

Uno de los blogs que leo habitualmente es Objeto Persistente, de mi amigo el troesma René Flores. René es uno de los grandes gurús de los lenguajes Xbase, colaborador habitual de los distintos foros de xharbour y de FivewinHarbour y Xailer. Tiene unos conocimientos enciclopédicos sobre Xbase desde los tiempos de Nantucket, que ya es decir, y sus contestaciones llegan casi al nivel de clase magistral sobre el tema. Tuve la suerte de conocerle personalmente en una reunión de Olivares2000 y es una personal que habla por los codos. Pero lo que me remató fue oirle la traducción simultanea al inglés que le hacía a Patrick Mast de las ponencias de la reunión.

Hay un par de post suyos recientes que me han llamado la atención. Uno es programar con Visual Basic es obsoleto donde le hace un repaso a las versiones de VB y expone que programando con Xbase y sus GUI tiene mejor tecnología que con VB. En el otro, divagaciones sobre el mundo linux da su visión acerca de linux, y expone el motivo por el que no hay aplicaciones empresariales para linux.

No es cuestión de ir punto por punto refutando lo que dice René, pero creo que se equivoca. No se si VB es obsoleto, pero si tengo claro que xHarbour no es un lenguaje innovador. La comunidad de desarrolladores de xHarbour, que es un lenguaje open source, ha hecho un trabajo impresionante en los ultimos años para modernizar el lenguaje, pero todavía le queda tela para ponerse al nivel de Java, Python o C# por poner ejemplos. xHarbour ha clonado los modelos de objetos de estos lenguajes, pero ni tenemos espacios de nombres, ni pruebas unitarias, ni patrones ni servicios web, ni otras características de los lenguajes modernos. Es cierto que tenemos GUI con IDE que si están a la altura de lo que hay por ahí, pero creo el mundo xbase ahora mismo copia de otros lenguajes, y no al revés.

Y sobre Linux… pues creo que hace falta ir cambiando el chip. Ahora mismo es Windows quien copia de otros entornos, y no al revés, lo que nos hace darnos una idea que quien va por delante de quien. Cuando dije que quería comprarme un iMac recuerdo que alguien me dijo si pensaba pasarme al otro lado. Ahora que estoy en los dos lados, me doy cuenta de que la luz está precisamente al otro lado, y que en Windows vemos las sombras de lo que hay en el lado de la luz. Recuerdo que fue precisamente René quien llevaba en su portatitl Windows un dock como el de OS X. Windows anda perdiendo terreno entre los desarrolladores, tal como publicaba hace poco InfoWorld. Casi todas las empresas que conozco que hacen desarrollo para la web usan Linux u OS X, y cada dia más gente se plantea dar el salto con los problemas que están teniendo con Vista. Mis CD de Ubuntu ya han pasado por varias manos y seguro que pasarán por mas.

el fester de novelda

Estos meses he estado haciendo la web de la Junta Central de Moros y Cristianos de Novelda. Surgió como un favor a uno de mis mejores amigos que es el Vicepresidente de la Junta y lo he pasado muy bien haciendo la web. Me metí en el lio porque contaba con el apoyo de Manolo Boyer para todo el tema del grafismo. Manolo Boyer es un diseñador gráfico de Novelda que lleva hechos muchos Betanias, que es la revista de fiestas de Novelda, y es un gran profesional. Si quereis ver la web y conocer la Fiesta de Moros y Cristianos de Novelda, su historia, comparsas, actos festeros, premios a las filás, no dejeis de visitar el fester de Novelda.

Una foto mia con mi amigo José Luis Amorós, el Cano, origen y responsable último de este trabajo. Cano es Beduino, dela filà Xicots, y yo soy Negre Betànic, de la filà Viidones, la filà que más premios Arcadi Blasco ha conseguido.

programar en OS X

Desde que tengo mi iMac estoy mirando por la web la manera de hacer software para OS X. Cuando se habla de programación para este entorno lo primero que surge es Xcode, el entorno de desarrollo de Apple específico para OS X. El entorno completo viene incluido en la licencia de OS X, y hay un montón de información en la web de Apple sobre el paquete. Además se puede encontrar mucha información en otras web. A nivel de iniciación, yo estoy siguiendo dos tutoriales para novatos: Become an Xcoder y Xcode quick tour guide. Programar con Objective-C da un poco de respeto, pero hay que hacerse la idea de al menos conocer la herramienta.

La segunda opción de herramienta de desarrollo que estoy valorando es REALbasic. Se trata de un entorno de desarrollo multiplataforma – Windows, Linux, OS X – basado en una extensión de Basic. Es una herramienta comercial, con una completa documentación y unos foros de soporte bastante moviditos. La versión estandar, que es la básica, trabaja con una base de datos derivada de SQlite y hay disponible una clase para trabajar con archivos DBF lo cual me puede venir muy bien a la hora de incorporar datos de mis programas.

Una tercera opción que quiero evaluar es Python con wxWidgets. Ahora mismo estoy buscando información sobre este entorno de desarrollo, pero lo que he visto me gusta.

De Xcode tengo claro que tengo que aprender un poco, al menos para ver de que va. Entre REALbasic y Python/wxWidgets me gusta del primero que parece un entorno estable y cuenta con respaldo empresarial, del segundo que es open source. Los inconvenientes que veo a cada uno son los derivados del tipo de licencia. REALbasic es de pago y libera versiones cada 3 meses, lo cual no me gusta pues empaquetan cada vez el producto tal cual está, y no se trazan objetivos para cada versión. De Python/wxWidgets no me gusta la dispersión inherente al open source y el tener que ir rebuscando para ver si encuentras una funcionalidad y una documentación adecuada.

mi amigo invisible

Corren tiempos difíciles para los programadores que usamos FWH. Hace sólo un par de años, en mis contactos de messenger había una docena de FWH’ers. Ahora los contactos siguen estando ahi, pero ausentes.

Sin embargo, tengo un amigo invisible escondido por ahí. No suele postear en los foros, ni tiene página web, ni nada de nada. Está ahí, escondido en el messenger, sin hacer ruido y de pronto dice Hola José Luis y coimenzamos a chatear. Mi amigo invisible es un gran programador, conoce muy bien FWH y tiene un montón de clases modificadas, algunas de ellas realmente espectaculares. Hace poco publiqué un mensaje en el foro de FWH preguntando por las cebeceras de xbrowse con temas. A los pocos dias mi amigo invisible me abordó en el messenger y me dijo como tenía que modificar la clase para conseguir lo que quería. Después de varios intentos y varias noches más de messenger… voilà

Realmente espectacular.

Es curioso, sólo lo he visto una vez a mi amigo invisible. Fue en la reunión de Olivares2000 en el año 2005. La verdad es que no hablamos mucho, pero desde entonces poco a poco hemos tenido mayor relación, y me alegro mucho cada vez que lo veo por messenger. Si lo volviera a ver, no desperdiciaría la oportunidad de conocerlo un poco mejor.

un switcher mas

Hace dos semanas que tengo un iMac, y lo único que puedo decir es que estoy realmente contento tanto con la máquina como con OS X. Creo que es un ordenador excelente, tanto para uso personal como profesional, y animo a cualquiera que esté pensando en comprarse un Mac a dar el salto. Yo tengo el modelo de 17» que es más que suficiente para el uso que le voy a dar, aunque parece que lo van a descatalogar pronto y el modelo básico va a ser el de 20».

Como ordenador es realmente excepcional. Es tener un sobremesa sin el engorro de la torre, ocupando lo mismo que un portátil pero sin el engorro del teclado del portátil. La máquina es bonita, con un diseño excelente, el teclado y el ratón tienen un acabado y un tacto muy buenos. La rueda del mighty mouse es algo digno de un cum laude en ergonomía y el monitor tiene una resolución muy buena. Además es completamente silencioso, no se oye ni disco duro ni ventiladores ni nada de nada. Trabajar por la noche con él es increible, pues no se oye nada salvo el ruido del teclado. La resolución del monitor es de 1440*900 y al principio se nota raro, acostumbrado a una resolución de 4*3. Sin embargo esto tiene su razón de ser. En OS X cuando se maximiza una ventana, no ocupa todo el escritorio, sino que el sistema hace una estimación del tamaño de ventana óptimo para que quepa todo lo que la ventana ha de mostrar, así que es habitual trabajar con varias ventanas abiertas que no se superponen. Este moni
tor está hecho para trabajar de esta manera, y en cuanto te habituas es muy cómodo.

En cuanto a OS X, creo que hay que perder el miedo a cambiar de sistema operativo. Haces lo mismo que con Windows, sólo que de otra manera, y muchas veces de una manera más sencilla. En cuanto te acostumbras un poquito tienes el sistema medio controlado y no echas nada de menos, ni siquiera el click derecho del ratón. Hay un montón de software gratuito para OS X, alguno realmente bueno y poco a poco iré contando los paquetes que uso. Como pasa con todos los productos de Apple, la historia de este sistema operativo esta llena de anécdotas, y en WikiPedia hay un excelente artículo al respecto.

Para los más reticentes a dar el salto por aquello del sistema operativo, se puede usar Windows en un Mac sin problemas. En la propia web de Apple se puede descargar Boot Camp que es un paquete gratuito que permite instalar Windows en un Mac particionando el disco e instalando un arranque dual.

De momento voy a seguir haciendo software para Windows, pero mi intención es desarrollar para Mac.

srr – sistema rapido de recuperación

La semana pasada mi portatil me jugó una mala pasada. La FAT del disco duro de la partición de Windows quedó hacha trizas y no hubo manera de recuperarla con la consola de recuperación ni con nada. Tuve que reinstalar el sistema operativo, y luego reinstalé el software que uso habitualmente.

Tengo por costumbre hacer copias de seguridad al menos una vez a la semana de todos mis archivos de datos a un disco duro externo. Para esto uso en SyncBackup que es una auténtica joya de programa.

También tengo por costumbre mantener en una carpeta una copia de los ficheros de instalación del software que uso más habitualmente: compiladores, editores, navegadores, cliente de correo, cortafuegos, antivirus, etc. Además de los ficheros de instalación guardo en ficheros de texto los números de serie o licencia de los programas que necesitan. De todo esto también hago copias de seguridad periódicas.

Con todo esto restaurar por completo un PC es cuestión de poco tiempo. Lo que mas tiempo consume son las descargas de las actualizaciones de XP, pues instalar el software de uso habitual es cosa de minutos. Hay que ser disciplinado y guardar copias de todo lo que instalas, pero de esta manera no tienes ni que acordarte de que tienes que instalar ni preocuparte en buscarlo y descargarlo y en buscar en el correo los números de licencia. Al precio que están los discos duros, vale la pena dedicar un poco de espacio para perder el mínimo de tiempo en caso de tener que reinstalar el sistema.

findemes 1.00 beta 1

Tal como anuncié en mi anterior post, publico la primera beta de Findemes. Findemes es un programa de contabilidad personal, no es un programa de gestión de cuentas bancarias. La versión 1.00 de Findemes realiza la siguientes funciones:

  • Gestión de ejercicios, para poder separar la contabilidad por años.
  • Gestión de actividades dentro de cada ejercicio, de manera que podamos llevar la contabilidad de varias actividades con o sin gestión de IVA, y realizar filtrados de los apuntes de cada una de ellas.
  • Gestión de apuntes de ingresos y gastos, especificando para cada uno de ellos la actividad, concepto, importe y fecha, pagador/perceptor del ingreso/gasto, tipo de ingreso o gasto.
  • Gráficos de ingresos y gastos.
  • Gestión de pagadores de ingresos.
  • Gestión de tipos de ingresos, para separarlos por categorías.
  • Gestión de perceptores de gastos.
  • Gestión de tipos de gastos, para separarlos por categorías.

Una de las cosas que mas ha costado decidir en el programa ha sido la denominación pagador/perceptor. En una contabilidad empresarial serían los clientes/proveedores, pero que en una contabilidad personal no tiene sentido llamarlos así. Después de muchas vueltas he usado pagador como la persona/empresa de la que recibimos dinero y perceptor como la persona/empresa a la que realizamos pagos.

Si alguno de los lectores/comentaristas habituales del blog que habeis mostrado interés en el programa quereis una edición completa del programa enviarme un e-mail y os la mando sin problemas. Para descargar la beta hacer click en el pantallazo.

descargar findemes 1.00 beta 1

presentando findemes

Findemes es mi nuevo programa que estará en breve en fase beta disponible para probar. Se trata de un programa de contabilidad personal que permite controlar los ingresos y gastos que tengamos. El programa es multiactividad, podemos tener ingresos y gastos de varias actividades y filtrarlos a conveniencia. A cada ingreso le asigna un pagador y una categoría de ingreso, y a cada gasto un perceptor y una categoria de gasto. No es un programa de gestión de cuentas bancarias, ni tan siquiera contempla esta posibilidad, sino que se trata de saber de que y de quien provienen nuestros ingresos y en que y con quien nos gastamos el dinero.

Cuenta también con un módulo de gráficos, realizado con la estupenda clase de gráficos de Alfredo Arteaga para FWH y que me ha resultado muy sencilla de utilizar. Es la primera vez que incluyo gráficos en mis programas y con esta clase ha sido realmente sencillo de hacer, y sin necesidad de usar DLL externas ni nada de nada.

La primera versión de Findemes será una versión básica. Mi intención es ir añadiendo más funcionalidades rapidamente, como los ingresos y gastos periódicos y alguna cosilla más. En una semana o dos tendré lista la primera beta para descargar. Por cierto ¿ os gusta el nombre del programa ?

canalfive vitaminado

Desde mis inicios programando con Fivewin y después con FivewinHarbour, uno de los componentes principales de mis programas han sido los controles de CanalFive. El primero que use fue su grid, luego sus folders y su calendario, todos en 16 bits. Con estos controles conseguía una usabilidad y potencia en mis programas que no conseguía con FW. Los controles de Canalfive llegaban donde no llegaba Fivewin. Rebuscando en el archivo de este blog he encontrado un post donde hablaba de los folders de Canalfive y la mejora de interfaz que supuso para mi tenerlos a mano.

Despues de unos años de hacer como el Guadiana, aparecer y desaparecer, Canafive retomó la realización de controles con sus taskboxes y poco a poco ha ido realizando más controles.

Hasta ahora Canalfive tenía un sólo desarrollador, que es mi amigo Paco. Conocí a Paco hace unos 12 años en el trabajo, de hecho conocerle es lo mejor que me ha pasado en mi trabajo, y enseguida hicimos una gran amistad. Es un tio fenomenal, de los que son mejor persona que programador y eso es tela pues programa que se las pela. Pero ahora ha unido fuerzas a dos de los mejores programadores Xbase que existen en el mundo mundial que son Oscar Lira y Victor Manuel Tomás – listo el pollo !! -. Están creando nuevos controles, pero ya no sólo para FivewinHabour, sino también para Xailer y VisualXharbour. ¿ Como hacen que un control funcione en los tres entornos ? Ni idea, pero aqui entra en juego una de las máximas de Paco: tan importante como saber, es saber quien sabe. Y estos tres saben mucho.

Pasen y vean la nueva web de Canalfive.

PD. Mientras escribía este post en el fin de semana, he visto que René ha escrito un post similar donde pone imágenes de los controles de Canalfive.

dos enlaces sobre software libre

Uno de los temas recurrentes para cualquier programador es el software libre. Seas partidario o detractor del mismo, lo cierto es que el software libre ha cambiado por completo el panorama, no sólo del mundo de la programación, sino de la informática en general. Para ello os invito a leer estos dos post:

  • Sobre software libre y las nuevas oportunidades de encontrar trabajo, de Martín Pérez. Una de las controversias sobre el software libre es si perjudica o no a los que nos dedicamos profesionalmente a ello, y en estos posts Martín plantea como aprovechar el movimiento de software libre para mejorar nuestras perspectivas profesionales.
  • La metamorfosis linuxera, de Mercè Molins. El post plantea el cambio de mentalidad que se produce en el usuario de software libre cuando vuelve los ojos atrás y mira lo que pasa en el mundo del software propietario. Además del post en si mismo, que es muy bueno, me ha gustado mucho una contestación que hace la autora a uno de los comentarios y que es una respuesta a una de las preguntas habituales en el debate: cobro por escribir, pero tú no pagas por leerme. Esta es la filosofía que hay detrás de muchas de las empresas que hacen software libre: no repercutir los costes de desarrollo en el usuario final sino buscar otros medios de financiación. ¿ Esta esto al alcance de cualquiera ? Buena pregunta.