5.30.2011

Piratas del caribe 4: On stranger tides 2d eng review

Piratas del caribe cuatro  dos puntos navegando en aguas misteriosas tiene dos problemas con el titulo: El primero es que es tan largo que se desborda en  las teles que muestran los horarios en los cines y no te queda de otra mas que pararte enfrente del cajero y preguntar: "Oye, a que horas es piratas del caribe cuatro navegando en aguas peligrosas en 2d y en subtitulada en ingles?" a lo que la pobre cajera agarro y me dijo que no estaba en ingles, hasta que le señale la pantalla, y mezclandose con el 7:30pm, parecia emerger la abreviacion "eng".

La segunda es que la pelicula no tiene nada que ver con el titulo. La primera media hora es un pobre intento del director actual en tratar de imitar a verbinski (osease, tratar de imitar a un director medianamente eficiente (y al mismo tiempo (nada, es que se me antojaba poner parentesis(continuemos)) complacer a disney en hacer una peli y cual para niños) , La peli llega a los pastelazos. La musica hace una muestra del mal de parkinson metiendo trompetones cada vez lloni dep agita los dedos, o en cada acercamiento a sus pestañas pintadas. (y por alguna razon, a su cabello recientemente guero (y una escena absolutamente ridicula de la dama y el vagabundo con el tema de piratas adecuadamente transformada en un bolero español (penelope cruz desaprovechada(pese a que la unica razon que disney la contrato fue porque fue la unica actriz que "demostro que sus dones era naturales y no implantes" (penelope cruz no habla ingles ni aunque le rebanen el pescuezo.)))).

Despues de sufrir la primera media hora, se pone por fin entretenida, agarra ritmo, y te recuerda que la saga fue entretenida.


5.18.2011

xpath util

Why, oh why do I need to create a document every time I want to xpath evaluate something simple?

So I creates XpathUtil

Usage:
NodeList nodes = 
(NodeList)new XPathUtil(file).evaluate("//directoryToRead/text()");

package com.util;

import java.io.File;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.xpath.XPath;
import javax.xml.xpath.XPathConstants;
import javax.xml.xpath.XPathExpression;
import javax.xml.xpath.XPathExpressionException;
import javax.xml.xpath.XPathFactory;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.w3c.dom.Document;

public class XPathUtil {

 private Log log = LogFactory.getLog(getClass().getName());

 private Document doc = null;

 private XPath xpath = null;

 public XPathUtil(File inputFile) {
  // begin:Recipe code to get xpath factory
  DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
  factory.setNamespaceAware(true); // never forget this!
  DocumentBuilder builder;
  try {
   builder = factory.newDocumentBuilder();

   doc = builder.parse(inputFile);
  } catch (Exception e) {
   log.error(e.getMessage(), e);
   throw new RuntimeException(e.getMessage(), e);
  }
  XPathFactory xPathFactory = XPathFactory.newInstance();
  xpath = xPathFactory.newXPath();
  // end: recipe code to get xpath
 }

 public Object evaluate(String xPathExpression) {
  XPathExpression expr;
  Object result;
  try {
   expr = xpath.compile(xPathExpression);

   result = expr.evaluate(doc, XPathConstants.NODESET);
  } catch (XPathExpressionException e) {
   log.error(e.getMessage(), e);
   throw new RuntimeException(e.getMessage(), e);
  }

  return result;
 }
}