Archive for 9 febrero 2010

h1

¡No estoy cegata!

9 febrero 2010

Tampoco es que tuviese ningún problema de visión últimamente, pero a través de Freak’s City descubrí una prueba de sensibilidad al color. Me he quedado bastante contenta con el resultado (a menor número mejor los distingues), para que luego digan que estar todo el día con el PC es malo 😛 Ahora solo me queda la duda de… ¡¿cómo demonios ha conseguido sacar alguien más de 43000 puntos?!

27 puntos en el test de ColorIQ

Hale, a tirar todos media hora con los cuadraditos xD

Editado: Tras ver cómo humillantemente todo el mundo sacaba menos de 20 puntos, decidí repetir la prueba en mi monitor de casa (el del trabajo es un poco suxante) y los resultados son bastantes mejores, ¡ea! Aunque también viene a confirmar que el cambio entre amarillo y verde es definitivamente mi punto débil.

Anuncios
h1

Encriptar la contraseña de conexión en hibernate.cfg.xml

5 febrero 2010

Por defecto, en el fichero de configuración de Hibernate se muestran en texto plano todos los datos de conexión, lo que evidentemente no resulta muy seguro en cuanto lo ponemos a disposición de los usuarios. Para encriptarlos de manera sencilla podemos utilizar la biblioteca Jasypt (Java Simplified Encryption), que también nos permite encriptar el contenido de la base de datos, aunque eso queda fuera del alcance de este post 🙂

En este caso, supongamos que solo vamos a encriptar la contraseña. Lo primero es generar este valor a partir de una clave mediante uno de los scripts BAT o SH que se incluyen en la distribución. Ejecutamos la orden encrypt.bat input=contraseña_a_encriptar password=clave_del_algoritmo y nos devolverá un resultado como el siguiente:

----ENVIRONMENT-----------------
Runtime: Sun Microsystems Inc. Java HotSpot(TM) Client VM 14.2-b01
----ARGUMENTS-------------------
input: mipass
password: foobar
----OUTPUT----------------------
j1BNruKrxJ9xy9u8e1GtBw==

El valor de salida será el que se escriba en el fichero hibernate.cfg.xml, pero antes nos quedan cosas por hacer. En el fichero donde esté mapeada la base de datos (en caso de usar anotaciones habrá que crear uno nuevo) incluimos la declaración del tipo del cifrador:

<hibernate-mapping>
      <typedef name="encrypted"
      class="org.jasypt.hibernate.type.EncryptedStringType">
            <param name="encryptorRegisteredName">
                  hibernateEncryptor</param>
      </typedef>
</hibernate-mapping>

En la clase donde se cree la SessionFactory de Hibernate (lo habitual es utilizar una llamada HibernateUtil) se asocia esta al cifrador antes declarado:

config = new AnnotationConfiguration().configure();

PBEStringEncryptor encryptor =
      new StandardPBEStringEncryptor();
// La clave se puede obtener consultar en web,
// en una variable del programa o de entorno...
encryptor.setPassword("foobar");
HibernatePBEEncryptorRegistry registry =
      HibernatePBEEncryptorRegistry.getInstance();

// Asignar el mismo nombre que en hibernate-mapping
registry.registerPBEStringEncryptor(
      "hibernateEncryptor", encryptor);

sessionFactory = config.buildSessionFactory();

Y ya es hora de tocar el fichero de configuración de Hibernate, añadiendo las siguientes líneas. Es importante escribir la contraseña encriptada entre paréntesis porque es el formato que utiliza Jasypt para diferenciar las cadenas encriptadas de las que viajan en plano.

<!-- Proveedor más simple de conexión encriptada,
también existe uno sobre C3P0 -->
<property name="connection.provider_class">
      org.jasypt.hibernate.connectionprovider.EncryptedPasswordDriverManagerConnectionProvider
</property>
<property name="connection.encryptor_registered_name">
      hibernateEncryptor
</property>
<property name="connection.password">
      ENC(j1BNruKrxJ9xy9u8e1GtBw==)
</property>

<!-- Fichero con el hibernate-mapping -->
<mapping resource="mapping.xml" />

Y con estos pocos pasos habremos mejorado un poquito la seguridad de nuestra aplicación 😀

h1

Etiquetado de KDE SC 4.4

5 febrero 2010

Este miércoles 3 se etiquetó la versión 4.4 de KDE SC para su publicación el próximo día 9, como se puede ver en la planificación oficial.

