sábado, mayo 30, 2009

Puro Eye Candy


Así se ve mi computador ahora. No he visto efectos similares en Windows... ;-D

viernes, mayo 29, 2009

La respuesta a las preguntas

"El problema no es que no exista respuesta a nuestras preguntas, el problema es simplemente saber como encontrarlas."
Yo


Con mucho cariño dedicada a todos aquellos que por más que navegan en Google nunca encuentran nada de lo que buscan. A quien le interese, estoy en campaña para enseñar a buscar con Google, consulte sin compromiso.

XPath y NameSpaces

El problema: Trabajando con eXist-db, una base de datos XML, requería consultar los documentos almacenados de manera "directa". El problema radicaba en que los documentos responden a una estructura donde está definido el NameSpace del XML.

Por esto la única manera de acceder a los datos era haciendo una consulta igualando nombres, tal como lo hace el ETL Spoon (de la suite Pentaho) cuando se transforman XML, ie:
//*[name()='etiqueta']/text() para rescatar el valor de texto de todos los nodos etiqueta (que eventualmente puede ser distinto debido a que el contenido de etiqueta sea otro conjunto de nodos).

//*[name()='etiqueta' and text()='valor']/text() para acceder al valor de un nodo en particular, cuyo valor es valor. Esto sirve como referencia cuando se mezclan condiciones.

//*[name()='etiqueta' and text()='valor']/text()//root() para acceder a toda la estructura XML que contiene a etiqueta.

Pueden ir imaginándose las variaciones tóxicas.

Solución: Declarar el NameSpace, de manera de hacer las consultas de manera directa, al estilo de la vieja escuela, ie:
//etiqueta
//
etc.

Para ello, en mi caso con los códigos de acceso a eXist-db se incorpora la siguiente línea, luego de la inicialización del XPathQueryService:
service.setNamespace(prefijo, namespace);

En la aplicación cliente de eXist, se debe ejecutar en consola la instrucción (no documentada):
map prefijo=uri
El prefijo viene dado por lo que aparece normalmente arriba en los XML, algo que tiene la forma
<mixml xmlns="http://www.uri.com/miXml" mio="http://www.uri.com/miXml"></mixml>

Cuando sucede que, como en el ejemplo, el atributo xmlns va sin acompañante, y todas las etiquetas están sin el prefijo, es porque el namespace aplica a default, por ende el prefijo será nulo, o vacío.
Era mi caso, asi que en la consola de eXist puse:
map =http://www.uri.com/miXml
(doble espacio)
y en mi código:
service.setNamespace(null, "http://www.uri.com/miXml");

Referencias:
  • http://www.ziritione.org/blog/programming/java/dom4j-xpath-y-namespaces
  • http://weblogs.asp.net/wallen/archive/2003/04/02/4725.aspx
  • http://sourceforge.net/mailarchive/message.php?msg_name=200309180838.27341.meier%40ifs.tu-darmstadt.de
  • http://sourceforge.net/mailarchive/message.php?msg_id=CC371D02-54CA-11D8-8FAE-000A95782782%40apache.org

martes, mayo 26, 2009

Software indispensable (que yo necesito)

Hace pocas semanas tuve que instalar todo de nuevo en mi PC de escritorio de la casa. Estaba probando el RC de Windows 7 y dado que mi equipo no es de última tecnologia, y por ende mucho menos los accesorios de hardware que lo acompañan, y dado que MS no me va a financiar un equipo nuevo solamente para proveerme de una "Mejor experiencia de usuario", Windows 7 se fue de desinstalada.

Los problemas de hardware que me estaba dando Windows 7 son absolutamente comparables con los que ya me da Linux, con la diferencia que los de Linux me interesa saber como solucionarlos, y me motiva hacerlo.

Entonces comencé por instalar Windows XP (gracias san Dell por licencia concedida). Como mi actual experiencia de usuario requiere múltiples escritorios y ciertas añadiduras a los controles de las ventanas de aplicación, recordé algunos programas gratuitos que cubren estas necesidades:
  1. Deskloops: Ahora descontinuado y con bastantes alternativas muy similares, transforma el Escritorio en un tubo. El grado de utilidad es relativo, pero al menos es entretenido.
  2. The Wonderful Icon (TWI): Uno de los mejores descubrimientos que he hecho. El programa agrega una banderita roja al área de notificaciones, y con ella es posible configurar varias macros muy útiles, así como agregar funcionalidades como Siempre arriba a las ventanas.
  3. Power Menu: Este apareció receintemente en mi lista dado que me malacostumbré a tener ventanas transparentes (mínimo para aprovechar la tarjeta de video). Aparte de eso agrega ciertas cosillas anáñogas al TWI.
