miércoles, 3 de enero de 2018

Amigos borrachos en la estación de tren

Cuando ingieres la cantidad suficiente de alcohol en compañía de tus amigos de toda la vida, puede pasar cualquier cosa, como se puede comprobar en el siguiente vídeo:


Bueno, pues ya estamos en 2018, y nada nuevo bajo el sol (ni encima tampoco, por si se os ocurre mirar ahí, y tened cuidado, que el sol quema, ¿eh?). 

Sigo mi vida bajo la mesa de los bares, noté un poco de "ruidillo" el día 31, no se porqué, pero a eso de las seis de la mañana los fiesteros empezaron a decir que dónde estaban las porras (que yo sepa, la policía no apareció por el garito) y se largaron a buscarlas (es que lo que buscan es jaleo, los capullos). De esa forma pude dormir mi cogorza en paz...

Un abrazo y me seguiréis viendo en los bares, bajo cualquier mesa.

viernes, 4 de diciembre de 2015

¿Eres un bloguero exigente? No te pierdas estas extensiones

Navegando por Genbeta me encontré con un artículo que recomienda extensiones para blogueros exigentes ... Bueno, yo no soy ni una cosa ni mucho menos la otra pero es bastante útil si lo que quieres es guardar información rápidamente en Blogger como si fuera tu biblioteca particular

Como te permite guardar trozos de páginas web en modo borrador en tu blog de Blogger no tienes porqué compartir con todo el mundo lo que vas guardando ...

De hecho, esta entrada se inició utilizando la extensión "Blog this" para probarlo...


¿Eres un bloguero exigente? No te pierdas estas extensiones: "Pensada para Blogger, la extensión Blog This! añadirá un icono a la derecha de tu barra de direcciones; un botón que te dejará publicar en tu espacio de la citada plataforma con tan solo hacer clic sobre él. Aunque resulta un tanto limitado, su objetivo es el de agilizar su uso y realizar correcciones puntuales, añadir enlaces, modificar el texto, mejorar los accesos y demás."

'via Blog this'


Me veréis en los bares.

martes, 14 de abril de 2015

Chiste gráfico... para los que sepan java...


Nos vemos en los bares. Me encontraréis debajo de la mesa, como siempre ...

miércoles, 23 de julio de 2014

Configurando JDK 8 Oracle en OpenSUSE 12.3

Instalando Oracle Java JDK en openSUSE


Descargarse el RPM adecuado para tu arquitectura de PC. Lo sabrás ejecutando en un terminal :

$ uname -m


Si te responde con i486 o i586 o i686 tu arquitectura es de 32 bits. Si por el contrario te responde con x86_64 tu arquitectura es de 64 bits.

A fecha de hoy el rpm a descargar de la web de Oracle será uno de estos dos según tu arquitectura:
  • jdk-8u11-linux-i586.rpm (Arquitectura de 32 bits)
  • jdk-8u11-linux-x64.rpm (Arquitectura de 64 bits)
Una vez descargados, supongamos que quedan en el directorio "/tmp" abrimos un nuevo terminal como root e instalamos el paquete RPM con :

tuHostName:/tmp # rpm -ivh jdk-8u11-linux-x64.rpm

En caso de que la máquina fuera de 32 bits ....

tuHostName:/tmp # rpm -ivh jdk-8u11-linux-i586.rpm

Terminamos a que se instale y luego grabamos el siguiente script con un editor de texto y lo llamamos "instalaOracleJDK8", por ejemplo:

#!/bin/bash
#La variable JDKDIR apuntará al directorio raiz de la instalacion del JDK (Oracle coloca sus paquetes RPM de Java JDK y JRE en "/usr/java/")
export JDKDIR=jdk1.8.0_11

sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/appletviewer.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/extcheck.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/idlj.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/jar.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/jarsigner.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/java.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/javac.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/javadoc.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/javafxpackager.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/javah.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/javap.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/javaws.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/jcmd.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/jconsole.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/jdb.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/jdeps.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/jhat.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/jinfo.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/jjs.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/jmap.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/jmc.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/jps.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/jrunscript.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/jsadebugd.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/jstack.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/jstat.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/jstatd.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/jvisualvm.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/keytool.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/native2ascii.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/orbd.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/pack200.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/policytool.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/rmic.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/rmid.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/rmiregistry.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/schemagen.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/serialver.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/servertool.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/tnameserv.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/unpack200.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/wsgen.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/wsimport.1)
sudo gzip $(readlink -f /usr/java/$JDKDIR/man/man1/xjc.1)



