Posts Tagged ‘Software’

Google Earth – Terremotos en tiempo real

Jueves, Marzo 4th, 2010

Gracias al pana Osty León que me mando por correo la siguiente información que me pareció interesante compartir con ustedes:

El USGS (U.S. Geological Survey) dispone de un archivo de datos para Google Earth (KML, 10 KB) que proporciona datos en tiempo real sobre los terremotos que se producen (o que se detectan) en distintas partes del mundo. La capa de datos se actualiza automáticamente cada cinco minutos y muestra terremotos de magnitud 1.0 o superiores. Opcionalmente se puede descargar una capa adicional que recoge todos los terremotos de magnitud 3.0 o superiores detectados desde 1970 hasta hoy.

Link archivo de datos :
http://earthquake.usgs.gov/eqcenter/recenteqsww/catalogs/eqs7day-age.kmz
Requiere tener instalado google earth para visualizar archivos con extension .kmz

Si no tienes instalado Google Earth bajarlo del siguiente link  ( No es software Libre ):
http://earth.google.es/

Si tu equipo no soporta google earth puedes visualizar mapas por medio de esta página la cual muestra los terremotos en la última semana :

http://earthquakes.tafoni.net/

Google Earth - Terremotos en tiempo real

Indefero

Sábado, Noviembre 7th, 2009

indefero-logo Indefero es una herramienta que facilita el  versionamiento de tu código fuente y la gestión de un proyecto de software, simple y sencilla de usar, con full integración con los servicios de control de versiones más populares como por ejemplo subversion, git y Mercurial, entre sus principales características tenemos:

  1. Tracking de incidentes o bugs completamente restfull y con un API, para que por ejemplo tu aplicación reporte los bugs directamente al sistema de bugs de tu proyecto.
  2. Wiki para mantener la documentación.
  3. Una funcionalidad que facilita la distribución del archivo descargable de la versión funcional de tu proyecto ( área de downloads ).
  4. Navegación completamente vía web del código, con numeración de lineas, coloreado del código.
  5. Permite visualizar las diferencias entre los commits.
  6. Feeds.
  7. Sistema de búsqueda bien poderoso.
  8. Permite crear múltiples proyectos públicos o privados.

Esta aplicación es GNU/GPL y está hecha en php lo cual permite instalarla en cualquier hosting comercial que tenga soporte de control de versiones, en el post siguiente colocaré una guía para instalarlo en Fedora.

indefero-nice-screenshot

Pantallazo de Indefero

Clona tu disco duro con Clonezilla

Miércoles, Junio 17th, 2009

clonezilla.org Clonezilla es una herramienta Software Libre que consiste en un liveCD basado en debian de aproximadamente de 100 Mb , el cual al arrancar tu computadora con el inicia un programa ( en ncurses ) el cual en sus diversas pantallas presenta menús de opciones que como resultado final deberá llevarte a la clonación o restauración de un disco o una partición y de una versión servidor para tener un sistema centralizado de clonación de estaciones de trabajo por ejemplo.

Clonezilla puede:

  • Hacer una clonación o recuperación de disco a disco, es decir agarrar un disco duro cualquiera y copiarlo bit a bit a otro.
  • Hacer un backup o recuperación hacia o desde un disco usb o pendrive ( la opción más común que realizo).
  • Hacer un backup o recuperación hacia o desde un medio en red a través de SSH, samba ( carpetas compartidas desde Windows ), NFS.
  • Hacer recuperación y backups de sistemas Windows  (fat, ntfs ) o GNU/Linux (ext2, ext3, ext4, reiserfs, xfs, jfs, LVM  ).
  • Hacer una imagen o recuperar una imagen de un disco completo o una partición en especifico.
  • Y tal vez muchas cosas más que se me escapan en este momento…

Cabe destacar que al hacer una imagen de un disco por ejemplo de 80GB el resultado no ocupa 80Gb ( a menos que tengas los 80 GB ocupados en el disco ), clonezilla guarda la información de las particiones y la data en un formato propio y con compresión ( opcional ), por lo cual si solo tenías ocupado por ejemplo 10Gb de un disco de 80Gb posiblemente la imagen resultante sería menor a 10 GB ( por la compresión ).

