Bilbao Blogs & Beers

September 5th, 2007 by Roberto Salicio

Esta tarde nos vemos en BBB, es mi primera vez así que hoy toca conocer gente nueva.

Estoy que tiro la casa por la ventana 2 posts en 2 días :D
 

¿Soy geek? de vuelta por un meme

September 4th, 2007 by Roberto Salicio

Mira que llevo tiempo sin escribir… uff mejor no mirar la fecha del anterior post. ¿Y que me ha hecho volver? pues un meme que me ha pasado Aitor desde Linked, nunca había recibido ninguno, y como me encantan los cacharros que mejor excusa para hacer inventario :D

 Ahí voy a enumerar todos los trastos:

  • Dell Dimension 9100, es un Pentium D820 a 2,8GHz con 3GB de RAM y 160GB de HD. Mi PC de sobremesa con Windows XP y Linux (en este momento Ubuntu). Ni un solo problema desde su compra y es increíblemente silencioso.
  • Dell 2005FPW, mi querido monitor de 20" estoy encantado con el, con su definición, colores… todo en general
  • Macbook 13", el más sencillo 1,86GHz y 1GB de RAM comprado el día que lo presentaron como regalo de cumpleaños. Muy contento con el y su autonomía (es mi compañero en mis viajes a Madrid) y se hace el recorrido enterito, unas 5h, sin protestar y sin parar. Sobre el Mac OS X, pues… me gusta.
  • COMPAQ Presario 2500, un portátil mejor dicho un "portable", porque como pesa el condenado. Es un Pentium 4 con 768MB de RAM, y una pantalla de 15". Demasiado ruidoso, sobre todo lo noto desde que tengo el mac. En estos momentos está prestado temporalmente a mi hermana porque su ordenador a sufrido algún percance.
  • 486 Clónico y ampliado hasta sus límites, un DX4 a 100MHz, 64MB de RAM y 4GB de HD todo un cacharro que sigue funcionando y conservo porque le tengo cariño.
  • Linksys NSLU2, un cacharro muy especial que me permite tener un servidor de SVN, guardar mis datos, copias de seguridad, descargar torrents, acceder por SSH o FTP desde cualquier sitio y todo funcionando sin apagarlo prácticamente nunca, consumiendo muy pocos watios y sin ruido. Tiene enchufados 2 HD LaCie Porsche de 250Gb también muy silenciosos.
  • HD Externo LaCie Porsche de 500GB, mi última adquisición para dotar de más capacidad a mi Dell de sobremesa.
  • DVD±RW Externa LaCie Porsche, si me gustan los productos de LaCie como se puede ver ;) Es mi grabadora de DVD que prácticamente no uso porque prefiero guardarlo todo en Discos Duros (ahora mismo tengo 1TB y algo de almacenamiento más o menos)
  • D-Link DSL-G624T,  mi router ADSL2+ que me permite conectarme a unos 10Mb a internet es WIFI b/g y su funcionamiento es correcto aunque de vez en cuando se le va la pinza :)
  • D-Link DES-1005D, un switch de 5 bocas que me permite enchufar todos los cacharros no wifi que tengo por casa.
  • Fonera, otra wifi mas que me permite, compartiendo un poco de mi ancho de banda poder conectarme a otras foneras por todo el mundo. Por ahora lo he aprovechado en casa de mi hermano :D
  • HP Deskjet  980cxi, una impresora con unos cuantos años pero que me permite imprimir automáticamente por las 2 caras y que sigue funcionando como el primer día.
  • GRIFFIN elevator, un cómodo soporte para el mac que me permite elevarlo y ponerlo a la altura del monitor de 20" y poder trabajar con los 2 ordenadores a la vez.
  • WACOM Graphire, una tableta gráfica que uso menos de lo que me gustaría.
  • iRiver H120, mi reproductor de mp3, si no tengo un iPod y no quiero uno :P, tiene muchos años y muchísimos kilómetros (se nota en la pintura). Con sus 20GB puedo almacenar toda la música y todos los datos que quiera llevar de un lado a otro. Suena increíblemente bien, sobre todo si lo conectas mediante sus salidas ópticas. Tiene radio, grabadora y puede reproducir la música de itunes plus (usando el firmware de rockbox). Y lo mejor, su batería que sigue durando sus 14h sin problemas.
  • SONY Cyber-shot DSC-P92, mi cámara de fotos de 5MPixeles es viejita pero aun funciona y saca fotos decentes aunque se coma las baterias de una forma exagerada.
  • SonyEricsson V630i, mi móvil personal de Vodafone al que suelo pasar mucho tiempo colgado.
  • SonyEricsson K610i, de Yoigo para conectarme a internet con el mac desde cualquier lado.
  • BlackBerry 8800, el móvil/PDA/cacharro pa’ to del curro un diseño muy chulo que permite leer/enviar correos, navegar por internet, chatear y usar google maps con el GPS que tiene integrado.
  • Nintendo Wii, una consola genial para todos los públicos.