Para mí, como buena fanática de las pestañas y de agrupar ventanas, una de las novedades más reseñables me parecen las “ventanas en pestañas” (window tabbing en inglés), que permite agrupar varias ventanas en una sola, sean o no de la misma aplicación. La barra de título global contiene todas las de dichas ventanas, permitiendo suplir la carencia de pestañas en algunas aplicaciones (en Freetechie comentaban el uso con VirtualBox en la beta1), aunque ya no queden muchas 🙂

En cuanto a la i18n al español estoy bastante contenta. Empecé a colaborar con KDE-es justo antes de publicarse la versión 4.2, y para 4.4 hemos conseguido traducir el 100% de los paquetes principales para el día del lanzamiento, y más de un 97% si contamos todos (el porcentaje en el enlace probablemente varíe cuando se eliminen los experimentales). Precisamente las “ventanas en pestañas” fue una de las cosillas importantes que me tocaron traducir 😀

Ya que no he probado ninguna beta ni RC, tengo bastante curiosidad por probar las novedades de esta versión y me quedo tranquila pensando que, ahora que he migrado de Kubuntu a OpenSUSE la actualización será menos traumática. Aprovecho para recomendar el cambio a todos, yo lo hice en Año Nuevo (eh, no dejé de salir hasta las 9 de la mañana por eso 😛 ) y no me arrepiento en absoluto: la estabilidad del escritorio es mucho mayor, el centro de control de Yast le da 1000 vueltas a lo que incluye Kubuntu y no es tratada como una “distribución de segunda”, como ocurre en favor de Ubuntu.

Vista general del centro de control de YaST2

A algunos les parecerá un panel “windozer” pero, por mucho que me encante cacharrear con la consola, ya he llegado a la fase en la que agradezco que me faciliten la vida 😉

h1

Mini-review: Dollhouse

1 febrero 2010

El viernes 29 terminó la emisión de Dollhouse en EEUU con 2 temporadas a sus espaldas, siendo para mí una de las mejores series de finales de 2009. A pesar de lo maltratada que ha sido por FOX, que ya hace años emitió Firefly (del mismo director) de forma desastrosa para después cancelarla, al menos esta vez lo avisaron con antelación y el argumento quedó totalmente cerrado y con sentido, lo que no se ve ni en muchas series que terminan en el momento planificado xD

Para aquellos que no la conozcan, trata la historia de Echo, una chica que ha firmado un contrato con una “dollhouse” (casa de muñecas) donde aquellos que se ofrecen como activos sufren un lavado de cerebro y se reprograman para cumplir las tareas que los clientes de la casa soliciten, ya sea como mediadores en secuestros, reencarnaciones de esposas muertas o asesinos a sueldo. Al finalizar su contrato reciben una desorbitada suma de dinero y no recuerdan nada de lo ocurrido en ese período de tiempo. Sin embargo, Echo empieza a darse cuenta de que los borrados de memoria tras cada encargo no son efectivos en ella y de vez en cuando le dan pachungos varios al intentar mezclarse sus distintas personalidades. Además, el agente del FBI Paul Ballard descubre la existencia de estas casas y, a pesar de que todos en el departamento se ríen de él, decide investigarlas.

Actores principales de Dollhouse

Para los que quieran saber más del argumento, después del salto incluyo un resumen de las 2 temporadas por separado. Para el resto, aquí va mi opinión:

Aunque la primera temporada sigue el patrón procedimental que tanto se lleva últimamente (asignan misión a Echo y/u otros activos – ocurre algún problema – se resuelve y les restauran una personalidad de apijotados), en la segunda se desarrolla totalmente el argumento, con algunos capítulos que terminan con un cliffhanger terrible. Además, se muestra el funcionamiento de otra casa y hace aparición Summer Glau en el papel de ingeniera medio-pirada (qué raro en ella 😛 ), dándole bastante variedad.

Las actuaciones de los actores me han parecido buenas (hay gente que odia a Eliza Dushku pero bueno), estando entre mis favoritas la de DeWitt, la dirigente de la casa donde está Echo, y la de Topher, el ingeniero encargado de grabar a los activos. La primera hace el típico papel de británica impasible y hasta el final de la serie nunca se termina de saber de qué lado está exactamente, y Topher es excéntrico, habla consigo mismo y hace chistes horribles xD

En resumen, para aquellos que busquen una serie con un argumento diferente a lo que estamos acostumbrados, y donde los personajes evolucionen y no actúen guiados por impulsos de quinceañeros, Dollhouse me parece un imprescindible 😀 Lo único que me ha sobrado un poco han sido un par de capítulos sobre el futuro, uno al final de cada temporada, que prácticamente repiten la conclusión del penúltimo de la segunda, algo fácil de perdonar cuando se puede apreciar perfectamente la serie sin verlos 🙂

Y después del salto, los prometidos spoilers xD
Read the rest of this entry ?