Enviado por Alvaro Anaya M. sobre May 7, 2014 en Mac, soluciones | 2 comentarios
Uno de los mejores inventos de software, cuando te acostumbras a usarlo, es Gnu Screen (A partir de ahora lo llamare solamente Screen). Si eres como yo, que uso continuamente la shell y no conoces screen, te lo recomiendo encarecidamente, te permite hacer muchas cositas interesantes que hacen la vida mas fácil y porque no, elegante (Si, hay soluciones elegantes incluso para la shell 🙂 )… pero estas lineas no son para hablar de las bondades de Screen sino para indicar como configurar una función que por defecto no me ha funcionado en el Mac con la combinación de iTerm2 y Screen: el scroll vertical.
Al principio pasaba sin el… pero reconozcámoslo, es una faena, por ejemplo: tener que lanzar un segundo ls porque lo que querías ver se ha quedado una o dos lineas fuera de pantalla, o incluso visualizando un fichero con cat…. o con otra cualquiera de las miles de situaciones a las que te empuja el hecho de no tener el scroll vertical asi que me puse a investigar un poco y he dado con la solución que es la siguiente:
Lo primero que deberemos hacer es tener en el fichero .screenrc la configuración para tener scroll con diferentes tipos de terminal. Para ello debemos añadir alguna linea pero ya que tenemos que editar el fichero, os dejo mi configuración de Screen en la cual ponemos ver dos bloques:
– Las primera 3 lineas son para que se muestre la barra de «pestañas» en la parte inferior de la pantalla, con algo de información.
– Las ultimas 3 lineas son las que permiten tener el scroll.
1 2 3
| hardstatus on
hardstatus alwayslastline
hardstatus string "%{.bW}%-w%{.rW}%n %t%{-}%+w %=%{..G} %H %{..Y} %d/%m %c " |
term xterm-256color
defscrollback 1000
termcapinfo xterm|xterms|xterm-256color|vt100|xs|rxvt|rxvt-cygwin-native ti@:te@
La 1era de las 3 ultimas lineas:
Solamente esta cambiando el tipo de terminal que usaremos en screen. Por defecto, si hacemos desde screen:
Nos mostrara que tenemos una terminal llamada screen, sobre la cual no tenemos ninguna configuración internaste, ni es muy y estándar que digamos asi que lo primero que deberíamos hacer es cambiarla y ya puesto la xterm-256color es muy competente y con bastantes colores, que sea una SHELL no significa que tenga que ser un castigo en monocromo o con varias tonalidades de tortura en verde y negro.
La 2da linea:
Indica el numero de lineas que se podrá retroceder haciendo el scroll.
Y para finalizar, la linea que de verdad hace lo que queremos hacer:
1
| termcapinfo xterm|xterms|xterm-256color|vt100|xs|rxvt|rxvt-cygwin-native ti@:te@ |
Habilita el scroll sobre varias terminales, no solo sobre xterm-256color que es la que hemos indicado que usaremos sino sobre unas cuantas mas, así esta linea me sirve en varios sistemas mas, incluido CYGWIN, de hecho, lo que suelo hacer en otros sistemas en copiarme el fichero $HOME/.screenrc tal y como os lo he mostrado hace unas lineas para tener el screen configurado.
Bien, llegamos a este punto es cuando probáis la configuración y ZAS! No funciona!! Aun nos falta una parte, tenemos que hacer un par de pequeños cambios en la configuración de iTerm2:

Preferencias de la app iTerm2
Tendremos que, obviamente, abrir iTerm2, sus preferencias y situarnos en PROFILES para poder después visualizar la pestaña TERMINAL.
Una vez en dicha pestaña, marcaremos las dos opciones que aparecen bajo el textbox de «scrollback lines» el cual aprovechando el momento, podremos modificar también para que sean el mismo numero de lineas que hemos indicado en el fichero de configuración del Screen. Tras estos cambios solo nos quedaría indicarle también a iTerm2 que la terminal será del tipo xterm-256color y estada todo listo.
A partir de este momento, cuando use screen, tendrá el tan apreciado scroll vertical, además de las otras opciones de screen que hemos habilitado si no tenia ya.
leer más
Enviado por Alvaro Anaya M. sobre Sep 18, 2013 en Scripts | 0 comentarios
Hoy es dia 18 de Septiembre de 2013 y dicen las malas lenguas 🙂 que IOS7 sale hoy. He mirado hace un rato y no era asi, como no tengo muchas ganas de quedarme aqui embobado apretando un botón para ver si hay o no update he recurrido a mi imaginación.
Hace ya tiempo, trabaje con un proyecto muy interesante llamado SIKULI que es un IDE de programacion PERO basado en imágenes, si si, como suena, tu le dices, en esta ventana… tomas una captura de la misma, haces clic aquí… y haces captura del boton. A eso le han sumado un simple lenguaje de programación pero, si ya estas intentando pasar del articulo, no te asustes que es un entorno realmente simple, tanto como:
1 2
| if exist(AQUI_VA_UNA_IMAGEN):
click(Aqui_va_la_imagen_del_boton) |
El codigo se parece bastante a es python (Python scripting is well supported by the SikuliX-IDE (more scripting languages to come)), asi que es bien sencillo. Ahora que ya sabemos que usar, simplemente vamos a añadir el resto de ingredientes: el iTunes y, en mi caso, el VLC. Te preguntarás ¿¿porque?? Pues bien, por varias razones: no tengo musica a mano solo un capitulo de True Blood en formato no iTunes 🙂
Para preparar bien el entorno, dejamos abierto el VLC a un lado y el itunes con la ventana de informacion del telefono abierta. Tened en cuenta que la app podría estar cerrada y nosostros programar que se abra, pero he querido hacerlo en 2 min… y lo he conseguido. Al tema…
Instalamos sikuli: sikuli-setup.jar (La web es: http://www.sikuli.org)
Una vez instalado abrimos itunes y lo dejamos con la parte donde aparece el botón «buscar actualización» visible
Abrimos VLC, cargamos una peli o cancion o lo que queramos
Insisto, nada de esto es necesario. Se podria hacer desde SIKULI, solo lo hago asi por ganar tiempo.
Y con los ingredientes, imagino que ya sabeis cual es el plan 🙂
Si le damos al botón «buscar update» y nos sale el cartelito de que no hay, nada.
Si no sale ese cartel, se pone a reproducir el capitulo de True Blood a todo volumen para avisarme.
Tiene que ser un bucle, mientras salga el cartelito de que no hay update… debe volver a ejecutarse (Hay que meter una espera de 10seg por lo menos para no agobiar a nadie 🙂 )
y comenzamos a programar en SIKULI… a la izq tenemos algunas de las ordenes basicas, podeis jugar con la orden click para ver como es el sistema de las capturas… para probar las creaciones, hay una opcion que es reproducir a camara lenta.
Si quereis complicaros, teneis la docu en la pagina oficial…
Este es el codigo que estoy usando… la verdad no se si funciona completamente, al menos hasta que salga la actualización 🙂 SI FUNCIONA, a la 3era ejecucion seguida he visto que continuaba lanzado y me fui a cenar. No pasaron ni dos minutos y True blood comenzo a sonar a todo volumen… BINGO!!! update detectado 🙂

Script de sikuli
Aunque se pueden guardar los scripts e incluso lanzarlos desde la linea de comandos, en este caso no os lo voy a facilitar… es demasiado simplón y uno tiene su amor propio… de hecho lo publico porque me parece algo curioso y que seguro no sabíais 🙂
Ahora ya teneis todo… a Sikuliar (o como se diga) que yo me voy a cenar tranquilo sabiendo que si sale el update el ordenador comenzará a reproducir el capitulo a todo volumen!!
PD: En la seccion de ejemplos de la web hay verdaderas obras de arte hechas con sikuli… desde un script para jugar al bejeweled hasta descargas masivas de ficheros… y un sinfín de cosas mas… insisto, probadlo que no os arrepentiréis.
leer más
Enviado por Alvaro Anaya M. sobre Sep 2, 2013 en MiniTips | 0 comentarios
Hoy voy a postear un minitip que pensé que conocia más gente pero estoy viendo que no es así: La forma de buscar con find, desde una fecha u hora determinadas.
Una de las carencias que nos podemos encontrar con la orden find en los sistmemas *nix (Linux y OsX incluidos) es que si nos disponemos a buscar desde una fecha determinada nos llevaremos un chasco puesto que comienza a contar dias atrás desde las 00h no desde la hora actual. Más grave aún, si queremos hacerlo desde una hora determinada ya que no nos los permite de niguna manera… bueno, miento, hay una que si nos permite y con la exactitud que queramos incluso en segundos.
Para realizarlo, hay que hacer algun paso extra pero como vereis ahora, son muy sencillos. Estos son los pasos que vamos a realizar:
– Creamos un fichero con la fecha y hora desde la que queramos buscar
– Invocamos el find con el argumento -newer (A este argumento hay que pasarle un fichero del cual tomará como referencia minima, la hora y la fecha que tenga)
Así pues con este paso extra, podremos decirle desde cuando queremos buscar y ahora que ya sabemos lo que vamos a hacer… hagámoslo!!
1 2 3 4
| # Primero creamos el fichero pasando el tiempo en formato timestamp (Año mes dia hora minutos . segundos)
touch -t 201309021810.00 fichero_ejemplo
# Y ahora le pasamos el parámetro -newer a find con el fichero creado como punto temporal
find . -type f -newer fichero_ejemplo # Añadiendo -type f, solo mostrará ficheros |
Si por el contrario, lo que queremos es que los resultados sean anteriores a la fecha dada, es decir, más viejos, no, no es older, no existe un argumento older, que seria lo lógico sino que habria que negar el argumento -newer, y ¿como se negaba en informática? con el signo de cerrar admiración «!». Veamos el ejemplo contrario:
1 2
| # Para buscar ficheros más viejos que la fecha y horas facilitadas en el fichero seria:
find . -type f ! -newer fichero_ejemplo |
Y ya está… con esto encontrareis cualquier cosa 🙂
leer más
Enviado por Alvaro Anaya M. sobre May 27, 2013 en MiniTips | 0 comentarios
Extremamos una nueva sección: MiniTips. Pequeños trucos para grandes soluciones (Que bonito me ha quedado 🙂 ) y para el primero, un truco muy bueno.
En ocasiones tienes que enviar una captura de una web a alguien: Del Enterprise Manager de Oracle, del cloud control, una tabla enorme, una gráfica…etc etc y te encuentras con que esta no entra en la pantalla así que hasta ahora tenias 2 opciones: Hacer más de una captura y enviarlas (Pegadas en una o por separado, en ambos casos mas trabajo) o buscar formas alternativas de extraer la información (Normalmente, mas vueltas y, por tanto, mas trabajo).
Pues nada, a partir de ahora, con esta función NATIVA de Firefox (Eso es, sin plugins, sin extensiones, sin programas de terceros… nada, solo firefox) podremos hacer una captura de la pagina completa, sea lo larga que sea, ¿como? Pues así de fácil, estos son los pasos:
El primero de todos es, obviamente, abrir la URL que queramos capturar completa, en el Firefox.
Acto seguido vamos al menú y activamos la barra de desarrolladores en el menú «desarrolladores web», tal y como vemos en la siguiente captura:

Activar la barra de desarrolladores
Tras habilitarla, veremos que, en la parte inferior de la pantalla, nos ha aparecido una barrita oscura donde podremos escribir. Esta es la barra de desarrolladores, desde donde podremos interactuar a distintos niveles con el sitio que tengamos en pantalla aunque en este nivel, nos quedaremos en el screenshot de la página completa.
En este recuadro veremos que nada más comenzar a escribir, nos sugerirá el autocompletado de la orden que estemos escribiendo y lo mejor de todo es que de las opciones de la orden también hay sugerencias.

Autocompletado en la barra de desarrolladores
De esta forma, escribiremos la siguiente orden para que haga un screenshot o captura de la web completa (Completa es completa, es decir, desde el primer pixel hasta el ultimo que no podemos ver porque hay que usar el scroll) que estamos viendo y la almacene en el portapapeles y muy importante: sin que salgan las barras ni botones del navegador, es decir, solamente la web completa, lista para «pegar» en nuestro editor de imágenes, correo..etc
1
| screenshot --clipboard --fullpage |
Cabe destacar, que podemos guardarla directamente en un archivo, realizar la captura con retardo…etc pero eso os lo dejo a vosotros, para que tengáis con lo que cacharrear 😉
leer más
Enviado por Alvaro Anaya M. sobre May 20, 2013 en Scripts | 1 comentario
Este script es ideal para los que quieran comenzar a hacer scripts sencillos en applescript ya que realiza tareas bastante comunes como obtener el path de la ventana del finder, comprobar si existe una app mediante el bundle identifier…etc Además que es de lo más útil , todo sea dicho.
El script está pensado para tener un enlace en la barra de herramientas del Finder, para lo que hay que arrastrarlo de forma de manual a él.
Una vez instalado en la Finder Toolbar, nos permitirá abrir la terminal en la misma carpeta donde esté situada la ventana del Finder donde pulsemos sobre el icono. Es mucho más sencillo de lo que parece:
Si en el Finder estas en la carpeta /Users/MiUsuario/Downloads y pulsas el boton que enlaza al script, abriras la termina en esa misma carpeta, no en la carpeta por defecto que se abre siempre en al terminal.
Ahora bien, he agregado una comprobación mas para que, si tenemos instalado en el equipo la aplicación iTerm2, nos abra esta en lugar de la Terminal de OSX.
Hay que decir también que applescript no es un lenguaje más rápido del mundo y si estamos en un Mac bastante viejo y somos unos fanaticos de la inmediated, es posible modificar el script para que nos lance directamente la app que queramos sin realizar ninguna otra comprobación, pero eso os lo dejo a vuestro gusto.
A continuación os dejo el script «tal cual» aunque para que sea realmente útil, es necesario convertirlo en app y llevárselo a la barra del Finder. Por esta razón os doy dos opciones, escoged la que queráis 🙂 :
1.- Bajar la version compilada (enlace al final del articulo)
2.- Copiar el código (mostrado mas abajo) y compilarlo como aplicación.
Después de haber seguido cualquiera de las dos, mi consejo es que os lleveis el «.app» a la carpeta aplicaciones (No porque solo funcione desde allí sino porque será más fácil que no se elimine por error o se mueva) y una vez allí, arrastrarla a la barra superior del Finder, tal y como vemos en la siguiente captura:

Se arrastra la app a la Toolbar del finder
Este es el script:
*NOTA: El coloreado del código no es correcto porque applescript no está soportado por el plugin de wordpress y lo he marcado como ActionScript3 pero esto solo afecta a los colores para mostrarlo en WEB.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| (*
Abrir Terminal aqui
por Alvaro Anaya
www.archivoslog.es
Version 0.1
*)
-- Lo primero es recoger la direcc de la ventana del Finder
tell application "Finder" to set rutaProcesada to (folder of the front window) as alias
-- Ahora comprobamos si esta instalado el iTerm2 (con el bundle identifier es mas fiable)
try
tell application "Finder" to get application file id "com.googlecode.iterm2"
set existeApp to true
on error
set existeApp to false
end try
-- Ahora si existe, abrimos la ruta en iTerm, de lo contrario, en Terminal
if existeApp is true then
tell application "iTerm"
open rutaProcesada
activate
end tell
else
tell application "Terminal"
open rutaProcesada
activate
end tell
end if |
Por supuesto, el icono de la app es modificable al 100%. Por ejemplo, si tomamos el de la misma Terminal, el aspecto que muestra la barra del finder mejora bastante como podemos ver a continuación aunque si tenemos un icono de aspecto similar al de los otros botones de la barra del finder, quedaria mucho mejor, sin duda:

Finder Toolbar con «Abrir terminal aquí» y el icono de Terminal.app
Y como siempre… esta es la verison «Todo hecho» para la gente sin tiempo/ganas de «cacharrear». Es el enlace al script ya compilado como .app y con el icono de la terminal. Solo es necesario llevarlo a la carpeta «/Aplicaciones» y desde allí, arrastrarlo a la barra del Finder:
Enlace a «Abrir Terminal Aqui»:
Descargar app compilada
leer más