Bienvenido(a) a Proyecto Script

Hola!!!

Este es un buen lugar donde buscar las respuestas a tus dudas sobre "Programación", "Lenguajes", "Linux", "Electrónica", etc.

Suele ser difícil buscar en la red y encontrar respuestas claras y en español a muchas preguntas sobre estos temas, así que aquí tienes un buen lugar para iniciar.

Quieres ser parte de esto, solo ¡regístrate!

jueves, 17 de julio de 2008

Problema 'xcb_xlib_unlock' al actualizar JVM

Después de cada actualización a la JVM es posible que cuando se quiere ejecutar algo en Java nos arroje algún error similar, en este reproduciré el error al ejecutar un archivo jar (el cual es el un diagramador de modelos entidad-relación):


neoriddle@neobalam ~/dbwrench_1.4.7 $ java -jar DbWrenchAll.jar
java: xcb_xlib.c:50: xcb_xlib_unlock: Assertion `c->xlib.lock' failed.
Abortado
neoriddle@neobalam ~/dbwrench_1.4.7 $


Y esto se corrige deshabilitando el XCB Xlib de la siguiente manera, basta con ejecutar la línea correspondiente (con los suficientes privilegios) dependiendo de la versión de la JVM.


  • Para Java 5:
    sed -i 's/XINERAMA/FAKEEXTN/g' /usr/lib/jvm/java-1.5.0-sun-1.5.0.11/jre/lib/i386/xawt/libmawt.so


  • Para Java 6:
    sed -i 's/XINERAMA/FAKEEXTN/g' /usr/lib/jvm/java-6-sun-1.6.0.00/jre/lib/i386/xawt/libmawt.so

Según he visto en varios foros, el problema se puede reproducir con muchas aplicaciones escritas o ejecutables en Java.

Como referencias aqui tienen las siguientes ligas:



Digg!

martes, 24 de junio de 2008

Registro de Nick en IRC

Muchos de los canales de IRC, solicitan que los nicknames (o apodos) sean registrados, unos servidores (como por ejemplo Freenode) lo requieren para entrar a algún canal y otros simplemente para mandar mensajes privados a los integrantes del canal.

Aquí escribo los pasos básicos para realizar este proceso:

  • Una vez dentro del servidor hay que elegir el apodo (de hecho para entrar al servidor se debió haber elegido un nick) pero si se quiere cambiar se puede hacer con el siguiente comando: /nick nuevo_nombre.
  • Después si el apodo ha sido elegido lo notificará en tal caso pide autentificarse (lo cual se explica mas adelante), en caso de que el apodo este libre hay que registrar la contraseña y un correo electrónico relacionados con el apodo, esto se hace con el siguiente comando: /msg nickserv register <password>, o /msg nickserv register <password> <email> (es importante escribir un correo electrónico válido porque ahí se enviará una confirmación de registro que hay que realizar forzosamente).
  • Una vez realizado el paso anterior es posible que se mande un correo electrónico para confirmar el registro, en tal caso ahí se envían unas instrucciones para enviar el código de verificación del registro.
  • Y por ultimo lo que queda es iniciar sesión con este apodo (nombre de usuario) y con su contraseña registrada, con el siguiente comando /msg nickserv identify password.
Por ejemplo imaginemos que mi apodo es 'usuarioirc', la contraseña es 'claveirc' y el correo eletrónico al registrar es 'micorreo@miservidor.com', el registro sería de la siguiente manera:


/nick usuarioirc
/msg nickserv register claveirc micorreo@miservidor.com
...
/msg nickserv identify claveirc


Digg!

domingo, 15 de junio de 2008

Mas sobre JSTL

Bueno,hoy quiero compartir algo de lo que aprendí haciendo mi proyecto con JSP y JSTL.

Intente hacer todo el proyecto usando las librerías estándar que ofrece JSTL 1.1, evitando el uso de java tradicional.

Mientras iba avanzado en el proyecto me di cuenta de que no se puede reemplazar uno por el otro; aunque JSTL engloba las funciones principales JSP tiene más ventaja para nosotros los que no estamos familiarizados con la web.

Un ejemplo de ello en mi sistema fue cuando generé una lista de captura de calificaciones de asignaturas (mostrando las calificaciones de acuerdo al grado y/o al plan de estudios y nombrando los SELECT de las calificaciones con el nombre de la asignatura), pero en la página donde recibí el valor no pude referenciar la variable de ningun modo por que en ${param.atributo} atributo no es un string y eso me genera un grave problema a la hora de iterar.
En cambio si hubiera usado algo del lenguaje java pude haber creado un arreglo de String con los nombres de las materias de dicho grado y/o plan de estudios e insertar los valores con request.getParam(arreglo[posicion]); .

Con esto no digo que JSTL no sirva ni mucho menos, es mucho más fácil usar DBCP con JSTL, solo indicando el dataSource como atributo de la etiqueta
en lugar de crear objetos Context,DataSource... en fin, aprendí que combinando estas dos cosas podemos hacer cosas muy hermosas y funcionales:D.

Quizá muchos de ustedes ya sepan eso, pero yo tuve que aprenderlo del modo difícil y quiero que el próximo que este en una situacion similar lo piense dos veces antes de hacer a un lado el buen lenguaje java.


Digg!

sábado, 14 de junio de 2008

Avira Antivir License File

Seguramente los usuarios del programa de Antivirus Avira AntiVir a la hora de hacer la actualización de la definición de virus, les ha pedido este programa un archivo de licencia.

Sucede que si vamos a la página oficial del programa, deberíamos encontrar una forma rápida para descargar este archivo, pero bajo el esquema espacial del sitio en estos momentos, simplemente no se encuentra en la sección de soporte, descargas, ni ninguna.

Resulta que existe una liga a este archivo en la sección Support, después a FAQ y finalmente en la primera pregunta del FAQ se encuentra la liga a este archivo, por si las dudas aquí pondré una liga a el:

Debido a que los administradores de ese sitio pueden cambiar la url hacia este archivo (y obviamente yo no tengo control sobre eso) es posible que la liga se rompa, en ese caso por favor envienme un mensaje informando este caso y aún mejor la nueva ruta para que se actualize.

Digg!

lunes, 9 de junio de 2008

Railscasts

A todos los programadores de Rails muy seguramente les servirá esta página, se llama Railscasts, la cual tiene pequeñas "recetas de cocina" sobre el trabajo con Rails. Y para los que están cansados de que cuando le preguntan a alguien los manda a Google, aquí a parte de dar soluciones tienen un video como demostración para ver la implementación paso a paso. Vale la pena tenerlo entre los favoritos y hasta tener el feed suscrito.

Digg!