Bueno creo que ya están todos aunque con la memoria que tengo algo seguro que me dejo y si, soy geek!!!! :D. Ahora me toca pasar el meme a alguien pero si que me lo han puesto difícil, pero bueno elegiré un par de compañeros de weblogs para que continúen. Os toca lasterra y mondelo.

Primeras sorpresas con Java SE 6

January 19th, 2006 by Roberto Salicio

Llevo un tiempo usando las versiones beta de Java SE 6 como java por defecto y la verdad que problemas no he encontrado ninguno grave, salvo algún applet que se le atraganta. La verdad es que si he visto algunas mejoras sobre todo me he dado cuenta de que las aplicaciones swing dan la impresión de ir más “sueltas”, y que el suavizado de las fuentas mejora bastante. Pero en ningún momento me preocupe de si el resto de aplicaciones también se veían mejoradas, o al menos no lo habia apreciado. Hasta ayer.Ya conocía la aplicación Sunflow, un motor de “renderizado” hecho en java, pero no lo había probado. Aprovechando que el día 16 sacaron una nueva versión, desde el 2003 no habían puesto nada descargable, decidí probar a ver que tal iba. Baje el código y como decía en el README compilé y ejecute con la versión 5 de java (si también la tengo instalada y la 1.4.2 y otra 1.3, supongo que como todos los desarrolladores). Como indican en su página, no está hecho en java por su velocidad sino por el lenguaje que les facilita el desarrollo, y comentan que en C sería de 1,5 a 2 veces más rápido. Así que no me sorprendí cuando tardo 11 minutos en “renderizar” una escena llena de teteras. En ese momento se me ocurrió probar a compilarlo con la versión 6 (b66), solo por curiosidad, y ahí vino mi sorpresa 3 minutos y medio!!!!!. Vaya, 3 veces más rápido, mejor que lo que apuntan con C :). Lo repetí un par de veces por si había algún error y lo mismo, pues si que ha mejorado. Ya se que esto no es una aplicación estandar, y no sirve de medida, pero en aplicaciones de cálculo matemático intensivo (los 2 nucleos de la CPU al 100% durante todo el proceso) si se puede predecir que habrá una mejora.Ya que estaba en ello decidí probar un poco más y lo ejecuté con diferentes configuraciones 5, 5 server, 6 y 6 server y estos fueron los resultados:benchSe puede apreciar que la diferencia más notable está en la versión “HotSpot Client” de la 6, que llega a superar a las 2 server.Conclusión, parece que Sun se ha puesto las pilas en el rendimiento, pero ¿cuanto tardaremos en aprovecharlo si aún se desarrolla con la 1.4?

Por fin llegó…

October 13th, 2005 by Roberto Salicio

Después de mucho esperar, de que lasterra comprase todos los altavoces disponibles, y tuviese que volver a hacer el pedido, de que organizase a los transportistas para que hiciesen una huelga (menos mal que se ha adelantado la entrega, uff) y que hasta se inventase la fiesta nacional de ayer (si, si es idea de lasterra seguro ;D). Por fin… ha llegado un nuevo miembro de la familia, pero este me ha salido cabezón, como 20″ de cabeza :D.

Aquí está una foto del nuevo juguete…

Foto del juguete

Otra en más detalle del PC…

Otra foto del juguete

Y un detalle de su cabecita :D no esta mal esto de 1680×1050 jeje…

