La consola de comandos es una herramienta básica para todo aquel que trabaja en algún ámbito de la informática y es la forma menos recargada y rápida para ejecutar ciertas acciones en un sistema.
En el caso de Windows su interprete de comandos CMD, a veces resulta un poco engorroso cuando queremos recoger un resultado, y es que la consola no nos permite hacer algo tan simple como seleccionar y copiar. Algo a lo que todos nos hemos acostumbrado...
Existe la posibilidad de redirigir la salida usando ">" ">>" dependiendo si queremos sobrescribir el fichero o añadir información al final del mismo. Un ejemplo:
Esta opción no resulta práctica cuando lo que queremos es conseguir de manera rápida la salida de un comando, para por ejemplo copiarla y pegarla en otro sitio sin pasar por un fichero.
A tal efecto puedes usar junto a un comando la siguiente pipeline:
ping 127.0.0.1 | clip
De esta forma el output del comando queda guardado en el portapapeles de Windows y podrás pegarlo en cualquier sitio con la acción contextual "Pegar" del botón secundario del ratón o usando CTRL + V.
En mi día a día trabajo con información tridimensional y hago tratamiento de la misma mediante una herramienta que se ha convertido para mí en un imprescindible. Se trata de Meshlab.
Meshlab es una herramienta Open Source muy potente que permite el manejo y procesamiento de información 3D. Lo que hace realmente potente a Meshlab, son la cantidad de filtros para procesar esa información, y que más de uno ha pensado en usar como herramienta para hacer cierto procesamiento de un Dataset de información.
Cuando se descargan los binarios de Meshlab, se incluyen dos ejecutables: meshlab y meshlabserver. El primero es obvio para qué sirve, porque se trata del ejecutable que lanza Meshlab para ser utilizado por medio de la interfaz gráfica. El segundo es una ejecutable que nos permite procesar un Dataset completo, usando los filtros de Meshlab, mediante la configuración de un script MLX y prescindiendo de la interfaz gráfica.
Generar el script es tan sencillo como abrir Meshlab y aplicar todos los filtros que deseemos en el Dataset. Veamos un ejemplo.
Tenemos la malla de un modelo 3D de Yoshi como Dataset, pero dicho modelo tiene un agujero en la parte inferior.
Meshlab dispone entre sus filtros de uno que se llama "Close Holes", que nos vendrá de perlas para este caso. Vamos a la sección "Filters" y los buscamos.
Parametrizamos el filtro como mejor consideremos y le damos a aplicar. Como podemos ver el agujero de la parte inferior queda cerrado.
Para generar el script del filtro que acabamos de aplicar y que vemos que da buenos resultados, volvemos a ir a "Filters", y seleccionamos "Show current filter script". Se nos abrirá una ventana como la siguiente:
Aquí están todas las acciones que van a constituir nuestro script, en nuestro caso sólo vamos a usar "Close Holes". En esta ventana podemos editar el orden de los filtros que vamos a aplicar, los parámetros de cada script, borrar un filtro del script... Cuando todo está en orden guardamos el script, el cual será guardado en formato MLX.
Para aplicar las acciones en lote sólo tenemos que usar el ejecutable meshlabserver indicándole los parámetros necesarios para su funcionamiento (input, output y script de filtros XML). Para ver la parametrización de meshlabserver podemos acudir a su comando de ayuda de la siguiente forma:
meshlabserver -help
Usage:
meshlabserver arg1 arg2 ...
where args can be:
-i [filename...] mesh(s) that has to be loaded
-o [filename...] mesh(s) where to write the result(s)
-s filename script to be applied
-d filename dump on a text file a list of all the filtering fucntion
-l filename the log of the filters is ouput on a file
-om options data to save in the output files: vc -> vertex colors, vf -> vertex flags, vq -> vertex quality, vn-> vertex normals, vt -> vertex texture coords, fc -> face colors, ff -> face flags, fq -> face quality, fn-> face normals, wc -> wedge colors, wn-> wedge normals, wt -> wedge texture coords
Example:
'meshlabserver -i input.obj -o output.ply -s meshclean.mlx -om vc fq wn'
Notes:
There can be multiple meshes loaded and the order they are listed matters because
filters that use meshes as parameters choose the mesh based on the order.
The number of output meshes must be either one or equal to the number of input meshes.
If the number of output meshes is one then only the first mesh in the input list is saved.
The format of the output mesh is guessed by the used extension.
Script is optional and must be in the format saved by MeshLab.
De esta forma podemos aplicar una sucesión de operaciones de Meshlab en el Dataset que queramos con muy poco esfuerzo.
Todos los días manejamos un infinidad de accesos distintos para servicios web. Por seguridad deberíamos usar claves distintas para cada uno de los servicios en los que nos registramos, pero lo cierto es que terminamos usando variaciones de una misma clave o simplemente la misma. Esto a todas luces entraña su riesgo, puesto que desvelar una clave en cualquiera de los muchos servicios que usamos, conlleva comprometer el resto de accesos web. Puedes comprobar si este es tu caso gracias a servicios como "Have I been pawned?":
Clef es un servicio gratuito de autenticación e inicio de sesión único, simple y seguro. Se trata de un servicio que hace uso de tu smartphone para poder abrir la sesión de tus servicios web.
Clef se instala en tu móvil Android o IOS y queda protegida su apertura mediante un PIN que pondremos durante su instalación. A partir de este momento podremos unificar todos los accesos usando Clef.
Clef simplifica el acceso y lo hace más rápido y cómodo, usando dos credenciales para idetificarnos. Por un lador el propio móvil, que se usa para escanear el código que se nos presenta, y el PIN que es algo que sabemos. De esta forma un elemento cotidiano que todos llevamos encima como es el smartphone, se convierte junto a un PIN, en tus credenciales de acceso para todos aquellos servicios web que estén integrados con Clef. Este modelo de autenticación de dos factores es un modelo clásico, siendo similar al de las tarjetas de crédito, que para hacer uso de las mismas es necesario la tarjeta (algo que tenemos) y el PIN (algo que sabemos).
Una vez autenticados en un servicio web, podemos controlar la caducidad de la sesión desde nuestro móvil o cerrarla, si por ejemplo se nos olvidó cerrarla en el equipo donde la abrimos. Además, si en algún momento perdemos el móvil siempre podremos desactivar Clef desde la siguiente dirección:
Es posible usar Clef en tu blog WordPress, instalándolo como plugin. De esta forma se dota a los usuarios de una manera más simple y segura de acceso al blog, además de eliminar los ataques de fuerza bruta por completo, tan extendidos en el mundo de WordPress. También es posible usar Clef junto la extensión Waltz para navegadores Chrome, para usar Clef como sistema de autenticación para cualquier servicio web. Waltz es además Open Source y su código fuentes puede ser encontrado en Github.
SyntaxHighlighter es un completo coloreador de sintaxis desarrollado en JavaScript. Al ser un desarrollo de JavaScript la ejecución se realiza en el lado del cliente, en el navegador, lo que no añade carga extra al servidor.
Oficialmente soporta la detección de sintaxis para los siguientes lenguajes: