2016-04-08

31 Atajos de teclado que podemos usar en nuestra terminal o consola

¿ Qué podemos hacer en nuestra terminal a un golpe de teclado ? Muchas más cosas de las que nos imaginamos. Hay muchas teclas alternativas, algunas no funcionarán en versiones muy antiguas, otras son teclas algo más fáciles pero en ocasiones algunas terminales remotas no aceptan esos códigos y pueden no funcionar. Las teclas alternativas suelen estar especificadas en /etc/inputrc . También incluyo alguna palabra clave que suele ser el significado de la tecla, o alguna aclaración mnemotécnica para no olvidarnos (o eso pretende).

Posicionamiento

  • Control + E : Ir al final de la línea (Tecla Fin). End.
  • Control + A : Movernos al principio de la línea (Tecla Inicio). La A es la primera letra del abecedario, pues al principio.
  • Alt + F : Movernos al siguiente espacio (Teclas Control + derecha). Forward
  • Alt + B : Movernos al espacio anterior (Teclas Control + izquierda). Backwards
  • Control + B : Movernos a la letra anterior (Tecla izquierda). Backwards (la tecla control suele ser para movernos más rápido)
  • Control + F : Movernos a la siguiente letra (Tecla derecha), Forward
  • Control + XX : Cambiar entre la posición actual del cursor y el inicio de la línea

Edición

  • Control + H : Borra la letra anterior al cursor (Retroceso o Backspace)
  • Control + D : Borra la letra sobre el cursor (Suprimir). ¡ Cuidado ! Esta tecla cierra el terminal si no hay nada escrito (ver más adelante). Delete
  • Alt + Retroceso (Backspace) / Control + W : Borrar la palabra anterior a nuestro cursor. Básicamente borra desde el cursor hasta el espacio anterior por lo que si estamos en mitad de una palabra borraremos la fracción desde el cursor hacia atrás. Cut Word.
  • Control + U : Corta desde la posición actual hasta el principio
  • Control + K (Alt + D): Corta desde la posición actual hasta el fin de línea. Alt + D se supone que no guarda en el portapapeles, pero en muchos casos sí lo hace.
  • Control + Y : Pega algo que has cortado desde la posición actual. Yank.
  • Control + T : Invertir el orden de las dos letras anteriores al cursor. Typo
  • Escape + T : Invertir el orden de las dos últimas palabras (Alt + T funciona si no interfiere con nuestro gestor de ventanas). Transpose.
  • Escape + U : Pone en mayúsculas toda la palabra desde el cursor hasta el final (Alt + U si no interfiere con nuestro gestor de ventanas). Uppercase.
  • Escape + L : Pone en minúsculas toda la palabra desde el cursor hasta el final (Alt + L si no interfiere con nuestro gestor de ventanas). Lowercase
  • Alt + C : Pone la letra en el cursor en mayúscula y nos vamos al final de la palabra. Capitalize.
  • Control + L : Limpiar la pantalla (igual que el comando $ clear). CLear.
  • Control + _ (a veces Control+-): Deshacer. Funciona si escribimos una línea, luego borramos una parte, volvemos a escribir… entonces deshacemos. Si no hacemos mucho, directamente aparecerá la linea vacía. Es lógico, el estado inicial es así.

Historial

  • Control + R : Acceder al historial (escribimos parte de una línea que hayamos escrito antes y nos sugerirá un comando anterior. Si nos sugiere algo y queremos que siga buscando cosas parecidas, debemos pulsar de nuevo Control+R.). Reverse.
  • Control + G : Salir del como de búsqueda de Control + R
  • Control + O / Control + J : Enviar el comando (Tecla enter de toda la vida). Aunque Control+O es más para enviar un comando propuesto por Control +R.
  • Control + P : Buscar en los últimos comandos enviados (Tecla Arriba). Previous.
  • Control + N : Buscar el siguiente comando (Tecla Abajo). Si hemos pulsado Control + P antes, con esta tecla podemos navegar. Next.
  • Alt + . (Alt y punto): Escribir la última palabra del comando anterior

Procesos

  • Control + C : Cancelar un comando (envía una señal SIGINT para cerrar un programa. El programa internamente puede elegir cerrarse o no cerrarse.). Cancel.
  • Control + D : Cerrar la terminal. Puede ser útil cuando estemos ejecutando comandos que requieran texto de la entrada estándar y queremos dejar de escribir texto.
  • Control + Z : Pausar una aplicación (Señal SIGTSTP, que puede ser ignorada por el proceso). Una vez pausada la aplicación podemos utilizar las siguientes órdenes
    1. $ jobs : para ver todas las taras que tenemos en marcha
    2. $ fg : Para continuar en primer plano la última tarea (foreground)
    3. $ bg : Para continuar en segundo plano la última tarea (background)
    4. $ bg [número de tarea] : Para continuar en segundo plano la tarea con ese número
    5. $ %[número de tarea] : Para continuar en primer plano la tarea con ese número (o también $ fg [número de tarea]
    6. $ kill %[número de tarea] : Para finalizar la tarea y no continuarla jamás.
  • Tab : Autocompletar (si estamos en mitad de una palabra busca el comando que más se parece, si pulsamos varias veces nos da varias opciones, si las hay. En las últimas versiones, es posible que muchos programas tengan configurados sus posibles argumentos y también aparezcan).
  • Conrol + S : Parar la salida por pantalla. Si por ejemplo ejecutamos un comando que tiene una salida inmensa, podemos hacer que trabaje en silencio. Stop.
  • Control + Q: Volvemos a permitir la salida por pantalla.
Algunos sitios que podemos visitar:
Atajos de teclado para consola o terminal
Linux Terminal Command Reference

Windows Clipboard Formats

Visión general de los formatos estándar del portapapeles y de los formatos comunes con enlaces a las estructuras de datos.

http://www.codeproject.com/Reference/1091137/Windows-Clipboard-Formats

2016-02-11

Pack URIs in WPF


Apunte sobre como establecer una imagen incrustada en un recuso en WPF original


la solución - Pack URIs.

Image finalImage = new Image();
finalImage.Width = 80;
...
BitmapImage logo = new BitmapImage();
logo.BeginInit();
logo.UriSource = new Uri("pack://application:,,,/AssemblyName;component/Resources/logo.png");
logo.EndInit();
...
finalImage.Source = logo;


El URI se divide en partes:
  • Autoridad: application:///
  • Ruta de acceso: El nombre de un archivo de recursos que se compila en una referencia de ensamblado. La ruta de acceso debe ajustarse al siguiente formato: AssemblyShortName[;Version][;PublicKey];component/Path
    • AssemblyShortName: el nombre corto para la referencia de ensamblado.
    • ;Versión [opcional]: la versión de la referencia de ensamblado que contiene el archivo de recursos. Este se utiliza cuando dos o más ensamblados con el mismo nombre corto de la carga.
    • ;Clavepublica [opcional]: la clave pública que se utiliza para firmar la referencia de ensamblado. Este se utiliza cuando dos o más ensamblados con el mismo nombre corto de la carga.
    • ;componente: especifica que la asamblea se refiere a que se hace referencia desde la asamblea local.
    • /Ruta de acceso: el nombre del archivo de recursos, incluyendo su ruta relativa a la raíz de la referencia de ensamblado de la carpeta del proyecto.
Las tres barras diagonales tras application: tienen que ser reemplazados con comas:
Nota: La autoridad de los componentes de un paquete de URI es un integrado URI que apunta a un paquete y deben cumplir con la RFC 2396. Además, el carácter "/" debe ser reemplazado con el "," carácter", y caracteres reservados como "%" y "?" debe ser escapado. Ver el OPC para obtener más detalles.
Y, por supuesto, asegúrese de que configurar la acción de compilación en la imagen para Resource.



Otro ejemplo.
string packUri = "pack://application:,,,/AssemblyName;component/Images/icon.png";
_image.Source = new ImageSourceConverter().ConvertFromString(packUri) as ImageSource;



2015-12-07

http2 explicado

http2book.png
La especificación de la segunda versión del protocolo HTTP, fue publicada en mayo de este mismo año, 2015. El documento oficial dónde se definen la misma, es el RFC 7540. Mas información en:

RFC 7540:https://tools.ietf.org/html/rfc7540
http2 explicado: http://http2-explained.haxx.se/content/es/index.html:

Impresión ePub: https://www.gitbook.com/download/epub/book/bagder/http2-explained
Impresión PDF:  https://www.gitbook.com/download/pdf/book/bagder/http2-explained



2015-10-28

Recursos sobre criptografía y seguridad

Estar al día sobre cualquier campo dentro de la tecnología, requiere un gran esfuerzo y dedicación. En el tema de la seguridad informática y criptografía, es quizás incluso más complicado por la cantidad giros y avances que se llevan a cabo a pasos agigantados. Es por ello que el mantener organizado una buena lista de recursos esenciales, debería ser un objetivo primordial.
He aquí una web llamada RETTER en la que podemos encontrar una excelente lista de dichos recursos. Los recursos están divididos en las siguientes categorías:
El contenido del sitio está alojado en Github. La lista sigue en continuo desarrollo.
Este sitio no te debe faltar en tus favoritos.
- See more at: http://www.cyberhades.com/2015/10/26/recursos-sobre-criptografia-y-seguridad/

2015-10-10

Eones, Eras, Periodos y Épocas geológicas

El eón es la unidad más grande de tiempo geológico. Se divide en diversas eras geológicas. Cada era comprende algunos periodos, divididos en épocas.
Cuanto más reciente es un periodo geológico, más datos podemos tener y, en consecuencia, se hace necesario dividirlo en grupos más pequeños.
Edad (años)EonEraPeriodoÉpoca
4.470.000.000Precámbrico  Azoica
3.800.000.000Arcaica
2.500.000.000Proterozoica  
560.000.000FanerozoicoPaleozoicaCámbrico
510.000.000Ordovícico
438.000.000Silúrico
408.000.000Devónico
360.000.000Carbonífero  
286.000.000Pérmico
248.000.000MesozoicaTriásico
213.000.000Jurásico
144.000.000Cretáceo
65.000.000CenozoicaTerciariaPaleoceno
56.500.000Eoceno
35.400.000Oligoceno
24.000.000Mioceno
5.200.000Plioceno
1.600.000CuaternariaPleistoceno  
10.000Holoceno

Bibliografía
http://www.astromia.com/tierraluna/erasgeologicas.htm

Una de mates – El principio del palomar

Una curiosidad, El principio matemático del palomar

El principio del palomar, también llamado principio de Dirichlet o principio de las cajas, establece que si n palomas se distribuyen en m palomares, y si n > m, entonces al menos habrá un palomar con más de una paloma. Otra forma de decirlo es que m huecos pueden albergar como mucho m objetos si cada uno de los objetos está en un hueco distinto, así que el hecho de añadir otro objeto fuerza a volver a utilizar alguno de los huecos. A manera de ejemplo: si se toman trece personas, al menos dos habrán nacido el mismo mes

Mas información:

2015-10-05

Robocopy

Robocopy, como abreviatura de Robust File Copy, es como su propio nombre indica, una herramienta de copiado robusto de archivos. Desde Windows NT 4, se ofrecía gratuitamente como parte del Windows Resource Kit, pero su difusión ha ido aumentando, gracias a que desde Windows Vista, se incluye de serie con el sistema operativo, ya sea de escritorio, como de servidor.

Desde su primera versión pública de 1997, la 1.7 (Windows NT 4), lo hemos visto pasar a la 1.9 de 1999 (Windows 2000), 5.1 de 2003 (Windows Server 2003), 5.1 de 2008 (Windows Vista y Server 2008), 6.2 de 2012 (Windows 8), 6.3 de 2013 (Windows 8.1), y 10.0 de 2015 (Windows 10).

En Microsoft Technet, te ofrecen una descripción detallada de todos sus argumentos, aunque estas de suerte, porque su funcionamiento básico, es análogo al ya conocido Xcopy, que dicho sea de paso, pretende reemplazar.

Sus argumentos son serios, porque además de la robustez de su diseño, ofrece un elevado rendimiento gracias a sus capacidades multihilo, así como multitud de opciones de copiado y movido. Se pueden ajustar la cantidad de reintentos, permitir resumes, eliminar de la copia los archivos que ya no existen en el original, etc.

En mi caso, lo utilizo con frecuencia para realizar copias de seguridad de mis datos en un disco USB externo, de la forma:

robocopy.exe [Origen] [Destino] /e /dcopy:T /purge /zb /sl /xj /r:3 /w:1

Una joyita, que incluso en la versión 10.0 de Windows 10, en su variante de 64 bits, apenas requiere de 130 Kb. de espacio en disco.




Aquí esta el documento original.