fichero FPT estropeado

Ayer publiqué esto en news://news.xharbour.org

Hello:
First of all my apologies to post this message here, but I’m desperated and I don’t know another site where would exist someone able to help me. Second, apologies for my English.

I’ve developed a program to manage recipes. I use two memo fields, one for the ingredients and the other for the explanation of how to make the recipe. The program is written with Clipper 5.3 + Comix 3.0. I’m migrating this program to xHarbour.

I use functions from Brian Erickson & Ken Sutcliffe – public domain – to make a backup to floppy disks. This routines always have worked fine … until a week ago. One user had a problem: he can’t restore the previous backup, and this occurs after he formated his HD. He is a writter of cooking books and has more than 6000 recipes stored with the program. It’s very important for me to recovery this recipes. The restore function success with restoring the file but I can´t open the recipes file anyhow. If I try to read it with DBX or WinDbu I receive this message:

Error COMIX/8201 read error

I’ve also tried use this recipes file with the xHarbour version of the program, and when I try to open and create indexes with xHarbour version I receive this message

hb_xgrab can’t allocate memory

I’ve also tried to recovery the file with dSavage without achieve it.

I’ll pay to anybody who success with recovery this files. If anybody is interested please send me an e-mail to joseluis@alanit.com for details.

Regards,
José Luis Sánchez

Va en serio. El tema está muy complicado.

phpcollab

A raiz del post sobre bugtracker instalé FlySpray siguiendo la recomendación de Abel. Funciona muy bien y permite hacer un seguimiento sencillo de bugs, pero se hecha en falta algunas cosas como un mayor control del estado en que queda el error.

Después en el trabajo estuve buscando una herramienta de gestión de proyectos y encontré PhpCollab, que es una aplicación web opensource de gestión de proyectos. Permite gestionar proyectos, asignando tareas al personal participante, crear un foro de debate para cada proyecto y almacenar la documentación del mismo. Además permite crear webs de cada proyecto con una versión para el cliente del mismo y a través de la cual podemos recibir las peticiones de soporte. Recomendable al 100%. También se integra con Mantis, aunque esto no lo he probado todavía, pero creo que va a ser una combinación ganadora.

traducciones de libros

Una de las cosas que más que queman es ver como libros que considero imprescindibles no se traducen a castellano. Vas a una librería y todo son libros de Windows, de Visual noseque y similares. Sin embargo hay montones de libros fundamentales, que han contribuido a cambiar el rumbo de la informática que sólo los puedes leer en inglés. El ejemplo más clamoroso es quizás The mythical man-month, que estoy convencido de que es el libro más citado en la historia del software. Creo que todos, o casi todos, los libros sobre software que tengo en casa lo citan.

El caso es que estaba pensando si habría gente interesada en realizar traducciones compartidas de libros que estén sin traducir. Yo tengo bastantes libros que he comprado en inglés y que se me hacen eternos de leer porque mi pitinglis deja bastante que desear. Creo que no es nada ilegal traducirte un libro que tienes y compartir tu trozo de traducción con otras personas que también tengan el libro. El tema sería coger un libro, ver cuantos estamos interesados en traducirlo y repartirnoslo. De momento mis 2 primeras propuestas serían:

Advierto de que no estoy dispuesto a facilitarle a nadie el libro. Quien esté interesado en participar en esto deberá tener su libro original y que todo quedaría entre los participantes. Asi que los interesados contactar conmigo por e-mail.

back to xharbour