En este vídeo pueden ver más o menos como funciona clonezilla al restaurar una imagen de RHEL5 a un portátil:

Clonezilla se ha ido convirtiendo poco a poco en el estandar de clonación en donde trabajo sustituyendo el Norton Ghost y el Acronis ( que aparte de ser costosos son privativos ) sin licencias válidas que venían usando los técnicos ( parte de la cultura del software propietario ), actualmente clonezilla viene siendo reconocido por estas personas como una herramienta valiosa, sobre todo por su versatilidad y confiabilidad.

Para usar clonezilla por vez primera hay que darse el tiempo de leer detenidamente todos los menús ( esta disponible en español ) para comprender que se esta trantando de hacer, luego se vuelve rutinario el proceso.

El poder de Vim

Domingo, Febrero 22nd, 2009

Este post es simplemente para mostrarles las potencialidades de este editor de texto que muchas personas consideran excesivamente complejo de usar, es más debo reconocer que el dar cursos de GNU/Linux hace unos años me obligo a aprender a usar vim un poco ( y antes le tenía demasiado aversión ) y actualmente me quedo con el como editor de texto consolar, lo uso para casi todo lo que tenga que ver con una consola, edición de archivos de configuración, edición avanzada de archivos, etc…

Como ejemplo puedo decirles que el archivo SQL de este blog tenía un problema feo con los caracteres con acentos y las ñ y termine solucionando ( después de probar con iconv y otras herramientas ) con vim haciendo búsqueda y reemplazo de caracteres ( prometo escribir un articulo luego de la manera en que fue realizado este proceso).

Quiero compartir este vídeo con ustedes, para que observen el poder de vim en un nivel que va mucho más allá de otros editores de texto, obviamente es vim con algunos plugins:

El enlace directo al vídeo es:

http://www.youtube.com/watch?v=FcpQ7koECgk

Validador de accesibilidad para websites

Viernes, Enero 23rd, 2009

ASES es una herramienta que permite validar, simular y corregir la accesibilidad de páginas, sitios y portales, siendo de gran valor  para los desarroladores y publicadores de contenido, alguna de sus funcionalidades:

  • Validador de accesibilidad (e-MAG y WCAG)
  • Validador de CSS
  • Validador de HTML (4.01 y XHTML)
  • Simuladores de lectura de pantalla (tiempo) y Baja visión (daltonismo, miopía, catarata)
  • Herramienta para seleccionar DocType, contenido alternativo, asociador de rótulos, links redundantes, corrector de eventos y llenado de formularios.

si quieres conocer más de ASES o integrarte a su comunidad puedes ir al siguiente link:

http://www.softwarepublico.gov.br/ver-comunidade?community_id=8265263

Como verán esta aplicación es patrocinada por el gobierno brasileño como parte de su plan de uso de software libre en la administración pública y tiene como finalidad la revisión de todos los websites gubernamentales para que cumplan con sus estándares tanto de usabilidad como de accesibilidad teniendo en cuenta la inclusión sin discriminación de todos los ciudadanos.

Que tan lejos estamos nosotros de iniciativas así a pesar de haber comenzado este proceso de adopción del software libre mucho antes que el gobierno de Brasil, actualmente como usuario y activista de software libre me da hasta pena ver la cantidad de sitios gubernamentales en Venezuela repletos de banners flash ( tecnología no libre ), documentos para libre descarga hechos en suite ofimáticas no libres ( como microsoft word, powerpoint, excel ), sitios no intuitivos y además que solo se ven adecuadamente en navegadores propietarios ( como internet explorer ).

Se que el CNTI esta abordando el tema de la accesibilidad y la estandarización en los portales de la administración pública, sin embargo hasta el momento y como muchas de las cosas realizadas en Venezuela, se quedan en papel y no hay carácter para ejecutarlas y ni que decir de producir iniciativas como ASES.

Bueno, esto es software libre si la gente del CNTI quisiera usarlo, pueden modificarlo a sus necesidades y este software podría ayudarles en su misión hacía la estandarización.

Cliente web de torrent

Martes, Diciembre 16th, 2008

