El pipeling o también llamada pipelining es una técnica utilizada para acelerar procesos, mediante la ejecución simultanea de instrucciones. Esto lo aprendí al optimizar este sitio, colocar distintos elementos en un par de subdominios permite al navegador cliente conseguir 6 conexiones adicionales y disminuir el tiempo de espera, Google Maps lo aplica por ejemplo.
Bueno, pero esto no es un post para definir la técnica sino para aprovechar lo que Axel provee, en este caso Axel reemplaza a Wget con la capacidad de hacer pipeling y así descargar un archivo consiguiendo varias conexiones paralelas, vivir menos tiempo esperando y más disfrutando. Axel sería un Acelerador de Descargas, y lo instalamos simplemente ejecutando el siguiente comando:
sudo apt-get install axel
El uso de axel es similar a wget, siempre puedes consultar el man para ver cada una de sus opciones, un ejemplo seria este:
axel http://cdimage.gnewsense.org/gnewsense-livecd-deltah-i386-2.3.iso
Podemos aprovechar esta característica de Axel para aplicarla al Sistema de Gestión de Paquetes APT, lo que necesitamos es agregar los repositorios, actualizar e instalar apt-fast de esta forma:
Ahora para instalar o actualizar el sistema simplemente usamos apt-fast en lugar del tradicional apt-get, muy útil en actualizaciones pesadas y sobre todo cuando esta muy demandado el servidor de ubuntu, en esas fechas en las que se lanza una nueva versión.
BlueProximity es una aplicación que nos ofrece otra manera de protección a nuestro PC. El programa detecta la presencia de un dispositivo bluetooth (En mi caso mi teléfono móvil) y cuando nos alejamos bloquea el sistema automáticamente para volverlo a dejarlo operativo cuando nos acercamos al mismo.
Sin duda es una aplicación que aparte de aportar un poco mas de seguridad a tu sistema, no te dejará pasar desapercibido frente a tus compañeros o amigos 😀
Para instalar BlueProximity en Debian / Ubuntu
Creo que ahora se encuentra en los repositorios oficiales
Recuperar una contraseña de windows utilizando Ubuntu y programa llamado chntpw. NOTA: Si deseas usar este método y no tienes instalado Ubuntu, puedes utilizar una versión “live CD” de Ubuntu y desde allí usar chntpw.
Chntpw (acrónimo de Change NT Password) es un programa que nos permite quitar o modificar las contraseñas de usuario de los sistemas Windows NT, 2k, XP, Vista y Win7 accediendo al sistema de ficheros desde un sistema Linux.
Vamos a instalarlo:
Abrimos una Terminal (Aplicaciones->Accesorios->Terminal).
Instalamos el paquete del programa:
sudo apt-get install chntpw
Ahora para usarlo haremos lo siguiente:
A través de la Terminal navegamos hasta la carpeta donde se almacena el fichero con las contraseñas (en casi todos los Windows es “C:/WINDOWS/system32/config”). Para ello, en Ubuntu, haremos: NOTA: Debemos asegurarnos antes de que la partición está montada (por ejemplo accediendo a ella desde Nautilus).
cd /media/NOMBRE-DE-LA-PARTICION/WINDOWS/system32/config
Donde NOMBRE-DE-LA-PARTICION es el nombre de la partición donde se encuentra instalado el Windows.
Ahora crackeamos el fichero que almacena la contraseñas (normalmente se llama SAM) de la siguiente manera:
Si queremos quitar o modificar la contraseña al usuario administrador:
chntpw SAM
Si queremos quitar o modificar la contraseña a cualquier usuario en concreto:
chntpw -u USUARIO SAM
Donde USUARIO es el nombre del usuario cuya contraseña deseamos liberar.
Tras ejecutar el comando de crackeo nos aparecerá un menú con 5 opciones. Si queremos borrar la contraseña elegimos la opción 1 y damos a [ENTER]. Si queremos modificar la contraseña elegiremos la opción 2 y damos a [ENTER].
Espero que el programa se a de utilidad como la ha sido para mi ya que en mi trabajo me ha tocado que rescatar varias maquinas con esta aplicacion.
Para muchos de nosotros Gedit no es más que un editor de textos, reemplazo del clásico bloc de notas de Windows, en el que podemos modificar pequeños y simples (al carecer de formato) ficheros de texto como ficheros de configuración y/o propiedades.
Aunque mi entorno de desarrollo (IDE) suele ser Eclipse, de un tiempo a esta parte vengo utilizándolo muy a menudo para la creación y edición de scripts tanto en Bash como en Groovy (lenguaje que, por necesidades del cliente, me he visto “obligado” a aprender).
Cansado de la rutina de editar el fichero con GEdit (o vim si se terciaba), y tener abierta una terminal para probar lo que iba modificando me dio por investigar qué otras alternativas existen para ello descubriendo la potencia y flexibilidad del complemento Herramientas externas.
Activando el complemento
Tan sencillo como buscarlo en las preferencias de GEdit
y marcar la casilla correspondiente
para finalizar no queda más que configurarlo
Definiendo el primer script
Como introducción y, a modo de ejemplo, nos limitaremos a mostrar en consola el resultado de listar el contenido del directorio temporal del sistema (/tmp) para lo cual añadiremos un nuevo comando pulsando el botón existente para ello
y escribiremos el siguiente código en la zona de edición habilitada
ls -l /tmp
A modo de referencia podéis ver cómo he definido el resto de parámetros del script en la siguiente captura
destacando entre ellos
Tecla rápida para lanzar el script cuando estemos editando en GEdit sin tener que buscar el script en los menús de la aplicación
Guardar: Documento actual para evitarnos tener que preocuparnos de guardar el documento antes de lanzar el script. Con el valor Documento actual se guardará el fichero que estemos editando de modo que lo que se ejecute sea exactamente lo último que hemos escrito evitando de este modo falsos resultados (imagina que haces algunos cambios y ejecutas el script: se ejecutaría sobre lo último que tienes en disco que no coincide en absoluto con lo que estás viendo en pantalla)
Ejecutando scripts
Tan sencillo como pulsar la combinación de teclas definida en el paso anterior (CTRL+SHIFT+E en la configuración de referencia) y observar el resultado en el panel inferior del editor
NOTA: Curiosamente, si estás editando un documento nuevo que no ha sido guardado nunca en disco, el complemento se limita a pedirte dónde guardarlo y no ejecuta el script . En dicho caso dale un nombre y vuelve a lanzarlo pulsando nuevamente la combinación de teclas asociada.
El script definitivo
Una vez que hemos aprendido cómo funciona el complemento con un ejemplo sencillo (listar el contenido del directorio /tmp) pasemos a la finalidad de este artículo: ejecutar el contenido del script que estamos editando.
No tenemos más que cambiar el código del script anterior por éste:
GEdit es, en apariencia, un sencillo editor de textos que consume muy pocos recursos y que está llamado a convertirse en el equivalente a editores de textos como el UltraEdit de Windows (que al escribir este artículo acabo de descubrir que ya existe versión para Linux :O aunque, como era de esperar, no es Software libre )
Bonus tip
Para aquellos que les haya llamada la posibilidad de ejecutar scripts desde Gedit les recomiendo que le echen un vistazo a la colección de ejemplos de scripts que existe pues es mucho lo que se puede aprender de ellos.
De Google podemos decir cualquier cosa, excepto que sea predecible con sus nuevos servicios y aplicaciones. Y este es el caso de GoogleCL, una aplicación para acceder a los servicios de datos de la empresa desde la línea de comandos. Fue presentado con bombo y platillo hace no más de una semana y no es sino un gran script Python que usa las bibliotecas gdata (Google Data Protocol). Les presentaré unos ejemplos para comenzar a aprovecharlo.
Por ahora, GoogleCL soporta estos servicios:
Docs
google docs edit --title "Comandos Linux"
Blogger
google blogger post --title "Frase" "Si no te equivocas de vez en cuando, es que no lo intentas"
Calendar
google calendar add "Desayuno en Tiffany"
Contacts
google contacts list name,email > contactos-respaldo.csv
Picasa
google picasa create --title "Fotos vergonzosas" ~/fotos/familia/*.png
Youtube
google youtube post --category Education aprendiendo_navi.mp4
Instalación enUbuntu/Debian
Descarga el código fuente o bien el DEB para sistemas de la familia Debian. Elige tu favorita del sitio de descargas. La versión más reciente a la fecha es la 0.9.7. Desde Debian/Ubuntu ejecuta:
sudo dpkg -i googlecl_0.9.7-1_all.deb
Uso
Hay muchos ejemplos en el sitio de GoogleCL. Aquí me concentraré en mostrar cómo configurar el acceso a Google Docs desde la línea de comandos. Antes de eso debes saber que ejecutado sin argumentos, GoogleCL inicia una sesión interactiva a través del comando google, con el carácter “>” como prompt.
google
> help
Welcome to the Google CL tool!
Commands are broken into several parts: service, task, options, and arguments.
For example, in the command
[...más salida...]
Enter "> help <service>" for more information on a service.
Or, just "quit" to quit.
> help docs
Available tasks for service docs: 'edit', 'delete', 'list', 'upload', 'get'
edit: Edit a document
Requires: title Optional: format, editor
delete: Delete documents
Requires: none Optional: title
list: List documents
Requires: delimiter Optional: title, folder
upload: Upload a document
Requires: none Optional: title, folder, no-convert Arguments: PATH_TO_FILE
get: Download a document
Requires: (title OR folder) Arguments: LOCATION
> quit
Usaré la sesión interactiva en todos los ejemplos.
Es importante configurar el navegador que utilizaremos con GoogleCL para realizar ciertas tareas. Hay dos opciones: exportar una variable de ambiente BROWSER o editar el archivo de configuración de la aplicación. Te recomiendo esta última.
echo auth_browser=firefox >> ~./google/config
Desde el shell de GoogleCL y con ayuda de la documentación haremos unas sencillas tareas. Comencemos por obtener una lista de nuestros documentos. La primera vez te solicitará un usuario y luego que aceptes desde el navegador que GoogleCL pueda acceder a tu cuenta en el futuro.
google
> docs list
Please specify user: *****
Please log in and/or grant access via your browser at https://www.google.com
***** then hit enter.
El navegador que elegiste se abre y debes dar clic en “Grant access”. Un archivo access_tok_tu_usuario se crea bajo el directorio ~./google.
De ahora en adelante ya no será necesario autorizar nada para ese usuario. Después de aceptar, en el shell de google aparece un listado de tus archivos. Aquí muestro una vista parcial de la salida porque es extensa.
Lista de ejemplos,http://docs.google.com/Doc?docid=*****
Reporte 10-P,http://spreadsheets.google.com/ccc?key=*****
[... más salida ...]
Ahora edito un documento de texto con Vim.
docs edit --title "In the beginning was the command line" --editor vim
Y aquí lo descargo
docs get --title "In the beginning was the command line"
Downloading In the beginning was the command line to /home/eli/In the [...] .txt
Conclusiones
Como sucede con cualquier herramienta, GoogleCL puede ser tan poderoso como lo quieras. Sobre todo si lo incluyes en tus scripts personales. Además notarás que algunas opciones tienen bugs, pero ten paciencia y espera la versión 1.0 estable. Si eres frecuente usuario del shell y de los servicios de Google, encontrarás en GoogleCL un importante aliado para tu productividad.