lunes, 31 de octubre de 2011

Schneider Weisse Aventinus


Con más contenido alcohólico que la anterior que reseñé (8,2º). Alemana también, pero tostada no de trigo. Más del estilo de la Guiness. De esas cervezas que ya tomándote una y un limón, cenas (o eso dicen de la Guiness).

Su lema (de la Schneider Weisse): Die freien Brauer. Braukunst und Lebensart“.

Si quieres leer más de esta cerveza este es el enlace al sitio web.


miércoles, 19 de octubre de 2011

Las corrientes de opinión de la blogosfera

Desde hace poco observo en la gente un fenómeno curioso pero por otra parte comprensible. Se trata de las corrientes de opinión que se generan por leer todos los mismos blogs y las mismas webs. En particular me refiero a los temas tecnológicos, que es donde se crean hoy en día intensos debates en la red.

El síntoma característico es opinar de la misma forma o tener pensamientos similares a otra persona cuando se saca un tema tecnológico. Realmente a veces no es que sea una corriente sólo la predominante. A lo mejor es un conjunto finito de entre 1 y 3 opiniones generalmente. Pero justo coincide que con quien estás hablando en un momento dado ha escogido la misma opinión que tú.

Luego te das cuenta que en el fondo si te nutres de las mismas fuentes de información y a cada una le das más o menos el mismo valor (la ponderas de la misma forma) al final la cadena de deducciones nos lleva a todos a los mismos lugares comunes. Lo cual también me hace plantearme la pregunta de si realmente merece la pena leer habitualmente lo mismo o hay que buscar otras fuentes... o lo que es más "inquietante": buscar las fuentes de los hechos y no las opiniones ya procesadas e intentar formarte tú mismo una opinión. Interesante sería también sacar a colación un tema diferente o un debate que no se hubiera considerado antes digno de mención y generar tú una corriente de opinión.

Y es que en esto de la tecnología tener una opinión particular y distinta, una visión original, siempre basada en la lógica y en los hechos claro está, es lo que te puede llegar a diferenciar de los demás. O lo que es lo mismo, poder escribir entradas originales que realmente aporten algo diferente a los asuntos que se discuten dentro de la blogosfera.

sábado, 15 de octubre de 2011

Genealogía de Elrond


Lo que responde a la pregunta de: ¿es realmente Elrond medio-humano? Y para los que no podíais dormir porque esa respuesta rondaba vuestras cabezas tengo que deciros que es 3/8 humano, con lo cual aproximadamente sí que es medio-humano.

Gracias a la fuente anónima que hizo el estudio ;-)

viernes, 14 de octubre de 2011

Kloster Andechs Weißbier Hefetrüb

Kloster Andechs Weißbier Hefetrüb
De abadía, de trigo, alemana. ¿Qué más se puede pedir? Una cerveza que merece la pena probar. Su lema: „Genuß für Leib & Seele“.

martes, 11 de octubre de 2011