Foto del monitor

y para muestra de lo que cabe aquí, javaHispano y los weblogs lado a lado… (pedazo barra de tareas)

Foto del monitor

Ah, se me olvidaba que esto tiene más que un monitor, el cacharrillo es un Pentium D 2.8Ghz con 1Gb de RAM y algún detallito más :D

Cool WWW Search y demás…

September 28th, 2005 by Roberto Salicio

Bueno por alguna razón (supongo que por “Me buscan por”) google a decidido que mi weblog aparezca de los primeros cuando se busca como quitar cosas como el Cool WWW Search. Yo la verdad es que no he tenido la desgracia de sufrir ese tipo de spyware, quizás linux tenga algo que ver ;), pero dado el número de visitas y de mails que he me han llegado preguntando como se quita pues aquí van unos consejos:


  • No uses internet explorer, vale parece evidente, pero no está mal recordarlo. Prueba Firefox, te gustarán sus pestañas.
  • Mira lo que instalas, leer de vez en cuando evita que se instalen cosas molestas. Se aprovechan de la costumbre de siguiente, siguiente, siguiente.
  • Mantén actualizado tu windows con Windows Update.
  • Y bueno, si ya es tarde, pues prueba Spybot - Search & Destroy un programa que elimina este tipo de spyware. Es fácil de usar, instalar y pulsar en “Analizar problemas” te buscará por todo el disco y te permitirá eliminar todo lo sospechoso. Seguro que te sorprende la cantidad de cosas que encuentra.



Espero que le sirva a alguien.

Cáñamo, de OREO a Licurgo

August 2nd, 2005 by Roberto Salicio

A aquellos que ya conoceis Cáñamo sin duda os sonará OREO, su motor de persistencia, basado en módelos dinámicos. Si quereis saber más sobre ellos no dudeis en preguntar a Al, sin duda os dará una charla sobre sus bondades :). Y gracias a él ahora tenemos otro motor de persistencia, Licurgo, también basado en modelos dinámicos pero esta vez con el objetivo de ser una implementación de Service Data Objects (SDO, JSR 235).