En Linux, el asunto ha sido casi 100% Eye Candy. ha sido tanto lo que me han alegado que Linux es feo que he buscado como hacerlo más atractivo. Y una cosa que necesito (motivacionalmente) es una manera de tener distintos fondos de pantalla en cada uno de mis escritorios (mi área de trabajo se separa en 4 secciones, y las uso a concho). Para ello Wallpapoz ha sido la solución.

Y Compiz junto a mi mouse de 5 botones son la combinación perfecta para poder desplazarse sin problemas en este caos.
Probé las alternativas a usar Compiz, puesto que tanto Eye Candy termina consumiendo más recursos de lo recomendado, pero mi la combinación de xbindkeys + xmacro, ni btnx tienen una respuesta decente a las instrucciones con el ratón.

jueves, mayo 21, 2009

OpenSource - Windows vs Linux ¿A qué le tienen miedo?

Las pasadas semanas han estado relativamente llenas de ciertas noticias que de una u otramanera guardan relación al OpenSource:
son algunas de las que me han llamado la atención, pero no solamente por la noticia en si, sino también por los comentarios que genera.

Ahí es donde saltan los fanáticos religiosos de esta o esta otra plataforma y sistemas operativos, normalmente:
Windows vs Linux

Yo me pregunto ¿a qué le tienen miedo? No es una competencia, ni se destrona a nadie, en la práctica no hay ganadores. Puede que haya quienes ahorran más, pero ambas caras responden a cosas distintas. Nadie va a dudar de la masculinidad del otro por que use Linux o Windows.
Al final el que tan bueno o que tan malo sea uno en comparación al otro dependerá estrictamente de las necesidades de cada uno, o del contexto que estemos abordando.

Mi propia experiencia es un proceso de evangelización fallido, donde a pesar de haber demostrado que puedo hacer que Linux se vea EXACTAMENTE IGUAL a MS Windows, el problema no es que funcione mal, sino que simplemente NO ES Windows.

Hay cosas que indudablemente no cambio de Linux, por decir la más importante, el precio, no tengo que pagar ninguna licencia (o temer que me persigan por no pagarlas). Tampoco existe el riesgo de virus de computador que me puedan dejar la escoba (en rigor siempre los hay, pero en Linux es algo más que controlado).
De Windows siempre preferiré el concepto de Plug & Play, practicamente no existen los problemas de hardware.

Si las necesidades de una empresa requieren utilizar Windows o cualquier otro paquete de software cerrado propietario, lo va a usar y estarán dispuestas a cargar con los costos que eso tenga asociado (arriesgarse a tener que pagar una multa por usar software de dudosa procedencia también es un costo). Sin embargo en mi opinión, para el caso de los usuarios finales, pagar por una licencia de Windows original (y hablemos de una edición decente y no de la Starter...) es caro, de hecho si lo piensan friamente casi siempre termina duplicando el costo de la máquina.

Yo elegí abanderarme con Linux y el OpenSource, en el peor de los casos un Windows OEM que venía con mi computador y solamente freeware. Lo mejor de todo es que funciona, y mi conciencia está medianamente tranquila.

Nota: Los Mac son para nenas, así que ni siquiera entran en la discusión :-D
(Respuesta del Apple fanboy en 10, 9, 8, 7...)

miércoles, mayo 13, 2009

Tipografía Ibanez

No es mucho misterio que a mi me gusta todo lo relacionado con el diseño gráfico. Hace bastante tiempo ya, un ex-compañero de universidad (aunque en la practica nunca nos topamos, que yo sepa, en ningún curso) pidió ayuda para hacerse un logo a-la Ibanez.

Aceptano el desafío y con algo de imaginación, descuarticé el logo original y esbocé las bases para lo que sería el logo que el involucrado terminó. Pero quedé con la bala atravesada, hasta que con ayuda de WhatTheFont (y algo de tiempo de disperción) pude identificar la variación de la tipografía utilizada.

Black Grotesk es la tipografía, lo que se puede ver en los detalles de la "a" y la "e".

EL dato rosa de hoy :)