# Añadiendo alternative Java compiler
sudo /usr/sbin/update-alternatives --install /usr/bin/javac javac /usr/java/$JDKDIR/bin/javac 3 \
--slave /usr/bin/appletviewer appletviewer /usr/java/$JDKDIR/bin/appletviewer \
--slave /usr/share/man/man1/appletviewer.1.gz appletviewer.1.gz /usr/java/$JDKDIR/man/man1/appletviewer.1.gz \
--slave /usr/bin/extcheck extcheck /usr/java/$JDKDIR/bin/extcheck \
--slave /usr/share/man/man1/extcheck.1.gz extcheck.1.gz /usr/java/$JDKDIR/man/man1/extcheck.1.gz \
--slave /usr/bin/jar jar /usr/java/$JDKDIR/bin/jar \
--slave /usr/share/man/man1/jar.1.gz jar.1.gz /usr/java/$JDKDIR/man/man1/jar.1.gz \
--slave /usr/bin/jarsigner jarsigner /usr/java/$JDKDIR/bin/jarsigner \
--slave /usr/share/man/man1/jarsigner.1.gz jarsigner.1.gz /usr/java/$JDKDIR/man/man1/jarsigner.1.gz \
--slave /usr/lib64/jvm/java java_sdk /usr/java/$JDKDIR \
--slave /usr/share/man/man1/javac.1.gz javac.1.gz /usr/java/$JDKDIR/man/man1/javac.1.gz \
--slave /usr/bin/javadoc javadoc /usr/java/$JDKDIR/bin/javadoc \
--slave /usr/share/man/man1/javadoc.1.gz javadoc.1.gz /usr/java/$JDKDIR/man/man1/javadoc.1.gz \
--slave /usr/bin/javah javah /usr/java/$JDKDIR/bin/javah \
--slave /usr/share/man/man1/javah.1.gz javah.1.gz /usr/java/$JDKDIR/man/man1/javah.1.gz \
--slave /usr/bin/javap javap /usr/java/$JDKDIR/bin/javap \
--slave /usr/share/man/man1/javap.1.gz javap.1.gz /usr/java/$JDKDIR/man/man1/javap.1.gz \
--slave /usr/share/man/man1/jcmd.1.gz jcmd.1.gz /usr/java/$JDKDIR/man/man1/jcmd.1.gz \
--slave /usr/bin/jconsole jconsole /usr/java/$JDKDIR/bin/jconsole \
--slave /usr/share/man/man1/jconsole.1.gz jconsole.1.gz /usr/java/$JDKDIR/man/man1/jconsole.1.gz \
--slave /usr/bin/jdb jdb /usr/java/$JDKDIR/bin/jdb \
--slave /usr/share/man/man1/jdb.1.gz jdb.1.gz /usr/java/$JDKDIR/man/man1/jdb.1.gz \
--slave /usr/bin/jhat jhat /usr/java/$JDKDIR/bin/jhat \
--slave /usr/share/man/man1/jhat.1.gz jhat.1.gz /usr/java/$JDKDIR/man/man1/jhat.1.gz \
--slave /usr/bin/jinfo jinfo /usr/java/$JDKDIR/bin/jinfo \
--slave /usr/share/man/man1/jinfo.1.gz jinfo.1.gz /usr/java/$JDKDIR/man/man1/jinfo.1.gz \
--slave /usr/bin/jmap jmap /usr/java/$JDKDIR/bin/jmap \
--slave /usr/share/man/man1/jmap.1.gz jmap.1.gz /usr/java/$JDKDIR/man/man1/jmap.1.gz \
--slave /usr/bin/jps jps /usr/java/$JDKDIR/bin/jps \
--slave /usr/share/man/man1/jps.1.gz jps.1.gz /usr/java/$JDKDIR/man/man1/jps.1.gz \
--slave /usr/bin/jrunscript jrunscript /usr/java/$JDKDIR/bin/jrunscript \
--slave /usr/share/man/man1/jrunscript.1.gz jrunscript.1.gz /usr/java/$JDKDIR/man/man1/jrunscript.1.gz \
--slave /usr/bin/jsadebugd jsadebugd /usr/java/$JDKDIR/bin/jsadebugd \
--slave /usr/share/man/man1/jsadebugd.1.gz jsadebugd.1.gz /usr/java/$JDKDIR/man/man1/jsadebugd.1.gz \
--slave /usr/bin/jstack jstack /usr/java/$JDKDIR/bin/jstack \
--slave /usr/share/man/man1/jstack.1.gz jstack.1.gz /usr/java/$JDKDIR/man/man1/jstack.1.gz \
--slave /usr/bin/jstat jstat /usr/java/$JDKDIR/bin/jstat \
--slave /usr/share/man/man1/jstat.1.gz jstat.1.gz /usr/java/$JDKDIR/man/man1/jstat.1.gz \
--slave /usr/bin/jstatd jstatd /usr/java/$JDKDIR/bin/jstatd \
--slave /usr/share/man/man1/jstatd.1.gz jstatd.1.gz /usr/java/$JDKDIR/man/man1/jstatd.1.gz \
--slave /usr/bin/native2ascii native2ascii /usr/java/$JDKDIR/bin/native2ascii \
--slave /usr/share/man/man1/native2ascii.1.gz native2ascii.1.gz /usr/java/$JDKDIR/man/man1/native2ascii.1.gz \
--slave /usr/bin/pack200 pack200 /usr/java/$JDKDIR/bin/pack200 \
--slave /usr/share/man/man1/pack200.1.gz pack200.1.gz /usr/java/$JDKDIR/man/man1/pack200.1.gz \
--slave /usr/bin/rmic rmic /usr/java/$JDKDIR/bin/rmic \
--slave /usr/share/man/man1/rmic.1.gz rmic.1.gz /usr/java/$JDKDIR/man/man1/rmic.1.gz \
--slave /usr/bin/schemagen schemagen /usr/java/$JDKDIR/bin/schemagen \
--slave /usr/share/man/man1/schemagen.1.gz schemagen.1.gz /usr/java/$JDKDIR/man/man1/schemagen.1.gz \
--slave /usr/bin/serialver serialver /usr/java/$JDKDIR/bin/serialver \
--slave /usr/share/man/man1/serialver.1.gz serialver.1.gz /usr/java/$JDKDIR/man/man1/serialver.1.gz \
--slave /usr/bin/unpack200 unpack200 /usr/java/$JDKDIR/bin/unpack200 \
--slave /usr/share/man/man1/unpack200.1.gz unpack200.1.gz /usr/java/$JDKDIR/man/man1/unpack200.1.gz \
--slave /usr/bin/wsgen wsgen /usr/java/$JDKDIR/bin/wsgen \
--slave /usr/share/man/man1/wsgen.1.gz wsgen.1.gz /usr/java/$JDKDIR/man/man1/wsgen.1.gz \
--slave /usr/bin/wsimport wsimport /usr/java/$JDKDIR/bin/wsimport \
--slave /usr/share/man/man1/wsimport.1.gz wsimport.1.gz /usr/java/$JDKDIR/man/man1/wsimport.1.gz \
--slave /usr/bin/xjc xjc /usr/java/$JDKDIR/bin/xjc \
--slave /usr/share/man/man1/xjc.1.gz xjc.1.gz /usr/java/$JDKDIR/man/man1/xjc.1.gz

