El blog de Viafirma

Haciendo simple RMI

Estamos realizando una integración entre dos plataformas, y dado que, ambas son Java, se ejecutarán en el mismo segmento de red y necesitamos una integración fuerte, hemos optado en esta ocasión por usar RMI en detrimento de SOAP. Hasta ahí, todo bien, el problema surge cuando las aplicaciones podrian ser desplegadas en cualquier servidor de […]

Tu primera Annotation chispas (I)

Todo el dia usando las annotations de JPA/Hibernate3 y aun no sabes muy bien de que va?Como funciona? Como crear tu propia annotation? La verdad es que crear una annotation es bastante trivial. Quizas el quid de la cuestion sea mas bien, como usar nuestras annotations, como hacer que sean usables. Como no podria ser […]

Problemas con Windows Vista (I)

Tras un par de días tratando volver a ser el mismo de antes, pero con Windows Vista (yo tampoco me lo explico), paso a enumerar una serie de problemas encontrados (he tenido tantos que voy poniendo sólo los que me han escocido más): El cliente de Oracle 9i puede dar problemas. Con el de 10g […]

Un buen motivo para No utilizar Java 6 en producción

Llevo algunos meses utilizando Java 6, testeando la estabilidad y de paso comprobando la compatibilidad del código de nuestros proyectos con la nueva versión de la plataforma, y hoy me he encontrado con un extraño BUG que descarta Java 6(versión 1.6.0) para entornos de producción. El problema es fácilmente reproducible al ejecutar el siguiente código, […]

El Universo: 1 millón de formas de morir, 1 sola de vivir (1ª parte)

El Universo es hostil a la vida. Al menos eso nos ha enseñado nuestra ciencia. Cuando Dios diseñó el Universo no lo hizo pensando en que debía albergar vida. Y con Dios me refiero a cualquier manifestación posible del ente creador, pues tanto la ciencia como la religión parten de la misma premisa: de la […]

Var args de Java5 en la construccion de APIs

Alguien es capaz de predecir la ejecucion del siguiente codigo que usa var args? public class TestAbsurdo { TestAbsurdo(Integer… wis) { System.out.println(«Constructor Var Args con Integer wrapper.»); } TestAbsurdo(int i, int j) { System.out.println(«Constructor con dos argumentos int.»); } TestAbsurdo(Integer wi, Integer wj) { System.out.println(«Constructor con dos argumentos Integer wrapper.»); } public static void main(String… […]

Solución al cambio de monitor en Ubuntu 6.10

Acabo de comprobar que Google no lo sabe todo. Uno de los fallos más habituales de Ubuntu 6.10 es cambiar el monitor respecto al usado en el proceso de instalación. Como el XServer fue configurado para el otro monitor el rango de resoluciones y frecuencias no coincide y el invento casca. Una primera solución es […]

Configuración de un entorno completo de programación en 5 minutos

Os dejo una pequeña guía para la instalación de un entorno de desarrollo completo en Linux(Ubuntu 6.10). Instalación de Postgres Instalamos el servicio sudo apt-get install postgresql-8.1 Cambiamos el password por defecto del usuario postgres sudo su postgres -c «psql template1» ALTER USER postgres WITH PASSWORD ‘postgres’; Instalamos un cliente gráfico sudo apt-get install pgadmin3 […]

Comunicación anónima por internet

Un amigo que reside en China, país que controla toda la red, me contó recientemente que ha encontrado un buen método para saltarse al gran hermano chino. Usa Tor, un sistema para navegar de forma anónima por internet, y de esta forma poder evitar la sinrazón china de censurar ciertos contenidos. También es útil para […]

Programar es como el Sexo

Porque… Puedes hacerlo por dinero o por diversión. No se enseña lo suficiente en la escuela pública. Todos los que lo hicieron hacen bromas de los que no. Si una sola cosa pequeña sale mal puede arruinarlo todo. Algunas veces es divertido hacerlo usando juguetes caros. No es un buen tema de conversación durante las […]

Traducir Firefox y Thunderbird en Ubuntu 6.10

Si acabas de instalar Ubuntu 6.10 lo más probable es que estos 2 programas los tengas en inglés. Para resolverlo pon desde consola de comandos: sudo aptitude install mozilla-firefox-locale-es-es sudo aptitude install thunderbird-locale-es-es Y ale, a disfrutar en la lengua de Cervantes. No he probado con Synaptic o Apt pero debe funcionar igual.

Triggers PostgreSQL

Me pidieron hace unos días una solución a inserciones en Base de datos, de tal manera que algunos valores que cumplieran ciertas características, se vieran modificados justo antes de almacenarse. Concretamente se trata de hacer que determinados campos de cada tabla se insertaran automáticamente en mayúsculas, teniendo ya toda la lógica de acceso e inserciones […]

Estandarizando los codigos internos de error

Sera deformacion profesional heredada de mi experiencia laboral anterior, pero cuando nos hemos decidido a crear un Java5 enum en nuestras librerias de desarrollo para la estandarizacion de los codigos de error, me he empeñado en reservar/usar los codigos de respuesta del estandard SIP (Session Initiation Protocol). Realmente son un superconjunto de los codigos de […]

Cuando Hibernate ataca a Postgres…

Quizas este post te ayude si estas buscando una solución para alguna de las siguientes cuestiones: Pasarle comillas a la BBDD atraves de Hibernate Usar palabras reservadas del gestor de BBDD como nombre de columna o tabla en JPA. Tienes una org.postgresql.util.PSQLException Tienes una excepción: column notation applied to type name, which is not a […]

Autoboxing en Java5

En un post reciente en Java Lobby, destapaban algo a tener en cuenta cuando usamos alegremente el autoboxing de Java5. Para el que no lo sepa, gracias al autoboxing podemos de forma muy sencilla asignar un tipo primitivo a su Wrapper class, y viceversa. Es decir, podemos, por ejemplo, asignar un boolean a una clase Boolean. Por […]