En un comentario al post anterior, Carles pregunta por mi ida y vuelta a xHarbour. Cuando comenté que iba a tomar el camino de C3 hubo quien dijo ‘volverás‘ y eso es lo que ha pasado. Lo que pasa es que el tema es bastante complejo de explicar y ante todo no quisiera que nadie se molestara con esto. El motivo no es ninguna deficiencia de C3 ni nada por el estilo, sino basicamente causada por dos motivos:

  1. El paso a C3 fue para usar toda una jerarquía de clases de mantenimientos montada sobre TDBF. El resultado fue que avancé muy rápido en el desarrollo hasta que tuve un problema serio que no supe solucionar y que no sabía donde estaba, si en la jerarquia de clases, en TDBF o en C3. Digamos que el Puchero se convirtió en una aplicación montada casi completamente sobre librerias de terceros que no yo no llegaba a controlar bien. Era pilotar algo que no sabes a donde te lleva, asi que decidí dar marcha atrás. No aprendo de mis propios post. El problema es que me perdí en código que no era mio, supongo que porque soy bastante torpe programando.
  2. La chistera de Antonio Linares. Lo ha vuelto a hacer. Creo que FiveLinux es la mejor noticia aparecida en el mundillo xBase en los últimos meses. Sinceramente pienso que el avance del software libre va a ser imparable en el terreno educativo en los proximos meses. Extremadura con Linex, Andalucia con Guadalinux, Valencia con Lliurex… y unas declaraciones de ZP la semana detrás de las elecciones que decían algo así como que se debe avanzar en el camino abierto por Extremadura y Andalucia. Si Linux se impone en la educación tiene medio pie dentro de los hogares. Y Antonio ha vuelto a dar el golpe con FiveLinux. Ya tengo bajado Fedora y quiero comenzar a trastear y en cuanto lo controle un poco compraré FiveLinux y a ver que sale de ahí.

Igual estoy equivocado y dentro de dos meses estoy de vuelta a C3, pero lo veo dificil. La pregunta es: ¿ que estoy dispuesto a aprender por las noches en casa ? La respuesta: Linux, Glade, Gtk y FiveLinux.

Por cierto, acabo de desvelar el significado de alanit.

Full Single Document Interface

Desde mi punto de vista el interfaz de múltiples documentos o MDI no es adecuado para todos los tipos de aplicaciones. Creo que únicamente tiene sentido aplicarlo cuando todos los documentos van a ser objetos o entidades del mismo tipo, como en un procesador de texto o en una hoja de cálculo. En estos casos puede ser interesante tener abiertos al mismo tiempo multiples documentos para copiar – pegar entre ellos o simplemente para compararlos.

Un aspecto fundamental de los entornos MDI es que todos los objetos responden a las mismas acciones. Si nos fijamos en un procesador de textos, hay una sóla barra de botones y todos los documentos que estamos editando se pueden manejar con las mismas acciones.

el problema

En el software de gestión o doméstico hay que llevar mucho cuidado con la implementación de interfaces MDI. Para entendernos: un albarán no tiene nada que ver con una factura, no son objetos del mismo tipo. Muchos programas de gestión implementan interfaz MDI de manera erronea, añadiendo una barra de botones con acciones propias para cada tipo de documento, con lo que estamos desvituando el modelo MDI. Las propias guias de diseño de aplicaciones Windows de Microsoft dicen que se debe evitar el uso de barras de botones en ventanas secundarias. Desde mi punto de vista, este tipo de software debería implementar MDI únicamente si permiese mostrar unicamente una ventana de documento al mismo tiempo.

mi propuesta de solución

Mi idea de interfaz, el modelo que estoy buscando, consiste en una ventana o dialogo ocupando la zona de cliente de la ventana principal de la aplicación. Partiendo de estos principios he creado en Fivewin un modelo de interfaz a medio camino entre MDI y SDI que he llamado FSDI – full single document interface – y que presenta el siguiente aspecto:

FSDI está basado en un dialogo que ocupa toda la parte cliente de la ventana principal. Las ventajas que presenta este modelo son las sigueintes:

  • Interfaz de ventana completa.
  • Tratamiento de ficheros como en dialogos.
  • Interfaz completo con barra de botones lateral, título de la ventana, rejilla de datos, tabs para cambiar de índices e indicación de los registros de la rejilla de datos.

pero también tiene problemas:

  • Al tratarse de un dialogo, la ventana principal queda deshabilitada hasta cerrar el dialogo.
  • No presenta botón de menú de control en la ventana secundaria.
  • Al llamar a otro dialogo crea una nueva tarea en la barra de tareas.