Desde hace tiempo estuve buscando una interfase web para controlar mis descargas vía torrent ya que tengo una cuenta en una seedbox y obviamente es una cuenta shell en un servidor sin entorno gráfico.

En aquel entonces me conforme con rtorrent siendo ejecutado desde una consola con screen y un script que me generaba un sencillo html con las estadísticas que rtorrent iba dejando para ver el estado de mis descargas, en aquel momento me pareció la mejor opción y realmente estaba bien para lo que necesitaba, buscaba algo sencillo que no me tocara instalar muchas cosas, que no usara base de datos ( habían algunos clientes php+mysql , con el inconveniente que tenía cada vez que subir los archivos .torrent vía scp.

hoy en día conocí a transmission cuando lo agregaron por defecto en fedora, sencillamente no pensaba cambiar de cliente de torrents usaba ktorrent y me parecía muy bueno, sin embargo transmission así como muchas cosas que agregan por defecto en fedora, supera en funcionalidad a ktorren y me cambie, debido a que como lo puedo usar como cliente gráfico o GUI en mi desktop, también puedo usarlo en modo stand alone sin entorno gráfico y publicar la administración vía web de una manera muy simple.

Para configurar transmission para ser usado stand alone, solo basta con ejecutar un comando similar a este:

transmission-daemon -w /home/user/files/ -a 0.0.0.0 -p 3000 -t -u admin -v clave

En donde:

  • -w  /home/user/files/ = la ruta donde se van a descargar los archivos.
  • -a 0.0.0.0 = Permite el acceso desde cualquier lado ( tal vez quieras limitar el acceso desde una dirección ip en especifico ).
  • -p 3000 = el puerto de acceso es el 3000.
  • -t = Solo indica que la autenticación es requerida.
  • -u admin = El usuario que deberá hacer login en la interfase será admin ( puedes colocar el que gustes ).
  • -v = Es la clave que deberá usar admin para poder validarse e ingresar.

Puedes ver las demás opciones que tiene si colocas:

transmission-daemon –help

Puedes ejecutar el comando desde algún script o hacerte un script de arranque y parada en caso de querer simular la funcionalidad de un demonio.

Luego solo basta con ir a un browser y consultar la dirección : http://tuservidor:3000 en donde tuservidor es la dirección ip pública de la máquina que usas para descargar torrents, si tienes dirección ip dinámica te recomiendo usar el servicio de www.no-ip.com para hacerle algún tipo de subdominio ( no se te olvide instalar el cliente para que actualice la ip cuando esta cambie).

La interfase de transmission es así:

La Interfase es muy comoda de usa, es rica en ajax y tiene casi todas las opciones de su cliente GUI, a excepción de la de poder controlar el ancho de banda de descargar y subida de cada torrent de forma individual ( lo hace de forma global para todos ) y de que no se pueden crear torrents desde ella ( por ahora tal vez :-D )

Debo decir que este programa es muy simple de instalar y de ejecutar y sobre todo muy simple de usar por lo cual llena todas mis expectativas.

rpm de nathive 0.811

Viernes, Diciembre 12th, 2008

Debido a la curiosidad de probar el programa nathive y debido a que no hay disponible una versión RPM, me he dado a la tarea de construir uno, espero que le sirva  a alguien.

EL RPM y su fuente   los pueden conseguir en:

http://www.richzendy.org/repo/fedora/9/i386/RPMS/nathive-0.811-1.i386.rpm

http://www.richzendy.org/repo/fedora/9/i386/SRPMS/nathive-0.811-1.src.rpm

El rpm debería poder servir en cualquier distro basada en Fedora/Redhat/CentOS y el fuente podría compilar en cualquiera de las mismas.

NOTA:  El rpm a pesar que es completamente funcional, su .spec esta hecho de forma tarzanica ( a lo tarzán ), así que se escuchan sugerencias ( constructivas ) para su mejora.

Pueden leer una nota en castellano de las características de nathive e incluso ver un vídeo desde el siguiente link:

http://www.vivalinux.com.ar/soft/nathive-0.811.html

Como experiencia personal, al probar el programa, puedo decir que le falta un poco pero promete mucho y a pesar de que sus mismos desarrolladores dicen que esta versión no es completamente funcional para usuarios finales a mi me parecio que está bien para jugar un poco con el programa, al menos a mi me funciono bien sin bugs extraños.

Liberado sistema de gestión de escuelas i-educar

Martes, Noviembre 4th, 2008

i-educar es un sistema centralizado de gestión de escuelas orientado para centralizar la información de todas las escuelas de una ciudad o estado, liberado por el gobierno Brasileño, ver el siguiente enlace:

http://www.softwarepublico.gov.br/ver-comunidade?community_id=6552490

Una de sus principales ventajas es la centralización de informaciones de todas las escuelas de una municipalidad en una base de datos única controlando el registro de alumnos, sus datos personales/familiares y pedagógicos. Funcionalidades como: matriculas, transferencias, emisión de certificados y diplomas, suspensiones, horarios de clases son realizados de forma integrada, el sistema también cuenta con  un modulo de biblioteca para la gestión de la biblioteca de cada escuela.

i-educar fue liberado  durante la V Conferencia Latino-Americana de Software livre http://2008.latinoware.org/, en la ciudad de Foz do Iguazú, el día 30 de octubre.

Screenlets en Fedora 9

Jueves, Septiembre 25th, 2008

Estaba anoche en el IRC de freenode cuando alguien pidió ayuda acerca de como instalar el rpm de screenlets, dicho programa no se encuentra dentro de los repositorios oficiales de fedora, pero alguien había hecho un rpm no oficial para fedora 9 y por lo visto era alguien de suse, en detalle al parecer el paquete tenía mal declaradas las dependencias en su archivo spec, muy seguramente debido a que en fedora se llaman diferente que en SUSE  y esta persona no los sabía probablemente, el problema exacto que da al tratar de instalarlo es:


rpm -Uvh screenlets-0.1.2-13.1.i386.rpm
warning: screenlets-0.1.2-13.1.i386.rpm: Header V3 DSA signature: NOKEY, key ID d0978e40
error: Failed dependencies:
gnome-python-desktop is needed by screenlets-0.1.2-13.1.i386
python-gnome is needed by screenlets-0.1.2-13.1.i386
python-gnome-extras is needed by screenlets-0.1.2-13.1.i386
python-gtk is needed by screenlets-0.1.2-13.1.i386

Ver: http://answers.yahoo.com/question/index?qid=20080807101116AAtabYR

A todas estas me descargué el archivo fuente ( src.rpm ) de esta persona, arregle el .spec y reconstrui el paquete ( rebuild ), actualmente lo estoy hosteando en:

http://www.richzendy.org/repo/fedora/9/i386/RPMS/

El archivo fuente está en:

http://www.richzendy.org/repo/fedora/9/i386/SRPMS/

Para instalarlo, solo delen click al rpm y dejen que el instalador gráfico de fedora te haga todo el trabajo, pero si prefieres tener el control en la consola, descargate el rpm y como root:


yum localinstall  screenlets-0.1.2-13.1.i386.rpm

Esto te resolverá las dependencias de ser necesario de una vez.

Dicho programa no lo conocía, así que para probarlo lo instale y debo decir que me parecio muy chevere, provee una serie de gadgets para el escritorio al estilo de los widgets de kde4 o windows vista, muy bonitos con un buen eye candy y todo para tu gnome y supongo que tambien para xfce.

si quieren ver algunas capturas de pantalla de este programa pueden pasar por:

http://www.screenlets.org/index.php/Screenshots

scp a múltiples máquinas de forma automática con password

Miércoles, Junio 18th, 2008

Ayer tenía la tarea de hacer una modificación en un archivo de configuración ( con privilegios de root ) en una serie de máquinas clientes con GNU/Linux, al preguntar a un grupo de amigos me dieron las siguientes soluciones:

1. Usar claves compartidas de ssh

Ajá, esto seria válido si ya tuviera las llaves compartidas,  en este caso como no las tengo, tendría que entrar a cada máquina y hacer la configuración, lo cual no es una opción no viable ya que eso es justo lo que quiero evitar.

2. Usar la opción sudo -S de la siguiente manera: echo “password” | sudo -S

Tengo un script que puede ejecutarse automáticamente en cada máquina, pero este se ejecuta con privilegios de usuario, dicho script puede ser modificado y cargado masivamente en cada máquina de la red vía rsync, el detalle con esta solución es que en la distribución cliente los usuarios no están por defecto en el grupo que pueden hacer sudo, por lo cual tendría que configurar /etc/sudoers máquina a máquina para poder implementar esta opción, con lo cual esto ya no es viable.


Viendo ya que la solución debería investigarla por mis medios, pensé en usar la librería:

http://search.cpan.org/~bnegrao/Net-SSH-Expect-1.09/lib/Net/SSH/Expect.pod

Que ya he usado con anterioridad  para otras cosas y hacerme un scriptcito en perl, pero de verdad me daba fastidio y pereza instalarla vía CPAN, investigando un poco más di con la solución mas perezosa usando el programa expect, acá hay un ejemplo de como ( el cual use ):

http://modp.com/wiki/sshpasswords

Expect no se usa necesariamente para hacer login remoto ssh o scp, realmente es un programa hecho en tcl que permite controlar programas en consola o linea de comandos ( CLI ) que tienen una interfase interactiva, por ejemplo esos programas que te preguntan opciones y opciones para poder realizar alguna función y requieren una intervención vía teclado para contestarlas, bueno expect bien configurado puede ser usado para responder todas esas preguntas de forma automática.

Sin más preámbulo acá está el cochino script que realice, cabe destacar que no tenía idea de cuantas máquinas cliente existían en la red ( aunque más o menos calculo que podrían ser unas 100 al menos ) ni de sus direcciones ip ( el cliente tiene eso registrado, pero me dio fastidio pedírselo):

#!/bin/bash
for n in {1..9} ; do
for i in {100..140} ; do

expect -c “set timeout 10; eval spawn scp /tmp/rc.local root@192.168.$n.$i:/etc/ ; expect ‘yes: $’; send yes\n ; \ expect ‘password: $’; send algunpassword\n ; expect ‘$ $’”

done
done

La linea realmente importante es la que empieza con el comando “expect” precisamente y vamos a explicar sus opciones:

set timeout 10 : Esta opción permite configurar 10 segundos de timeout en caso de no conseguir una respuesta.

eval spawn scp /tmp/rc.local root@192.168.$n.$i:/etc/ :

Esta opción es la que ejecuta realmente el scp, al final los últimos 2 octetos de la dirección ip, son variables, provistas por los for de arriba.

expect ‘yes: $’; send yes\n : Esas 2 opciones pueden ser consideradas una sola, y es que como en muchas de esas máquinas clientes nunca se ha conectado vía ssh, entonces se debe aceptar primero la clave RSA del ssh, entonces  “expect ‘yes: $” espera que se presente una linea que diga “yes:” y “send yes\n”  envía como respuesta yes y aplica un enter luego ( \n).

expect ‘password: $’; send algunpassword\n : Como en la anterior, esto puede ser considerado una sola instrucción y es muy similar a la anterior, se espera la cadena “password:” y cuando se reciba, se contesta con  “send algunpassword\n” enviando la password de la sesión e iniciando la transferencia.

expect ‘$ $’ : ya al final coloque esta opción la cual simplemente espera que se entregue un prompt para salir, realmente no se si era necesaria pero sin embargo la coloque por si acaso :-D

Espero que le llegue a servir a alguno, como me sirvio a mi, en menos de 20 minutos ya tenía todos las máquinas cliente plenamente configuradas :-D , tal vez hayan otras opciones incluso más elaboradas, pero me pareció buena esta debido a su sencillez, solo basta con instalar el paquete expect, el cual está en los repositorios de la mayoría de las distribuciones de GNU/Linux.

Por cuestiones de seguridad no me preocupe mucho, debido que todas esas máquinas están en una red local sin acceso a internet y los clientes son prácticamente terminales tontos en donde el usuario tiene perfiles de desktop muy bien delimitados y no tienen acceso a tty, además ya scp cifra la comunicación en la transferencia, incluso en la sesión de login.

Get Adobe Flash playerPlugin by wpburn.com wordpress themes

Copyright © 2010 Richzendy.org. Search Engine Optimization by Star Nine. Distributed by Wordpress Themes