Thinking on hiring me?

Please read

Fernando Guillén

a Freelance Web Developer

cabecera decorativa

software development as an artistic expression

Archive for the ‘linux’ Category

Martes, Enero 15th, 2008

Me paso a Ubuntu

(Hace tiempo que debería haber escrito este post pero no me he animado hasta ahora).

He notado un pequeño click en la cabeza. Siempre me ha gustado cacharrear, conocer el porqué de las cosas, por eso me he enamorado de Linux, también me gusta que las cosas funcionen y que funcionen bien, Linux es una excelente tecnología para servidores pero montarte un desktop siempre ha sido un suplicio y nunca he conseguido un escritorio robusto, compacto, con todos los componente integrados.

Al principio mi inquietud por cacharrear consolaba mi frustración por lo costoso que era hacer que el escritorio funcionara. Luego empecé a desesperarme: necesitaba más que nunca que las cosas funcionasen a la primera, que el ordenador se convirtiera en mi herramienta no en mi objetivo.

En ningún momento pensé en volver a Windows, no adelantaba nada: perdía el control sobre el sistema y no había garantías de que el escritorio funcionase, por lo menos más allá del primer mes post-instalación.

Ahora he conocido Ubuntu y todo funciona, se instala en un plis, me lo detecta todo, las herramientas se comunican entre ellas, las impresoras aparecen por arte de magia, los plugins se los come como caramelos y el sistema de paquetes es endiabladamente sencillo.

Echaré de menos alguna vez mi querido Gentoo, pero no creo que vuelva.

Martes, Diciembre 18th, 2007

¿Cómo saber con que versión de java se ha compilado una clase?

Cuándo tienes varios entornos de producción, unos más actualizados que otros, tienes que tener cuidado de con qué compilador generas los .class para cada Tomcat.

En mi caso en desarrollo tengo java1.6 pero tengo un entorno de producción que requiere que se le carguen las clases compiladas para 1.4 o no funcionará.

El lío que tengo en el eclipse de configuraciones para cada proyecto es bastante engorroso y nunca sé si ha puesto bien cada atributo de las propiedades, sin contar con que Ant tiene también sus propias configuraciones para el compilador.

Al final no sé si he generado bien el .war para este entorno o no y es un poco cabreante subir un .war de 8 megas a producción ponerlo todo bien y ver como se queja el Tomcat al arrancar para volver a recompilar y volver a probar.

He encontrado este truco para saber si he compilado bien las clases:

http://dpinya.blogspot.com/2007/10/como-saber-con-qu-jdk-se-ha-compilado.html

http://blogs.sun.com/sundararajan/entry/thou_shall_know_the_class

En resumen, basta con ejecutar en consola:

$ file Clase.class
Clase.class: compiled Java class data, version 48.0

El dato importante es “version 48.0″ hay que buscar en la siguiente tabla para saber con qué versión fué compilado:

<48 Requires JRE 1.3.1 or later
=48 Requires JRE 1.4.2 or later
=49 Requires JRE 1.5 or later
=50 Requires JRE 6 or later
>50 Requires JRE 7 or later

Jueves, Octubre 4th, 2007

Los problemas de no tener un ‘default host’ bien definido en el Apache

“Nano que pasa! soy zormat, oye tío ques que mestoy.. me acabo de meter en batanbruits y … y …y .. hay una.. un blog de porrrno o no sé de que es ostias es no se amantes 2.0, osea ya no es que esté caído, es que hay un blog de tías, de configuración de muñeca hinchable y nose que, bueno una cosa de flipar no sé decirte si es muy normal o … pero nosé tío es que yo no es que no haya nada esque estamos en ennn.. con un nn..nn … este porrno tío nosé muy raro eh¡

A ver si puedes le echar un ojo tío por que es que ir al festival y estar así es un poco jodido ( :) risas ) vale? haber si puedes hacer algo.. vale? … venga hasta luego”

Mp3 de batantanbruitsEscuchar audio

Lunes, Octubre 1st, 2007

Tuneando Eclipse en Ubuntu

Si eres de los que les das mucho tute al eclipse y notas como cada 2 por 3 se te cuelga o se queda pillado pensando en dios sabe que.. imprescindible arrancar eclipse con estos argumentos:

-vmargs -Xms512m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=128m

Para poner estos argumentos en el punto de menú puedes arrastrar el punto de menú del eclipse a tu barra de tareas o escritorio y en el elemento creado pulsar con el botón derecho > Propiedades y en Comando poner:

/usr/bin/eclipse -vmargs -Xms512m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=128m

Lo que estamos haciendo es asignar más memoria a la máquina virtual java donde se ejecuta eclipse, este truco no es apto para máquinas con menos de 1GB de Ram.

Suerte.

Viernes, Agosto 17th, 2007

Compartir el escaner en red

Cada vez me quedo más maravillado con esto del Ubuntu (6.10).

Ahora estoy con una impresora multifunción HP F380 instalándola en el servidor de la oficina para que pueda ser accesible desde cualquier terminal instalada en la intranet.

No voy a entrar en pormenores con la instalación de la modalidad impresora por que ha sido un “Instalar nueva impresora > siguiente > siguiente > siguiente”, tampoco voy a explicar como se instala el escaner en modo local por que ni siquiera se instala, simplemente abres el Gimp y “Archivo > Adquirir > Xsane > Device Dialog” y él solito te encuentra el escaner instalado en local y te abre la interface de escaneado.

Lo que sí tiene un pelín de ‘consola’ es configurar el escaner en modo servidor y atender peticiones de los clientes de la red.

Instalar servidor

Instalamos los paquetes necesarios

  • sane
  • sane-utils
  • xinetd

Ya sea mediante el gestor de paquetes gráfico o en consola:
$ sudo aptitude install xinetd sane sane-utils

Retocamos los ficheros de configuración

Añadimos la red de nuestra intranet en el /etc/sane.d/saned.conf:
$ sudo echo "192.168.1.0/24" >> /etc/sane.d/saned.conf

Configuramos el servicio saned para que lo arranque xinetd, para ello creamos un fichero llamado /etc/xintetd.d/saned y escribimos esto:
service sane
{
disable = no
socket_type = stream
wait = no
user = saned
group = saned
server = /usr/sbin/saned
protocol = tcp
}

Comprobamos que el puerto que usará nuestro servicio saned está bien configurado:
$ grep "sane" /etc/services
sane-port 6566/tcp sane saned # SANE network scanner daemon

Reiniciamos xinetd por si acaso:
$ sudo /etc/init.d/xinetd restart

Instalación de los clientes

Instalamos los paquetes necesarios

  • sane
  • sane-utils

Ya sea mediante el gestor de paquetes gráfico o en consola:
$ sudo aptitude install sane sane-utils

Le decimos a saned del cliente dónde está nuestro servidor

$ sudo echo "ip_servidor_escaner" >> /etc/sane.d/net.conf

Ya está

Vamos al Menú > Aplicaciones > Gráficos > Xsane

Resolución de problemas

Comprueba que el puerto 6566 está a la escucha

En el servidor:
$ telnet localhost 6566

En el cliente:
$ telnet ip_servidor_con_escaner 6566

Mira el log de xinetd en SYSLOG

En el servidor:
$ tail -f /var/log/syslog

Sin soltar esta consola abre otra y reinicia xinetd para ver que dice:
$ sudo /etc/init.d/xinetd restart

Comprueba que el servidor detecta el escaner


$ scanimage -L
device `hpaio:/usb/Deskjet_F300_series?serial=CN74PGY0Q304KH' is a hp HP Deskjet F300 series multi-function peripheral

Comprueba que el cliente detecta el escaner


$ scanimage -L
device `net:willie.constela:hpaio:/usb/Deskjet_F300_series?serial=CN74PGY0Q304KH' is a hp HP Deskjet F300 series multi-function peripheral

Comprueba el log del saned

Para xinetd:
$ sudo /etc/init.d/xinetd stop

Inicia saned en consola con debug:
$ saned -d20

Desde cliente haz peticiones:
$ scanimage -L

Sitios de referencia

Castellano

English

a Freelance Web Developer is proudly powered by WordPress
Entries (RSS) and Comments (RSS).

Creative Commons License
Fernando Guillen's blog by Fernando Guillen is licensed under a Creative Commons Attribution-NoDerivs 3.0 Unported License.