¿Y a qué viene todo esto? Bueno como me han pedido un pequeño manual de como se pasa de OREO a Licurgo que mejor sitio para ponerlo que en mi “concurrido” weblog :D.
El paso es muy sencillo, ya que no requiere cambios en el código de nuestras aplicaciones, solo en los ficheros de configuración.

  1. Servicio de persistencia:

    Lo primero que tenemos que hacer es cambiar el servicio de persistencia. Este se encuentra en “WEB-INF/conf/services.xml”. Tendremos algo como esto:

        <!-- Servicio de persistencia -->
        <service name="persistence"
                 class="org.javahispano.canyamo.services.persistence.oreo.OreoDataSource">
        </service>
        

    Que tendremos que sustituir por:

        <!-- Servicio de persistencia -->
        <service name="persistence"
                 class="org.javahispano.canyamo.services.persistence.licurgo.LicurgoService“>
        </service>
        

    De esta forma indicamos a Cáñamo que use Licurgo en vez de OREO.

  2. Datasource:

    El fichero que indica la BD a utilizar, “datasources.xml” también a cambiado un poco. Ahora su nombre es “licurgo-datasources.xml” aunque se encuentra en el mismo lugar “WEB-INF/conf”. Y el formato pasa de:

    <?xml version="1.0"?>
    
    <!DOCTYPE DATASOURCES SYSTEM "classpath:/org/oreodata/metadata/datasources.dtd">
    <DATASOURCES>
    
      <DATASOURCE CLASS="org.javahispano.canyamo.services.persistence.oreo.CanyamoRecordSet" NAME="canyamo" >
            <PROPERTY KEY="JDBC_DRIVER_CLASS" VALUE="@JDBC_DRIVER@" />
            <PROPERTY KEY="JDBC_URL" VALUE="@JDBC_URL@" />
            <PROPERTY KEY="USER" VALUE="@JDBC_USER@" />
            <PROPERTY KEY="PASSWORD" VALUE="@JDBC_PASSWORD@" />
            <PROPERTY KEY="MAX_CACHE_SIZE" VALUE="0" />
            <PROPERTY KEY="DOUBLE_QUOTE_LITERAL" VALUE="N" />
            <PROPERTY KEY="CONNECTION_POOL_MINIMUM" VALUE="3" />
            <PROPERTY KEY="CONNECTION_POOL_MAXIMUM" VALUE="15" />
        </DATASOURCE>
    
    </DATASOURCES>
    

    a:

    <?xml version="1.0" encoding="UTF-8"?>
    <datasources>
    
        <datasource name="canyamo" class="org.licurgo.jdbc.JDBCDataSource">
            <pool class="org.licurgo.jdbc.pools.ProxoolPool">
                <property name="min-size" value="3"/>
                <property name="max-size" value="15"/>
            </pool>
            <connection>
                <property name="driver" value="@JDBC_DRIVER@"/>
                <property name="url" value="@JDBC_URL@"/>
                <property name="username" value="@JDBC_USER@"/>
                <property name="password" value="@JDBC_PASSWORD@"/>
            </connection>
        </datasource>
    
    </datasources>
    
  3. Ficheros de persistencia:

    Este es el paso que más tiempo lleva, aunque no es complejo. Hay que ir modificando todos los ficheros de persistencia de nuestra aplicación. Así que directorio a directorio dentro de “WEB-INF/conf” abrimos los persistence.xml y hacemos los siguientes cambios:

    No hay que olvidarse del fichero “canyamo-defs.xml” que contiene la definición del usuario y que ahora pasa a llamarse “licurgo-tables.xml”. Es el que usaré de ejemplo, este tiene 2 tablas definidas (users,role)

    <?xml version="1.0"?>
    
    <!DOCTYPE RECORDDEFS SYSTEM "classpath:/org/oreodata/metadata/recorddefs.dtd">
    <RECORDDEFS>
    
        <RECORD TYPE="users"
          PRIMARY_KEY="login"
          DATASOURCE="canyamo"
          TABLE_NAME="users">
            <FIELD NAME="name" CLASS="&STRING;" REQUIRED="Y" >
               <PROPERTY KEY="MAX_LENGTH" VALUE="30" />
            </FIELD>
            <FIELD NAME="login" CLASS="&STRING;" REQUIRED="Y" >
               <PROPERTY KEY="MAX_LENGTH" VALUE="12" />
            </FIELD>
            <FIELD NAME="password" CLASS="&STRING;" >
                <PROPERTY KEY="MAX_LENGTH" VALUE="25" />
            </FIELD>
            <FIELD NAME="email" CLASS="&STRING;">
                <PROPERTY KEY="MAX_LENGTH" VALUE="50" />
            </FIELD>
            <FIELD NAME="lang" CLASS="&STRING;">
                <PROPERTY KEY="MAX_LENGTH" VALUE="5" />
            </FIELD>
            <FIELD NAME="roles" CLASS="&STRING;">
                <PROPERTY KEY="MAX_LENGTH" VALUE="100" />
            </FIELD>
            <FIELD NAME="date" CLASS="&DATE;" />
            <FIELD NAME="lastlogin" CLASS="&DATE;" />
            <FIELD NAME="active" CLASS="&STRING;">
                <PROPERTY KEY="MAX_LENGTH" VALUE="1" />
            </FIELD>
            <FIELD NAME="online" CLASS="&STRING;">
                <PROPERTY KEY="MAX_LENGTH" VALUE="1" />
            </FIELD>
             <!--
            The SQL_TYPE="TEXT" is probably specific to MySQL. In MySQL, the maximum
            length of VARCHAR is 255 characters. For other DBMS's, you
             may need to replace or simply delete that attribute
             -->
             <!--
            <FIELD NAME="columns_content" CLASS="&STRING;" SQL_TYPE="TEXT" REQUIRED="N" >
               <PROPERTY KEY="MAX_LENGTH" VALUE="8000" />
            </FIELD>
            <FIELD NAME="columns_width" CLASS="&STRING;">
                <PROPERTY KEY="MAX_LENGTH" VALUE="20" />
            </FIELD>
            -->
        </RECORD>
    
        <RECORD TYPE="role"
          PRIMARY_KEY="id"
          DATASOURCE="canyamo"
          TABLE_NAME="roles">
            <FIELD NAME="id" CLASS="&STRING;" REQUIRED="Y" >
               <PROPERTY KEY="MAX_LENGTH" VALUE="12" />
            </FIELD>
            <FIELD NAME="text" CLASS="&STRING;" REQUIRED="Y" >
               <PROPERTY KEY="MAX_LENGTH" VALUE="25" />
            </FIELD>
            <FIELD NAME="systemrole" CLASS="&STRING;" REQUIRED="Y" >
               <PROPERTY KEY="MAX_LENGTH" VALUE="1" />
            </FIELD>
        </RECORD>
    
    </RECORDDEFS>
    

    Lo convertimos en:

    <?xml version="1.0" encoding="UTF-8"?>
    <dataobjects>
        <dataobject name="users"
                    datasource="canyamo"
                    primary-key="login"
                >
        </dataobject>
    
        <dataobject name="role"
                    datasource="canyamo"
                    primary-key="id"
                />
    </dataobjects>
    

    ¿Sencillo, no?. Esta simplificación se debe a que Licurgo se encarga de descubrir los campos de las tablas en el arranque de Cáñamo, se acabó el “me equivoqué en una letra, mira que no poner la s, ay! se me olvido cambiar el persistence,…” y demás escusas que ponemos por ser humanos ;).

    Otra de las cosas que hay que modificar es si tenemos autonuméricos en este caso añadiremos:

    <uid-generator class="org.licurgo.jdbc.uid.SequenceUIDGenerator"
                            type="java.lang.Integer"
                    />
    

    dentro del “dataobject” correspondiente.

