Latest Entries »

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.

 

DataNucleus16-300.jpgSi buscamos una estrategia de administración de la información, una forma unificada de encarar el desafío de persistir datos, DataNucleus es una de las alternativas a considerar.

Es un proyecto libre, open source, con licencia Apache. Derivado de JPOX (o simplemente renombrado) proporciona las herramientas para trabajar con APIs como JDO (2, 2.1 u 2.2 ), JPA (1 y 2), REST y contra motores de servidores de bases de datos relacionales (RDBMS), de objetos (DB4O), XML, soluciones de Cloud Computing (Amazon, Google, etc), OpenOffice, Excel, JSON, HBase, LDAP, etc. También hay casos con MongoDB

Los lenguajes son JDOQL, JPQL, SQL, db4o Native, NeoDatis Native, NeoDatis Criteria…. y requiere JRE 1.5 o superior

Entre los usos actuales, destaca ser la capa para las soluciones Google App Engine  en Java, o JFire (un ERP libre), por sobre estos casos.

Obviamente se conjuga con nuestro querido Eclipse del que ya hemos hablado y seguiremos haciéndolo.

La arquitectura es simple y muy clara

 

Debo reconocer que en parte doy con esta solución o mejor dicho me inclino por ella, por el buen soporte. Como saben, estoy usando DB4O, como base de objetos y esta muy bien documentada la opción

Eclipse y PHP

Gracias a nuestro aclamado Eclipse PDT, el desarrollo de PHP, nunca fue tan facil.

Si bien, gracias a symfony y al autocompletado, se hace todo muy intuitivo. Con Eclipse podemos hacernos nuestros propios atajos de codigo.

Menu  > Window > Preferences > PHP  > Templates

Nos ofrecera la posibilidad de editar los existentes o de crear uno nuevo. Le damos a NEW y debemos tener algo asi:

Eclipse Indigo

Ya tenemos entre nosotros la nueva versión de Eclipse este entorno de desarrollo integrado o ambiente-herramienta-comunidad (ya no tengo en claro que más puede llegar a ser). Me refiero a Eclipse Indigo (v3.7).

Ya habíamos hablado de Eclipse. Si bien la anterior versión ya era destacable, esta nueva versión, avanza en lo que respecta a modelado introduciendo AcceleoAgent Modeling PlatformModeling Amalgamation, CDO.

Otro aspecto a celebrar es en el campo del trabajo colaborativo, EGit 1.0 es provisto para una mejor integración con el sistema de versionado Git. Jubula ofrece una interfaz para efectuar testing tanro para Java como HTML. WindowBuilder, fue una donación de Google para Eclipse y ahora se puede contar con un excelente diseñador gráfico de Interfaz de Usuario (GUI). Xtext 2.0 permite crear facilmente domain specific languages.

Eclipse Modeling Framework también es referenciado como EMF. Es un importante proyecto dentro del universo Eclipse, que proporciona un marco de trabajo, herramientas y por sobretodo metodología para el modelado de objetos y generación de código que acelera el desarrollo de aplicaciones.
Si bien parece algo respecto solo a UML, va mas allá. La documentación es extensa. Ofreciendo diversos beneficios como conectividad de datos, validación, consulta, transacciones, persistencias, etc


Eclipse

Eclipse es un entorno de desarrollo integrado de código abierto multiplataforma para el desarrollo de sistemas y tecnologías. Muy conocido por los desarrolladores y programadores (software libre y código abierto) de lenguajes como JavaCC++,AdaCOBOLPerlPHPPythonRuby (Ruby on Rails ), Scala,ClojureScheme, etc. La lista puede serguir.

Pero no solo es un entorno, también es una plataforma en sí misma, es decir que puedes pensar en desarrollar toda tu ecosistema de software sobre utilizando como base Eclipse mismo. Esta construido sobre Equinox (una implementación OSGi). Sus objetivos pueden ser muy variados

  • Aplicaciones de Cliente Enriquecido.
  • OSGi
  • Web
  • Desarrollo de Aplicaciones para celulares y tablets.
  • Modelado
  • Análisis
  • Testing

El título puede ser medio largo, pero es eso sin mas rodeos. Crear un Pendrive para bootear distintos Sistemas Operativos, usando solo las imagenes ISO, sin necesidad de instalar nada. Esta es una gran herramienta para aquellos que deseen probar los sabores de Linux por ejemplo, que siendo usuarios de Windows, aun no saben que elegir y son temerosos de instalar otro OS en sus discos duros.

Entonces para ellos, tenemos YUMI ( web ) ( Descarga ) .

YUMI - Multiboot USB Creator

Como podemos apreciar, solo hay que conectar el pendrive al puerto USB, lo que nos permitirá tener una Unidad de Disco, que debemos seleccionar, y luego elegir que sistema deseamos, para terminar un tercer paso en la búsqueda de la imagen ISO.

Ejecutando una segunda vez YUMI podremos cargar el otro sistema de nuestra preferencia.

Una de las cosas que siempre pasamos por alto, es realizar las típicas operaciones aritméticas sin pensar demasiado en como los compiladores o interpretadores lo realizan.

Por ejemplo, podemos comprobar como correcta la siguiente ecuación:

(int) ( (0.7 + 0.1) * 10 ) = (0.7 + 0.1) * 10

Como bien sabemos todos, (int), es una forma de obtener el Entero de un número. Otro aspecto interesante es su velocidad, ya que en muchos lenguajes, es un constructor de los mismos, es decir es un rasgo nativo del ellos y ahí radica la razón de su performance. View full article »

¿Que título no?

En realidad, debemos agradecer a GNU, Linux, EXT4, Ubuntu, y a un programita llamado TESTDISK.

Creo que sería imposible explicar cuales fueron las razones. Lo cierto es que la notebook, mostraba que el disco rígido estaba vacío. Ese es el momento es que uno pensaba porque no compre de una vez  “ese” disco externo de 1 o 2 TeraBytes… para luego pensar que no era para tanto los meses y meses de información guardada.

¿Como sigue esto?

Con la imagen de la última versión de Ubuntu (al día de hoy, la 10.10). Me hice de un PenDrive, (ese pendorcho usb que nadie sabe como se llama), y lo transformamos en un Pendrive de instalación.

Recomiendo esta modalidad, pues he notado que tratar de hacerlo desde un CD o DVD, es mas lento, y a veces falla.

Desde hace mucho, muchas distribuciones de GNU/Linux, y Ubuntu no es la excepción, se puede bootear y ejecutar el sistema sin necesidad de instalación. Y en este caso, detectó todo, inclusive esa placa de red wifi que no traía los drivers.

Empezamos a googlear, y la comunidad da un montón de buenos tutoriales. Donde se recomienda TESTDISK.

Cuando se descarga, nos damos cuenta que no es un .deb o .rpm, pero no debe importarnos. Solo debemos ejecutar desde consola el ejecutable y con 15 segundos y 4 pasos, se reestablecerá tu Tabla de Particiones, y con ello rebootear para darnos cuenta que la pesadilla pasó.

Todo pero Todo, esta como debería estar. En resumen, TESTDISK, funciona amigos!!!!!!