En el siguiente artículo vamos a echar un vistazo a How2. En este mismo blog, hace ya unos meses, escribimos sobre SoCLI. Este era un script en Python para buscar y navegar por el sitio web de Stack Overflow desde la línea de comandos. Hoy la herramienta que vamos a ver hoy es similar, y se llama ‘how2’. Es una utilidad para línea de comandos con la que también podremos explorar Stack Overflow desde la terminal.
Utilizando una secuencia de comandos simple, navegar por StackOverflow desde nuestra terminal se convierte en una tarea fácil. Si al igual que yo, pasas mucho tiempo productivo en la terminal, tener una herramienta instalada como how2 se convierte en algo muy útil. Con esta utilidad, podremos realizar consultas, en inglés, de la misma forma que haríamos una búsqueda en Google. Utilizaremos las API de Google y Stackoverflow para buscar las consultas especificadas. Es una utilidad gratuita y de código abierto escrita con NodeJS.
Instalación de How2
Como how2 es un paquete NodeJS, podemos instalarlo usando el administrador de paquetes Npm. Si aún no ha instalado Npm y NodeJS, puedes consultar el artículo que hace algún tiempo se publicó en este mismo blog sobre el tema. También se puede optar por la vía rápida y escribir en la terminal (Ctrl+Alt+T):
sudo apt install nodejs npm
Después de instalar Npm y NodeJS, ejecutaremos el siguiente comando para instalar la utilidad how2. Abrimos una terminal (Ctrl+Alt+T) y escribimos en ella:
npm install -g how2
Si la instalación nos devuelve errores EACCES, necesitaremos corregir los permisos npm. O simplemente podemos optar por utilizar el mismo comando utilizando sudo para comenzar la instalación.
Realizar una búsqueda utilizando How2
Una vez terminada la instalación, veamos cómo explorar Stack Overflow utilizando este programa. El uso típico para buscar en el sitio web mediante la utilidad ‘how2’ es escribir algo como:
how2 consulta a buscar
Como ejemplo de búsqueda, vamos a buscar cómo crear un archivo tgz. Para ello en la terminal (Ctrl+Alt+T) escribiremos:
how2 create archive tgz
Aquí está la salida de muestra de mi sistema Ubuntu 16.04.
Navegando por Stack Overflow
Si la respuesta que estamos buscando no se muestra en el resultado que se muestra, presionaremos la BARRA ESPACIADORA para iniciar la búsqueda interactiva. En ella podremos revisar todas las preguntas y respuestas sugeridas de Stack Overflow.
Podremos utilizar las flechas ARRIBA/ABAJO para movernos entre los resultados. Una vez que obtengamos la respuesta correcta, presione la BARRA ESPACIADORA o la tecla ENTER para abrirla en la Terminal.
Cuando estamos en ‘modo interactivo’ podemos ver el resultado en la terminal, pero si pulsamos la tecla B abriremos este en el navegador web predeterminado.
Para regresar a una pantalla anterior hasta terminar saliendo de la herramienta, presionaremos la tecla ESC.
Buscar respuestas para un lenguaje específico
Si no especificamos un idioma, por defecto la línea de comandos nos proporcionará de inmediato la respuesta más probable. Pero si no es esto lo que buscamos, y queremos afinar un poco, también podemos restringir los resultados a un lenguaje específico, por ejemplo, php, python, c, Java, etc.
Por ejemplo, para buscar consultas relacionadas con el lenguaje ‘java’ solo tendremos añadir el indicador -l como se muestra a continuación:
how2 -l java class instance
Ayuda How2
Para obtener una ayuda rápida, acerca de esta herramienta, solo tendremos que escribir:
how2 -h
El comando de ayuda aporta una información escasa, pero muestra todo lo que hace How2. Para obtener más información sobre esta herramienta y su uso, vamos a poder dirigirnos a su página de GitHub.
Para terminar, decir que la utilidad how2 es un programa de línea de comando básico. Tan solo nos va a permitir buscar rápidamente preguntas y respuestas en Stack Overflow sin salir de nuestra terminal. Pero hace bastante bien este trabajo. Si lo que estamos buscando es algo para utilizar funciones más avanzadas, como buscar las preguntas más votadas, buscar consultas usando múltiples etiquetas, una interfaz coloreada, enviar una nueva pregunta, etc, SoCLI es una mejor opción.