lunes, noviembre 21, 2005

Decisiones, all is about decisions!!!!

Tengo una gran cantidad de archivos de computadora, y por tanto es necesario que los queme en CDs o DVDs para liberar espacio en disco ya que son la mayoria archivos multimedia que deseo conservar y organizar, por tanto necesito una aplicación que me permita tener una base de datos de los archivos para así saber rapidamente en que cd tengo un archivo o para saber cuando un archivo esta repetido.

Así que quiero poner manos al codigo, y hacer una aplicación para cumplir con este proposito, pero tengo que analizar las alternativas que tengo para desarrollar dicha aplicacion las cuales son las siguientes:

  1. Standalone en Java
  2. Standalone en PHP / GTK+
  3. Aplicacion PHP con front end Web


Ahora bien no se en que sea mas conveniente programar la aplicación la opción 3 realmente creo que debo descartarla por se poco práctica, así que paso a analizar las ventajas y desventajas de las otras opciones:

Opcion 2
- aprender GTK
- la instalación parece complicada
+ fuerte dominio de PHP

Opcion 1
+ portabilidad, va a poder correr en windows, linux, mac, etc.
+ mejorar mis habilidades de desarrollo de java
+ va a ser sencillo que la aplicacion pueda ser usada por otros
- probablemente tenga un consumo alto de memoria, pero no necesariamente

Todo lo que tuve que hacer, para darme cuenta de que la Opción 2 no era recomendable:

Respecto a poder instalar PHP5 mediante apt en Debian, pues resulta que tengo que actualizar a la version testing para que pueda instalar los paquetes que existen, lo cual en si mismo es un buen experimento para averiguar que tan bien funciona el proceso de cambio de stable a testing, y a la ves ver que tan buenos son los paquetes de la distro testing, ademas para probar algo diferente a compilar de los fuentes y probar las mieles de los repositorios apt.

Ok, me animo a pasar a testing.
Voy a hacer el cambio y ver que pasa....

Ok voy a borrar la linea

APT::Default-Release "stable";
en /etc/apt/apt.conf

Y /etc/apt/sources.list queda como sigue:

deb ftp://ftp.us.debian.org/debian/ testing main contrib non-free
deb-src ftp://ftp.us.debian.org/debian/ testing main contrib non-free
deb http://security.debian.org/ testing/updates main contrib non-free


Ok, ahora viene lo bueno.
apt-get update
apt-get upgrade


Segun el estimado le va a tomar 50 minutos en mi enlace a 512Kbits/seg, bajando a 52Kb/seg.

Sin embargo, hay paquetes que marca como retenidos y para ello al buscar en el google encontre que para solucionar esto hay que correr:
apt-get update
apt-get dist-upgrade


Lo cual actualiza incluso el kernel, y despues de reiniciar todo funciono correctamente y sin problema.

Una vez instalado hay que ver si ya puedo instalar el php5-cli para hacer aplicaciones php standalone para linea de comandos, y luego probar algunos ejemplos usando php con gtk.

Reiniciando la maquina, ahora si el sistema me permitio instalar los paquetes que se necesitan:

apt-get install php5-cli php5-dev



Luego descargar el fuente de php-gtk, y extraerlo.

y luego siguiendos las instrucciones
./buildconf
./configure

Pues no pasa el configure, ya que marca que solo se puede compilar con PHP 4.3.x, y al buscar en el google encontre que no es posible compilarlo con PHP5 y que las librerias GTK que utiliza son algo viejas.

En internet indican que hay instalar algunos paquetes pero esto de las dependencias es un lio bastante tedioso, otra opción es bajar las fuentes de PHP 4.3.10 y compilar el php, y luego el PHP-GTK, sin embargo no estariamos aprovechando las ventajas de orientacion a objetos de PHP5.

Todo esto demuestra que no es una opción viable, ya que la opción de java presenta ventajas considerables, en cuanto a portabilidad, facilidad en la instalación de elementos para el desarrollo, y el hecho de que la aplicación desarrollada puede ser usuda sin problema por los miles de usuarios con un JRE, así que las ventajas estan a la vista y por tanto voy a optar por olvidar este asunto del PHP-GTK y hacer el desarrollo en java.

jueves, noviembre 10, 2005

Accesando a archivos sobre SFTP desde el editor jEdit

Instalé el plugin de FTP para el jEdit ya que así puedo tener acceso a archivos remotos en un servidor unix (linux) usando SFTP, sin embargo al intentar me dio el error:

Cannot list directory: com.sshtools.j2ssh.SshException: Authentication has not been completed!

Al buscar en el google, encontre que el jEdit tiene una comunidad de usuarios, y dicho problema ya estaba documentado:
http://community.jedit.org/?q=node/view/1616

Al leer toda esa palabrería en resumidas cuentas comentan que es debido a un parametro de configuración del Servidor SSH sobre el que se esta intentando hacer la la conección, el parametro que mencionan es el parametro PasswordAuthentication entonces esto me indica que es algo que tiene que ver con el Servidor SSH, dado que estoy usando linux debian, se que el servidor ssh se llama sshd, por tanto consulto la pagina del manual de sshd

man sshd

Ahí encuentro que la configuración del servicio se encuentra en
/etc/ssh/sshd_config

Al abrir el archivo y buscar el parametro encuentro
PasswordAuthentication no

y lo cambio por
PasswordAuthentication yes

Luego para probar que esto era el problema pues reincio el servicio de sshd

/etc/init.d/ssh stop
/etc/init.d/ssh start

Y pruebo nuevamente la coneccion desde jEdit, y EUREKA problema resuelto!!!! Y ahora si ya puedo editar mis archivos sobre SFTP, genial !!!!

Este parametro es para habilitar que sshd acepte el password pelon por el tunel (tunneled clear text passwords), me imagino que debe tener alguna implicacion negativa para la seguridad, pero espero que no sea mucho problema ya que lo utilizo solo desde mi LAN.