Category: Sin categoría


Esta es una solución que me ha permitido continuar con mi día.

Como a otros, los drivers de ATI pueden dar algun contratiempo, y no pasa que el servidor X deja de responder. Usando Ubuntu 13.10 tuve que recurrir a estos pasos que recomiendo…

Conviertanse es root

sudo -s

Primero trata de deshacer los comandos que te trajeron a esta situación

dpkg –purge fglrx fglrx_* fglrx-amdcccle*

o

dpkg –purge fglrx fglrx-amdcccle fglrx-dev fglrx-updates

Insiste, si alguno no quiso hacerte caso :p

Elimina el xorg.conf

rm /etc/X11/xorg.conf

 

Ahora reinstalamos el server X

apt-get  install –reinstall xserver-xorg-core xserver-xorg-video-ati xserver-xorg-video-intel  libgl1-mesa-glx libgl1-mesa-dri  libgl1-mesa-glx:i386 libgl1-mesa-dri:i386

Reconfiguramos

dpkg-reconfigure xserver-xorg xserver-xorg-corexserver-xorg-videoxserver-xorg-video-all xserver-xorg-video-radeon xserver-xorg-video-intel xserver-xorg-video-vmware

(vean ustedes que es lo que desean agregar)

Y ha rebootear

reboot

Ha sucedido que levando el server X muy bien, y al pedirme la clave de usuario se bloqueaba y me volví a pedir la clave una y otra vez; por lo que la solución es:

rm ~/.Xauthority

 

Db4o-logo.gifDespués de mucho tiempo, he podido dar con un proyecto donde esta herramienta a dado muy buenos resultados.

Estoy hablando de DB4O,  un motor de bases de objetos. o sistema de administracion de bases orientada a objetos. La idea de es eliminar el problema de impedancia, que se genera entre el paradigma de objetos y el relacional.

Un gráfico nos permitirá entender rápidamente. EL dibujo de la izquierda muestra como los objetos que pueden llegar a ser complejos, deben mapearse a una RDBMS o Sistema de Administración de Base de Datos Relacional entre las distintas tablas de la misma, muchas veces con el cuidado que se merece la normalización de ellas, el diagrama E/R, la escritura de las sentencias SQL, etc.

En el dibujo de la derecha, parece demasiado simple para ser verdad. Pero es así. Simplemente guardamos nuestros objetos Java (también esta para .NET) desde un Entidad que persistirá nuestros objetos.

Su uso mas extendido es en la modalidad embebida, pero se puede trabajar en modo Cliente-Servidor.

En el caso particular, que debí resolver, recurrí a una solución muy simple del tipo Lote (BATCH, desde la consola se ejecutaba o desde Eclipse mismo). La  Secretaria de Hacienda Nación ofrece un sistema llamado UEPEX, para las Unidades Ejecutoras de Prestamos Externos (generalmente dolares estadounidenses). Con el cual lleve adelante tres implementaciones que generan 3 libros mayores en Excel.

 Si bien es Excel, debemos pensar que son hoja de cálculo para imprimir como reportes, asi que hay logos, títulos y demas. Con un simple BOT en  java, se rastrea cada hoja de cálculo, analiza cada linea, y de ahí cada Celda, tomando solo las que indican un movimiento contable. Cada registro Impacto Contable es en realidad un objeto (la clase se llama así), se persiste el objeto en una base única y se lleva a cabo un proceso de consolidación, todo sobre DB4O (todo porque no tengo acceso SQL, obvio, así que era la única posibilidad)

Entonces, sin ORM, sin Stored, sin SQL, sin Tablas, sin nada mas que JAVA y el JAR de DB4O. Termine generando un reporte en HTML que me permita jugar con estilos y demás antes de generar un PDF.

Todo esto, luego fue sometido a una prueba para un aproximado millón de objetos, que terminó generando un archivo de 300 MB en solo 180 segundos. ¿Parece rápido? Pues sí.
Hay que tener en cuenta que hablamos de un montón de operaciones para con ese millón de objetos, manejar los ZIP, rastear, indexar, ordenar, consolidar, sumarizar, etc. Pero si solo instanciasn en un FOR un millón de objetos de una clase simple de dos o tres atributos y a cada uno lo van persistiendo (nada de jugar con perfomace), podrán comprobar que dependiendo de su hardware y JAVA, la operación en segundos va de 75 a 90.

Otro de los aspectos interesantes, es la posibilidad de combinar las soluciones con un enfoque de Inteligencia de Negocios, a través de BIRT. Realmente, con solo jugar con scripts (javascript) podemos generar reportes en HTML, Planilla de Cálculo y en PDF.