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
Suscribirse a:
Entradas (Atom)