# Añadiendo alternative Java application launcher
sudo /usr/sbin/update-alternatives --install /usr/bin/java java /usr/java/$JDKDIR/jre/bin/java 3 \
--slave /usr/share/man/man1/java.1.gz java.1.gz /usr/java/$JDKDIR/man/man1/java.1.gz \
--slave /usr/lib64/jvm/jre jre /usr/java/$JDKDIR/jre \
--slave /usr/lib64/jvm-exports/jre jre_exports /usr/lib64/jvm-exports/jdk_Oracle \
--slave /usr/bin/keytool keytool /usr/java/$JDKDIR/jre/bin/keytool \
--slave /usr/share/man/man1/keytool.1.gz keytool.1.gz /usr/java/$JDKDIR/man/man1/keytool.1.gz \
--slave /usr/bin/orbd orbd /usr/java/$JDKDIR/jre/bin/orbd \
--slave /usr/share/man/man1/orbd.1.gz orbd.1.gz /usr/java/$JDKDIR/man/man1/orbd.1.gz \
--slave /usr/bin/policytool policytool /usr/java/$JDKDIR/jre/bin/policytool \
--slave /usr/share/man/man1/policytool.1.gz policytool.1.gz /usr/java/$JDKDIR/man/man1/policytool.1.gz \
--slave /usr/bin/rmid rmid /usr/java/$JDKDIR/jre/bin/rmid \
--slave /usr/share/man/man1/rmid.1.gz rmid.1.gz /usr/java/$JDKDIR/man/man1/rmid.1.gz \
--slave /usr/bin/rmiregistry rmiregistry /usr/java/$JDKDIR/jre/bin/rmiregistry \
--slave /usr/share/man/man1/rmiregistry.1.gz rmiregistry.1.gz /usr/java/$JDKDIR/man/man1/rmiregistry.1.gz \
--slave /usr/bin/servertool servertool /usr/java/$JDKDIR/jre/bin/servertool \
--slave /usr/share/man/man1/servertool.1.gz servertool.1.gz /usr/java/$JDKDIR/man/man1/servertool.1.gz \
--slave /usr/bin/tnameserv tnameserv /usr/java/$JDKDIR/jre/bin/tnameserv \
--slave /usr/share/man/man1/tnameserv.1.gz tnameserv.1.gz /usr/java/$JDKDIR/man/man1/tnameserv.1.gz