Bueno ya está bien por hoy, seguro que me dejo cosas pero para comenzar debería valer y además así tengo algo de lo que volver a escribir ;).

Ya tengo 30

May 24th, 2005 by Roberto Salicio

Pues eso, que hoy es mi cumpleaños y ya he terminado con todos los veinti…, ahora es cuando uno tiene las crisis y esas cosas, no? Bueno intentaré olvidarme de ellas comiendo pasteles y pintxos con mis compis de curro :D

Mas fotos del congreso

February 2nd, 2005 by Roberto Salicio

Esta vez me he superado solo unas horas y ya he subido las fotos de mondelo aquí, estarás contento, ¿eh? :D. Bueno a algunas las he tenido que ajustar el brillo y esas cosas para ver algo más, bueno o lo he intentado. Vaya aquí tampoco aparece mariscal ¿seguro que estaba? jeje

Feb 2, 2005 - 32 Photos

Fotos del II Congreso javaHispano

January 30th, 2005 by Roberto Salicio

Lo mio es poner las fotos tarde ;) si lo hice en el anterior congreso (un par de post más abajo, joe que poco publico) por que no en este.
Esta vez hay menos, eso de andar de un lado para otro con las pistolitas no me dejo sacar muchas fotos, pero bueno menos es nada. Pues aquí las teneis para ver como algún presidente de alguna asociación, que no voy a nombrar, de esas de java, se quedaba dormido en una charla ;)

Dec 14, 2004 - 44 Photos

Spam, spam, spam…

February 29th, 2004 by Roberto Salicio

Y yo que pensaba que no era una víctima del spam, solo me llegaban unos pocos (1 o 2) mensajes a la semana y solo a mi cuenta de hotmail. Pero algo ocurrió el jueves, empece a recibir spam muuuuuuucho spam en casi todas las cuentas. He debido hacer algo muy malo la semana pasada a alguien :)
Visto que continuaba el viernes pues decidí buscar alguna solución y encontré SpamPal, fácil de instalar y de integrar con los clientes de correo y se puede ampliar mediante plug-ins. Solo necesitas indicarle a tu programa de correo que use localhost como servidor, cambiar el usuario a usuario@servidor_original, crear una regla de correo para los mensajes cuyo asunto contenga **SPAM** y ya está funcionando. Por ahora, parece efectivo ha identificado todos los que me han llegado a ver que tal los próximos días….

PD: Yo no sabía de donde venía la palabra “SPAM” hasta que me lo contó Aitor, procede de un Sketch de los Monty Python ;)