código fuente de FSDI

Puedes descargar el código fuente de la clase FSDI, que incluye un ejemplo de uso. Este fichero también incluye las modificaciones de la barra de botones y tabs que uso en mis programas.

Me gustaría recibir feedback sobre este modelo de interfaz que propongo y me comprometo a publicar las propuestas que reciba.

de jardinería y barandillas

Interesante el cruce de post entre Torek y Juan Navarro comparando el desarrollo de software con la jardinería. La verdad es que había oido muchas comparaciones, algunas de ellas tremendas, pero esto es nuevo … y acertado. Yo realmente no concibo el desarrollo de software como lo hacen las metodologías tradicionales, sino mucho más de acuerdo a las metodologías ágiles, como la Programación Extrema.

Sin embargo hay una frase de uno de los post de Hector – asi lo llamaba en mi clase 🙂 – que me ha llamado la atención:

El problema es que los informáticos no tenemos métodos para saber si un usuario se va a caer por un balcón de antemano. Tenemos que observar al usuario como se cae por el balcón para luego cambiar la altura de la barandilla.

Pues claro que los tenemos. Si dejas abierto un agujero en tu programa sin barandilla el primer usuario se asoma, el segundo pone el pie en el borde y el tercero se cae. Fijo. Y si la pones alta pero dejas un agujero alguien intentará pasar el cuerpo por ahí.

En la útima versión de Cuaderno de Bitácora, el programa permite que en algunos listados determinados campos se impriman en varias lineas. Para ello busca blancos para cortar el campo por palabras, para no hacerlo a cuchillo. Pues a un señor le cascaba cuando imprimia su listado de libros. ¿? Miré el código y todo bien. Pero el señor decia que le explotaba aquello. Al final le dije que me enviara su fichero de libros. Habia metido noseque libro que tenía un título más largo que un dia sin pan todo seguido, al estilo de:

ElQuijote:vidaymil.deling.hid….

cortaba las palabras con . pero no dejaba ni un blanco de separación. Lo último que podía pensar era que alguien llenaría todo el campo sin un solo blanco de separación.

¿ Barandillas ? ¡ Rejas tendríamos que poner ! 😉

help & manual 2.7

En la revista de febrero de PcPlus viene completa la versión 2.7 de Help&Manual, un conocido software de creación de ayudas. La versión actual de H&M es la 3.4, y vale 299$ así que creo que con la 2.7 me voy a apañar una temporada.

La incognita que me planteo es … ¿ que tipo de licencia tiene un software que acompaña a una revista ? Me respondo yo mismo: ninguna. Y, si alguien que no compró la revista me lo pide ¿ se lo puedo dar tranquilamente ?

buscando un bugtracker

Estoy buscando información sobre software de gestión de bugs o bug tracker. Estuve mirando BugZilla, pero no me convenció. Necesito algo más sencillo de gestionar y utilizar. Mirando en Sourceforge he conocido Mantis, que parece tener buena pinta y estar cerca de lo que quiero. Voy a instalarlo en mi servidor web, pero me gustaría saber si algún lector de avemundi lo ha probado y que tal ha sido el resultado.

FiveLinux

¡ Buenas noticias !

La posibilidad de programar en entorno Linux está más cerca para los seguidores de lenguajes Xbase. Fivetech Software ha mostrado esta semanas las primeras imágenes de FiveLinux, que utiliza las librerias GTK+ y va a correr tanto en Gnome como KDE.

Me ha hecho gracia leer estas palabras de Antonio Linares: GTK+ recomienda Glade para realizar los diseños de cajas de diálogo visualmente, como si de un Resources WorkShop se tratase. Glade es gratuito, igual que GTK+. Glade utiliza un formato ascii para almacenar los diseños, por lo que es
factible el hacer un conversor de RCs a Glade y viceversa facilmente.

Los mas viejos lectores de avemundi recordarán que Glade fue el motivo de mi primer post en mi anterior blog, software*, hace ya casi 2 años.

alanit
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.