# Añadiendo alternative Web browser plug-in
sudo /usr/sbin/update-alternatives --install /usr/lib64/browser-plugins/javaplugin.so javaplugin /usr/java/$JDKDIR/jre/lib/amd64/libnpjp2.so 3 \
--slave /usr/bin/javaws javaws /usr/java/$JDKDIR/jre/bin/javaws \
--slave /usr/share/man/man1/javaws.1.gz javaws.1.gz /usr/java/$JDKDIR/man/man1/javaws.1.gz

# El usuario puede seleccionar ahora que JAVA, JDK y plugin de JAVA a usar ...
sudo /usr/sbin/update-alternatives --config java
sudo /usr/sbin/update-alternatives --config javac
sudo /usr/sbin/update-alternatives --config javaplugin


Suponiendo que hemos grabado el fichero script también en "/tmp" desde una consola ejecutamos el script con la sentencia :

tuUsuario@tuHostName:/tmp> sh instalaOracleJDK8

Nos pedirá la clave de root, y ejecutará lo necesario para configurar el JDK 8 de Oracle en nuestra máquina. Al final nos saldrá un menú para que elijamos las opciones de Java, el JDK y el plugin del navegador Firefox (Chromium se configura aparte, si tengo tiempo y ganas lo explicaré en otro artículo). Nos fijaremos en las rutas y seleccionaremos la de Oracle. Os adjunto una captura de la salida del script con la opción seleccionada en rojo:

There are 3 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                       Priority   Status
------------------------------------------------------------
  0            /usr/lib64/jvm/jre-1.7.0-openjdk/bin/java   17147     auto mode
  1            /usr/java/jdk1.8.0_11/jre/bin/java          3         manual mode
* 2            /usr/lib64/jdk7_Oracle/bin/java             3         manual mode
  3            /usr/lib64/jvm/jre-1.7.0-openjdk/bin/java   17147     manual mode

Press enter to keep the current choice[*], or type selection number: 1
update-alternatives: using /usr/java/jdk1.8.0_11/jre/bin/java to provide /usr/bin/java (java) in manual mode
update-alternatives: warning: skip creation of /usr/lib64/jvm-exports/jre because associated file /usr/lib64/jvm-exports/jdk_Oracle (of link group java) doesn't exist
There are 3 choices for the alternative javac (providing /usr/bin/javac).

  Selection    Path                                         Priority   Status
------------------------------------------------------------
  0            /usr/lib64/jvm/java-1.7.0-openjdk/bin/javac   17147     auto mode
  1            /usr/java/jdk1.8.0_11/bin/javac               3         manual mode
* 2            /usr/lib64/jdk7_Oracle/bin/javac              3         manual mode
  3            /usr/lib64/jvm/java-1.7.0-openjdk/bin/javac   17147     manual mode

Press enter to keep the current choice[*], or type selection number: 1
update-alternatives: using /usr/java/jdk1.8.0_11/bin/javac to provide /usr/bin/javac (javac) in manual mode
There are 3 choices for the alternative javaplugin (providing /usr/lib64/browser-plugins/javaplugin.so).

  Selection    Path                                              Priority   Status
------------------------------------------------------------
  0            /usr/lib64/IcedTeaPlugin.so                        17106     auto mode
  1            /usr/java/jdk1.8.0_11/jre/lib/amd64/libnpjp2.so    3         manual mode
  2            /usr/lib64/IcedTeaPlugin.so                        17106     manual mode
* 3            /usr/lib64/jdk7_Oracle/jre/lib/amd64/libnpjp2.so   3         manual mode

Press enter to keep the current choice[*], or type selection number: 1
update-alternatives: using /usr/java/jdk1.8.0_11/jre/lib/amd64/libnpjp2.so to provide /usr/lib64/browser-plugins/javaplugin.so (javaplugin) in manual mode



Espero que os sirva de ayuda.

NOTA: Me he basado en la ayuda del wiki de OpenSUSE en la dirección :

http://en.opensuse.org/SDB:Installing_Java#Procedure_with_development_environment_included_.28JDK.29

Corrigiendo ciertos "errorcillos" en el procedimiento... ;-)

martes, 12 de noviembre de 2013

El Atazar en otoño de 2013