Después de investigar un poco en la web sobre los formatos en los que se están publicando los libros electrónicos, y de leer en la wiki http://en.wikipedia.org/wiki/Comparison_of_e-book_formats, me doy cuenta que los formatos más fuertes hoy día (2010-11-16) son el epub y el mobipocket
Recuerdo que tengo algunos libros en formato epub que baje la semana pasada, así que me doy a la tarea de investigar sobre el contenido del archivo, al mostrarlo con less veo la palabra zip, así que supongo que la extensión .epub es solo un adorno y en realidad se trata de un archivo .zip, cambio la extensión y luego extraigo el contenido con unzip, para ver que los archivos que contiene son en su mayoría XML, y que el libro esta descrito mediante los ya tan familiares XHTML y CSS lo cual es una grata sorpresa para mí que conozco estas tecnologías. Incluso el archivo de tabla de contenidos, es un XML bastante entendible.
En la wikipedia se puede encontrar más información respecto a este formato abierto, que Amazon todavía no soporta en el Kindle 3 http://en.wikipedia.org/wiki/EPUB
Este es el blog personal de las actividades de trabajo del Arquitecto de Sistemas (SA) Alfonso Baqueiro Bernal.
martes, noviembre 16, 2010
lunes, noviembre 01, 2010
Screen capture in linux, using ffmpeg
ffmpeg in ubuntu can be used in very simple way to capture directly from the X server in this way
TS=`date +%Y%m%d_%H%M`; ffmpeg -s 1024x600 -f x11grab -r 1 -i :0.0 -s 768x450 -vcodec flashsv sesion-$TS.flv
we indicate the original size (-s 1024x600) and the frame rate of grabbing (-r 1) that is and X grabbing (-f x11grab) the source screen (-i :0.0) and the desired video codec (-vcodec flashsv) o sea flashscreenvideo and the file format of the file container in this case flash video (.flv)
other example can be to obtain and avi using mpeg4 as video encoding
TS=`date +%Y%m%d_%H%M`; ffmpeg -s 1024x600 -f x11grab -r 1 -i :0.0 -s 768x450 sesion-$TS.avi
or using xvid codec
TS=`date +%Y%m%d_%H%M`; ffmpeg -s 1024x600 -f x11grab -r 1 -i :0.0 -s 768x450 -vcodec libxvid -aspect 16:9 -qmax 10 flashsv sesion-$TS.flv
we can omit the -qmax parameter or put a value between 2-31, 2 is the best quality
TS=`date +%Y%m%d_%H%M`; ffmpeg -s 1024x600 -f x11grab -r 1 -i :0.0 -s 768x450 -vcodec flashsv sesion-$TS.flv
we indicate the original size (-s 1024x600) and the frame rate of grabbing (-r 1) that is and X grabbing (-f x11grab) the source screen (-i :0.0) and the desired video codec (-vcodec flashsv) o sea flashscreenvideo and the file format of the file container in this case flash video (.flv)
other example can be to obtain and avi using mpeg4 as video encoding
TS=`date +%Y%m%d_%H%M`; ffmpeg -s 1024x600 -f x11grab -r 1 -i :0.0 -s 768x450 sesion-$TS.avi
or using xvid codec
TS=`date +%Y%m%d_%H%M`; ffmpeg -s 1024x600 -f x11grab -r 1 -i :0.0 -s 768x450 -vcodec libxvid -aspect 16:9 -qmax 10 flashsv sesion-$TS.flv
we can omit the -qmax parameter or put a value between 2-31, 2 is the best quality
domingo, julio 04, 2010
como instalar java en ubuntu 10.04 10.4
para todos los que venimos usando el apt, sabemos que ejecutando un
sudo apt-get install APPNAME
es suficiente para instalar software, pero lo importante es conocer el nombre del paquete de software
en versiones anteriores de Ubuntu (8.04, 8.10, 9.04, 9.10) para instalar java el paquete que necesitabamos para el runtime era uno de estos:
* sun-java5-jre
* sun-java6-jre
y para el kit de desarrollo de software uno de estos dependiendo la versión que eligieramos:
* sun-java5-jdk
* sun-java6-jdk
Sin embargo en la version 10.04 decidieron cambiarle el nombre a los paquetes, debido a no se que razón y ahora se llaman respectivamente:
* openjdk-6-jre
* openjdk-6-jdk
Así que podemos instalar el entorno de ejecución de JAVA con:
sudo apt-get install openjdk-6-jre
y el entordo de desarrollo con:
sudo apt-get install openjdk-6-jdk
me pregunto, ¿de quien sera la grandiosa idea de cambiar los nombres a los paquetes?, deberían de dejar un alias con el mismo nombre que avise del nuevo nombre explicando la razón
espero esto les sea de utilidad
sudo apt-get install APPNAME
es suficiente para instalar software, pero lo importante es conocer el nombre del paquete de software
en versiones anteriores de Ubuntu (8.04, 8.10, 9.04, 9.10) para instalar java el paquete que necesitabamos para el runtime era uno de estos:
* sun-java5-jre
* sun-java6-jre
y para el kit de desarrollo de software uno de estos dependiendo la versión que eligieramos:
* sun-java5-jdk
* sun-java6-jdk
Sin embargo en la version 10.04 decidieron cambiarle el nombre a los paquetes, debido a no se que razón y ahora se llaman respectivamente:
* openjdk-6-jre
* openjdk-6-jdk
Así que podemos instalar el entorno de ejecución de JAVA con:
sudo apt-get install openjdk-6-jre
y el entordo de desarrollo con:
sudo apt-get install openjdk-6-jdk
me pregunto, ¿de quien sera la grandiosa idea de cambiar los nombres a los paquetes?, deberían de dejar un alias con el mismo nombre que avise del nuevo nombre explicando la razón
espero esto les sea de utilidad
miércoles, mayo 05, 2010
¿como buscar archivos en los servicios de file sharing?
Pues aunque suene descabellado, ya hay un buscador especializado en dichos sitios, si conocen otros no olviden dejarlos en los comentarios para agregarlos.
http://www.filestube.com/
http://www.filestube.com/
martes, mayo 04, 2010
ejemplo: superioridad de interfaz de texto sobre interfaz grafica
carajo, me borro todo lo que había escrito, el punto es que en la interfaz gráfica no detecta la partición como se ve aquí
mientras que si lo hace con la utilidad de linea de comandos como se ve acá
mientras que si lo hace con la utilidad de linea de comandos como se ve acá
como mejorar el rendimiento de linux retrasando el uso de memoria virtual
hay una variable del kernel que nos permite indicarle el % (entre 0 y 100) de la tendencia del kernel al usar memoria virtual, para ver que valor tiene en nuestro sistema usamos este comando
cat /proc/sys/vm/swappiness
60
en mi caso tengo 60
para cambiarlo en la sesión de trabajo actual y ponerlo a 0
sudo sysctl vm.swappiness=0
para hacerlo permanente es necesario editar el archivo /etc/sysctl.conf
agregando la línea
vm.swappiness=0
salvamos y listo, la próxima vez que arranquemos esta variable sera 0 como podrán comprobar, en mi caso, al poner el valor en 0 ha mejorado considerablemente la responsividad de las aplicaciones
happy tunning
ALCANCE:
como todo, esta modificación tiene su lado negativo, y es que mientras se mejora el rendimiento mientras que aún hay memoria RAM libre, al retrasar el uso de swap hasta el final, cuando se agota la RAM, y es necesario hacer uso del fichero swap, el sistema se paraliza casi por completo mientras observamos como escribe turbadamente al disco duro, perdemos la respuesta del sistema por un buen rato (a mí me llego a pasar que hasta por 10 a 30 minutos), por lo que ya no recomiendo utilizar esta técnica
cat /proc/sys/vm/swappiness
60
en mi caso tengo 60
para cambiarlo en la sesión de trabajo actual y ponerlo a 0
sudo sysctl vm.swappiness=0
para hacerlo permanente es necesario editar el archivo /etc/sysctl.conf
agregando la línea
vm.swappiness=0
salvamos y listo, la próxima vez que arranquemos esta variable sera 0 como podrán comprobar, en mi caso, al poner el valor en 0 ha mejorado considerablemente la responsividad de las aplicaciones
happy tunning
ALCANCE:
como todo, esta modificación tiene su lado negativo, y es que mientras se mejora el rendimiento mientras que aún hay memoria RAM libre, al retrasar el uso de swap hasta el final, cuando se agota la RAM, y es necesario hacer uso del fichero swap, el sistema se paraliza casi por completo mientras observamos como escribe turbadamente al disco duro, perdemos la respuesta del sistema por un buen rato (a mí me llego a pasar que hasta por 10 a 30 minutos), por lo que ya no recomiendo utilizar esta técnica
file sharing sites o como compartir archivos grandes
Problema:
necesito compartir un archivo grande con otra(s) personas, pero es muy grande para mandarlo por email
Solución:
en la red existe un buen número de sitios donde podemos subir archivos grandes (hasta de 50 a 200Mb) y nos genera un link con el cual poder compartir el archivo, dicho link es la única manera de acceder al archivo, es decir solo a quien le demos el link podra descargar el archivo
si el archivo rebasa el tamaña máximo, existen programas como el rar o el zip que permiten partir el archivo en varios trozos que posteriormente a ser descargados todos se pueden juntar
Sitios que ofrecen este servicio:
http://mediafire.com
http://rapidshare.com
http://depositfiles.com
http://socifiles.com
http://4shared.com
necesito compartir un archivo grande con otra(s) personas, pero es muy grande para mandarlo por email
Solución:
en la red existe un buen número de sitios donde podemos subir archivos grandes (hasta de 50 a 200Mb) y nos genera un link con el cual poder compartir el archivo, dicho link es la única manera de acceder al archivo, es decir solo a quien le demos el link podra descargar el archivo
si el archivo rebasa el tamaña máximo, existen programas como el rar o el zip que permiten partir el archivo en varios trozos que posteriormente a ser descargados todos se pueden juntar
Sitios que ofrecen este servicio:
http://mediafire.com
http://rapidshare.com
http://depositfiles.com
http://socifiles.com
http://4shared.com
viernes, abril 30, 2010
microsoft discrimina, competencia desleal
Hoy (2010/04/30) es el evento de Microsoft titulado "Las tres pantallas y la nube", viene Steve Balmer de microsoft, curiosamente también aprovecha para comprometer al gobierno mexicano y seguir hacienda a México dependiente de sus tecnologías obsoletas , caras, monopólicas, excluyentes y enajenadoras
Es un gran cinismo de que hablen de elevar a México, pero solo estén dispuestos mientras puedan hacernos dependientes, por ejemplo presentan el sitio
http://www.elevemosmexico.org/
pero para variar solo lo pueden ver los que usan su tecnología, en este caso Silverlight, que es un intento por desplazar a flash que ya esta en uso en el 99% de los navegadores, sin embargo FLASH si brinda soporte para las diferentes plataformas ya sea linux, mac y obvio windows
así que no puedo ver que proponen porque me saca esto (click para ampliar), esto es la forma moderna de discriminación, al igual que hacen las dependencias de gobierno y las páginas de los bancos donde si no uso Internet Explorer y windows, no se puede ver correctamente o no funciona correctamente, (me paso con la página de bancomer al tratar de imprimir mi constancia de intereses de crédito hipotecario):
¿porque microsoft no logra entender el concepto de interoperabilidad?
solo significa ser agnóstico en cuanto a la tecnología, por ej. a una carretera no le importa la marca del coche que tengamos, así debe ser con los portales de gobierno y comerciales, deben de dar acceso sin importar que navegador o sistema operativo usemos, solo de esta manera podemos cerrar la brecha digital y no comprometiendo el futuro del país con el uso de una solo tecnología propietaria que excluye y no sigue estándares para eliminar a la competencia, competencia desleal
Es un gran cinismo de que hablen de elevar a México, pero solo estén dispuestos mientras puedan hacernos dependientes, por ejemplo presentan el sitio
http://www.elevemosmexico.org/
pero para variar solo lo pueden ver los que usan su tecnología, en este caso Silverlight, que es un intento por desplazar a flash que ya esta en uso en el 99% de los navegadores, sin embargo FLASH si brinda soporte para las diferentes plataformas ya sea linux, mac y obvio windows
así que no puedo ver que proponen porque me saca esto (click para ampliar), esto es la forma moderna de discriminación, al igual que hacen las dependencias de gobierno y las páginas de los bancos donde si no uso Internet Explorer y windows, no se puede ver correctamente o no funciona correctamente, (me paso con la página de bancomer al tratar de imprimir mi constancia de intereses de crédito hipotecario):
¿porque microsoft no logra entender el concepto de interoperabilidad?
solo significa ser agnóstico en cuanto a la tecnología, por ej. a una carretera no le importa la marca del coche que tengamos, así debe ser con los portales de gobierno y comerciales, deben de dar acceso sin importar que navegador o sistema operativo usemos, solo de esta manera podemos cerrar la brecha digital y no comprometiendo el futuro del país con el uso de una solo tecnología propietaria que excluye y no sigue estándares para eliminar a la competencia, competencia desleal
Etiquetas:
IT México "independencia tecnológica"
martes, abril 27, 2010
windows, autorun y proclividad a la transmisión de virus
si queremos crear un medio extraible ( unidad usb, o cd, o dvd ) que cuando sea insertado en una máquina con windows, se ejecute un programa, acción o comando, es tan sencillo como colocar en la raíz del sistema de archivos de la unidad un archivo con nombre
autorun.inf
el cual debe contener lo siguiente:
[autorun]
open=RECYCLE\D-0-060-0000000000-1111111-2222222\venet.exe
icon=%SystemRoot%\system32\SHELL32.dll,4
action=Open folder to view files
shell\open=Open
shell\open\command=RECYCLE\D-0-060-0000000000-1111111-2222222\venet.exe
shell\open\default=1
como vemos este ejemplo lo tome de ejemplo de un virus que se colo en mi memoria usb, cuando fui a hacer la declaración al SAT y les di mi memoria para que usaran mi firma electrónica, en mi sistema ubuntu linux puedo meterlo con toda confianza, y ver que esos archivos que no estaban ahora aparecen, y no son otra cosa que un virus, también desde ubuntu puedo borrar el autorun.inf y la carpeta RECYCLED para limpiar la memoria del cochino virus
si buscamos en google venet.exe encontramos de que virus se trata y su comportamiento http://www.prevx.com/filenames/430314620930797656-X1/VENET.EXE.html muy perro por cierto
esto es una demostración más de lo poco fiable que son los sistemas operativos windows, ya que su diseñador, el tan conocido Bill Gates, penso, "el usuario es pendejo, para que complicarle la vida teniendo que abrir y ejecutar el contenido de los medios extraibles, no! mejor que se ejecuten solos cuando los inserte"
respecto a la sintaxis del autorun.inf
open se usa para especificar el comando que deseamos ejecutar
icon para indicar el path del icono que deseamos tener
action supongo que es para indicar en que acción se debe ejecutar
shell permite agregar elementos al menu contextual
para saber mas:
http://en.wikipedia.org/wiki/Autorun
http://es.wikipedia.org/wiki/Autorun
http://www.vsantivirus.com/inf-autorun.htm
autorun.inf
el cual debe contener lo siguiente:
[autorun]
open=RECYCLE\D-0-060-0000000000-1111111-2222222\venet.exe
icon=%SystemRoot%\system32\SHELL32.dll,4
action=Open folder to view files
shell\open=Open
shell\open\command=RECYCLE\D-0-060-0000000000-1111111-2222222\venet.exe
shell\open\default=1
como vemos este ejemplo lo tome de ejemplo de un virus que se colo en mi memoria usb, cuando fui a hacer la declaración al SAT y les di mi memoria para que usaran mi firma electrónica, en mi sistema ubuntu linux puedo meterlo con toda confianza, y ver que esos archivos que no estaban ahora aparecen, y no son otra cosa que un virus, también desde ubuntu puedo borrar el autorun.inf y la carpeta RECYCLED para limpiar la memoria del cochino virus
si buscamos en google venet.exe encontramos de que virus se trata y su comportamiento http://www.prevx.com/filenames/430314620930797656-X1/VENET.EXE.html muy perro por cierto
esto es una demostración más de lo poco fiable que son los sistemas operativos windows, ya que su diseñador, el tan conocido Bill Gates, penso, "el usuario es pendejo, para que complicarle la vida teniendo que abrir y ejecutar el contenido de los medios extraibles, no! mejor que se ejecuten solos cuando los inserte"
respecto a la sintaxis del autorun.inf
open se usa para especificar el comando que deseamos ejecutar
icon para indicar el path del icono que deseamos tener
action supongo que es para indicar en que acción se debe ejecutar
shell permite agregar elementos al menu contextual
para saber mas:
http://en.wikipedia.org/wiki/Autorun
http://es.wikipedia.org/wiki/Autorun
http://www.vsantivirus.com/inf-autorun.htm
jueves, abril 22, 2010
rsync y sus usos: sincronizar y respaldar archivos
rsync --archive --update --verbose --progress origen destino
origen y destino son las rutas de los archivos a copiar, pueden ser locales o remotos
para el caso de locales solo es el path absoluto o relativo
absoluto (comienza con /) ej:
/home/poncho/documentos
relativo (a donde estamos parados cuando damos el comando) ej:
documentos/tareas
para el caso le los remotos podemos especificar el usuario y el servidor de donde jalar los archivos ej:
poncho@www.google.com:/home/poncho
si el usuario es el mismo con el que estamos trabajando queda así:
www.google.com:/home/poncho
al ejecutar el comando el rsync compara que origen con el destino y copia todos los archivos que no están en el destino y los que han sido actualizados en el origen, y no hace nada si el archivo ya se encuentra en el destino, lo que permite replicar el origen en el destino
origen y destino son las rutas de los archivos a copiar, pueden ser locales o remotos
para el caso de locales solo es el path absoluto o relativo
absoluto (comienza con /) ej:
/home/poncho/documentos
relativo (a donde estamos parados cuando damos el comando) ej:
documentos/tareas
para el caso le los remotos podemos especificar el usuario y el servidor de donde jalar los archivos ej:
poncho@www.google.com:/home/poncho
si el usuario es el mismo con el que estamos trabajando queda así:
www.google.com:/home/poncho
al ejecutar el comando el rsync compara que origen con el destino y copia todos los archivos que no están en el destino y los que han sido actualizados en el origen, y no hace nada si el archivo ya se encuentra en el destino, lo que permite replicar el origen en el destino
Como configurar apt para que utilice un proxy
añadir a
/etc/apt/apt.conf
lo siguiente:
ACQUIRE {
http::proxy "http://192.168.2.100:3128/"
}
ajustar ip del proxy y puerto del proxy según sea necesario
si el proxy maneja autentificación quedaría "http://usuario:password@proxy_ip:port"
/etc/apt/apt.conf
lo siguiente:
ACQUIRE {
http::proxy "http://192.168.2.100:3128/"
}
ajustar ip del proxy y puerto del proxy según sea necesario
si el proxy maneja autentificación quedaría "http://usuario:password@proxy_ip:port"
martes, abril 20, 2010
nota de configuración de DHCPd en DD-WRT
si en nuestra LAN tenemos un router linksys y hemos cambiado el sistema operativo por el fabuloso dd-wrt, y si tenemos activado como DHCP server el DNSMasq, pero queremos que el gateway no sea el linksys sino otro equipo en la LAN, tenemos que agregar en la pestaña de services > dnsmasq > aditional options
dhcp-option=lan,3,192.168.2.100
referencias:
http://www.linux.com/archive/articles/149040
hacking:
para averiguar que tiene que llevar lan, lo que hice fue mediante telnet conectarme el router, dado que no trae el comando ls, para poder ver que archivos hay en el sistema se puede usar echo * y para saber en que directorio estamos pwd
así podemos obtener el contenido del archivo /tmp/dnsmasq.conf
que contiene dicha linea "dhcp-option=lan,3,192.168.2.254"
después de hacer la modificación via la interface web, como se describe al inicio, si vemos el contenido de /tmp/dnsmasq.conf veremos que agrego al final la linea "dhcp-option=lan,3,192.168.2.100" lo cual nos permite especificar que gateway debe asignar el DHCP a los clientes
dhcp-option=lan,3,192.168.2.100
referencias:
http://www.linux.com/archive/articles/149040
hacking:
para averiguar que tiene que llevar lan, lo que hice fue mediante telnet conectarme el router, dado que no trae el comando ls, para poder ver que archivos hay en el sistema se puede usar echo * y para saber en que directorio estamos pwd
así podemos obtener el contenido del archivo /tmp/dnsmasq.conf
que contiene dicha linea "dhcp-option=lan,3,192.168.2.254"
después de hacer la modificación via la interface web, como se describe al inicio, si vemos el contenido de /tmp/dnsmasq.conf veremos que agrego al final la linea "dhcp-option=lan,3,192.168.2.100" lo cual nos permite especificar que gateway debe asignar el DHCP a los clientes
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:
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
Y /etc/apt/sources.list queda como sigue:
Ok, ahora viene lo bueno.
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:
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:
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.
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:
- Standalone en Java
- Standalone en PHP / GTK+
- 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.
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.
miércoles, septiembre 28, 2005
Mi primer blog.
Esta es mi primer entrada en mi blog, solo para ver como va a quedar, por fin me anime a utilizar un servicio de blog, ya que si me espero a desarrollar mi propio software, pues nunca voy a comenzar, veamos que tal esta esto, como pude ver tiene un editor de texto enriquecido, podría ver como lo hicieron, esta muy bien, puedo tomar ideas para mis desarrollos DHTML.
Suscribirse a:
Entradas (Atom)