Tutorial: Tomcat7 + Struts2 + VIM "à la" sysadmin

  1. Nos bajamos las últimas versiones de Tomcat y de Struts. Para este tutorial suponemos que Tomcat está instalado y arrancado, de forma que podemos desplegar las aplicaciones en la URL /manager (esa parte de la complejidad es para nosotros transparente ya que la gestiona Tomcat).
  2. Creamos la estructura de directorios siguiente (los ficheros los iremos creando más adelante):
  3. +-webapp_template/
      | make.sh
      +-versions/
      +-src/
        | index.jsp
        +-jsps/
        | | HelloWorld.jsp
        +-WEB-INF/
          | web.xml
          | struts.xml
          +-lib/
          | | [librerías.jar, ver más adelante]
          +-classes/
            | [ficheros .java dentro de su paquete]
  4. Grabamos las últimas versiones de las siguientes librerías (todas son o de Struts o de se pueden encontrar en la web de Apache) en el directorio lib, que es donde va a buscar los .jar el servidor Tomcat. Las librerías son:
    • struts2-core
    • xwork-core
    • ognl
    • freemarker
    • commons-fileupload
    • commons-io
    • commons-lang
    • commons-logging
    • javassist
  5. El script en bash make.sh tiene el siguiente contenido (este realmente es el paso más "sysadmin"):
  6. ----------- make.sh ------------------------------------
    #!/bin/bash
    TIMESTAMP=$( date "+%Y%m%d%H%M%S" )
    RUTA_DIR_ACTUAL=$( dirname `pwd` )
    NOMB_DIR_ACTUAL=$( basename `pwd` )
    HOME_APP="`pwd`"
    ROOT_LIB="$HOME_APP/src/WEB-INF/lib"
    LIBRERIAS="."
    for i in $( ls -1 $ROOT_LIB ); do
      LIBRERIAS=$LIBRERIAS:$ROOT_LIB/$i
    done
    #echo LIBRERIAS=$LIBRERIAS
    rm -rf compiled
    cp -a src compiled
    cd compiled
    find . -name "*.java" -exec javac -verbose -classpath $LIBRERIAS {} \;
    find . -name "*~" -exec rm -v {} \;
    find . -name "#*#" -exec rm -v {} \;
    find . -name "*.java" -exec rm -v {} \;
    cp WEB-INF/struts.xml WEB-INF/classes
    zip -r ../${NOMB_DIR_ACTUAL}.war *
    cd ..
    cp ${NOMB_DIR_ACTUAL}.war versions/${NOMB_DIR_ACTUAL}_${TIMESTAMP}.war
    ---------------------------------------------------------
  7. Creamos nuestra vista (jsps/HelloWorld.jsp) y nuestro controlador (WEB-INF/classes/template/HelloWord.java) con el siguiente código:
  8. ----------- HelloWorld.jsp ------------------------------
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1" %>
    <p><s:property value="greetings" /></p>
    ---------------------------------------------------------
    ----------- HelloWorld.java -----------------------------
    package template;

    import com.opensymphony.xwork2.ActionSupport;

    public class HelloWorld extends ActionSupport {

      String greetings = null;

      public String execute() throws Exception {
        setGreetings("Hello World");
        return SUCCESS;
      }

      public String getGreetings() {
        return greetings;
      }

      public void setGreetings(String greetings) {
        this.greetings = greetings;
      }

    }
    ---------------------------------------------------------
  9. Lo siguiente es crear los ficheros de configuración de Tomcat (WEB-INF/web.xml) y de Struts (WEB-INF/struts.xml):
  10. ----------- web.xml -------------------------------------
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

      <display-name>hello</display-name>

      <filter>
        <filter-name>struts2</filter-name>
        <filter-class> org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter </filter-class>
      </filter>

      <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
      </filter-mapping>

      <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
      </welcome-file-list>

    </web-app>
    ---------------------------------------------------------
    ----------- struts.xml ----------------------------------
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE struts PUBLIC
      "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
      "http://struts.apache.org/dtds/struts-2.0.dtd">
    <struts>

      <package name="hello" extends="struts-default">
        <action name="HelloWorld" class="template.HelloWorld">
          <result>/jsps/HelloWorld.jsp</result>
        </action>
      </package>

    </struts>
    ---------------------------------------------------------
  11. Creamos el fichero index.jsp que luego llamará al Action:
  12. ----------- index.jsp -----------------------------------
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
    <!DOCTYPE& html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <%@ taglib prefix="s" uri="/struts-tags" %>
    <html>
      <head>
        <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
        <title>Hello Sample</title>
      </head>
      <body>
        <s:action name="HelloWorld" executeResult="true"></s:action>
      </body>
    </html>
    ---------------------------------------------------------
  13. ./make.sh, desplegar (en el interfaz web del Tomcat) y probar la aplicación (en http://localhost:8080/webapp_template/). Cruzar los dedos para que funcione.

La mayor parte de este tutorial está transcrito de una página web donde lo encontré. Realmente mi aportación es el script make.sh y perfilar la estructura de directorios.

Cualquier comentario será bienvenido.

sábado, 8 de octubre de 2011

Steve Jobs, in memoriam

Mucho se ha escrito estos últimos días sobre el cofundador de Apple, Steve Jobs. Nos dejó este miércoles. Poco hay que añadir a esas opiniones de gente que en realidad le conocían mejor que yo. Pero alguna línea le quería dedicar aquí hoy.

Acabo de ver el vídeo de la graduación de la Universidad de Stanford en donde Steve Jobs da el discurso inaugural a los recién graduados y que se disponen a emprender su propia vida, sus propios sueños.

Me quedo eso que dijo allí y que supongo influyó también en todos los presentes en este discurso: tienes que vivir tus propios sueños y no los de otro, tienes que hacer en la vida lo que realmente te gusta y no conformarte con lo que han pensado o hecho otros.

Adiós Steve.


Steve Jobs (izquierda) y Steve Wozniak (derecha)

miércoles, 5 de octubre de 2011

Lugares para recordar

Sitios a los que íbamos y que por una razón u otra han cerrado. Momento do you remember, snif snif. Algunos han formado parte de nuestro pasado pero ya no volverán. Sobre todo están situados por la zona de Malasaña, Dos de Mayo y alrededores.


Restaurantes
  • La Carbonera de Carranza, donde además de cenas deliciosas teníamos siempre una amiga con una sonrisa para recibirnos. Nunca le preguntamos su nombre.
  • El Titular, La Habanera. Eran dueños diferentes, pero el sitio en donde se ubicaron ambos fue el mismo. Actualmente está en alquiler, no han puesto nada nuevo ahí. Cuando era El Titular era unos de los sitios donde cenábamos antes de ir al cine. Las raciones eran excesivas a lo mejor, con una guarnición generosa. El dueño era un periodista famoso. Nos ofreció un café irlandés, que era por lo visto su especialidad... pero nos quedamos con las ganas. La Habanera nos gustó menos, quizás la comida cubana no sea de nuestras favoritas.
  • Entre vinos y tapas. Mesas y taburetes de madera. Pinchos y raciones muy ricas. Tenían también unas sartenes deliciosas. Creo que es una cadena y no han cerrado todos. Pero el de Fuencarral sí.
  • Pa' Güevos... ¡Los Míos! Un restaurante diferente. Si los pedías (que no los pedímos nunca) te hacían huevos de avestruz. Las cantidades de los platos eran muy generosas y en general el servicio agradable.
  • El Wok de Génova. Con sus particularidades, ya que los platos no los hacían igual que en otros Woks. Pero siempre tenía un ambiente agradable. En la última etapa no veíamos mucha gente cenando allí.
  • Egö, Anima e Cuore. Sólo fuimos una vez, y la verdad es que no nos gustó demasiado. El espectáculo era un poco vulgar y la cena no acabó de convencernos.

Baretos

  • Moulin Rose, una pequeña discoteca en la calle Hernán Cortés. Tenía una cristalera en forma de corazón, por dentro el decorado era en rojo. Pegado a la cristalera en el interior había una cama para tumbarse. Al fondo de un pasillo estrecho, un escenario donde siempre había música para bailar (y algún que otro bailoteo nos pegamos allí). Tenían unos San Franciscos que eran de nuestros favoritos. No hemos encontrado otro sitio donde los hicieran igual y eso que los hacían siempre diferentes, dependiendo del estado de ánimo del dueño. Además éste nos atendía siempre genial. Snif snif.



lunes, 3 de octubre de 2011

Scrabble, otra distribución



Las palabras puestas negro sobre blanco: tedio, turbo, rato, tutú, abono, resaca, dona, ahí, hierro, feo, fe, erizar, pin, masacre, misa, ir, can, cuna, chato, che (o Ché), te, gasa, credo, doña, dos, palo, yo y ya.

Es posible que intente crear una historia con las palabras. Por cierto, se podría incorporar las que sobraron justo en la disposición que se muestra: "usd" con el significado de "US Dollar".

domingo, 2 de octubre de 2011

Questo piccolo grande amore


La letra en italiano y es castellano (sacada de aquí):

ItalianoCastellano
Quella sua maglietta fina
tanto stretta al punto che mi immaginavo tutto,
e quell' aria da bambina
che non glielo detto mai ma io ci andavo matto.
Esa camiseta suya fina
tan ajustada que me lo imaginaba todo,
y ese aire de niña
que nunca se lo he dicho pero a mí me volvía loco.
E chiare sere d' estate,
il mare, i giochi e le fate
e la paura e la voglia
di essere nudi,
un bacio a labbra salate,
il fuoco, quattro risate,
e far l' amore giù al faro...
ti amo davvero, ti amo lo giuro...
ti amo ti amo davvero!
Y claras tardes de verano,
el mar, los juegos y las hadas
y el miedo y el deseo
de estar desnudos,
un beso con labios salados,
el fuego, cuatro carcajadas,
y hacer el amor allí en el faro...
te amo de verdad, te amo lo juro...
¡te amo te amo de verdad!
E lei,
lei mi guardava con sospetto,
poi mi sorrideva e mi teneva stretto stretto,
ed io
io non ho mai capito niente,
visto che oramai non me lo levo dalla mente
che lei, lei era...
Y ella,
ella me miraba con sospecha,
luego me sonreía y me abrazaba fuerte fuerte,
y yo
yo nunca he entendido nada,
dado que ahora ya no me lo quito de la mente
que ella, ella era...
... un piccolo grande amore,
solo un piccolo grande amore,
niente più di questo, niente più!
Mi manca da morire
quel suo piccolo grande amore,
adesso che saprei cosa dire,
adesso che saprei cosa fare,
adesso che voglio
un piccolo grande amore.
... un pequeño gran amor,
sólo un pequeño gran amor,
nada más que esto, ¡nada más!
Echo tantísimo de menos
ese pequeño gran amor suyo,
ahora que sabría qué decir,
ahora que sabría qué hacer,
ahora que quiero
un pequeño gran amor.
Quella camminata strana
pure in mezzo a chissacche l'avrei riconosciuta,
mi diceva "sei una frana",
ma io questa cosa qui mica l'ho mai creduta.
E lunghe corse affannate,
incontro a stelle cadute,
e mani sempre più ansiose
di cose proibite
e le canzoni stonate,
urlate al cielo lassù:
"chi arriva prima a quel muro..."
non sono sicuro se ti amo davvero,
non sono, non sono sicuro...
Aquel paseo extraño
incluso en medio de lo que sea la habría reconocido,
me decía "eres una avalancha",
pero yo esto como que nunca me lo he creído.
Y largas carreras agotadoras,
al encuentro de estrellas caídas,
y manos cada vez más ansiosas
de cosas prohibidas
y las canciones desentonadas,
gritadas al cielo allá arriba:
"quien llegue primero a ese muro..."
no estoy seguro si te amo de verdad,
no estoy, no estoy seguro...
E lei
tutto ad un tratto non parlava
ma le si leggeva chiaro in faccia che soffriva,
ed io
io non lo so quant'è che ho pianto,
solamente adesso me ne sto rendendo conto
che lei, lei era...
Y ella
de repente dejó de hablar
pero se le leía claro en la cara que sufría,
y yo
yo no lo sé cuánto he llorado,
sólo ahora me estoy dando cuenta
de que ella, ella era...
... un piccolo grande amore,
solo un piccolo grande amore,
niente più di questo, niente più!
Mi manca da morire
quel suo piccolo grande amore,
adesso che saprei cosa dire,
adesso che saprei cosa fare,
adesso che voglio
un piccolo grande amore.
... un pequeño gran amor,
sólo un pequeño gran amor,
nada más que esto, ¡nada más!
Echo tantísimo de menos
ese pequeño gran amor suyo,
ahora que sabría qué decir,
ahora que sabría qué hacer,
ahora que quiero
un pequeño gran amor.