Comparación con decimales en bash

Lunes, 30 de agosto de 2010

Necesitaba realizar unas comparaciones de números con decimales, positivos y negativos para unos pequeños scripts que informan sobre el estado del clima (posa el ratón un segundo sobre la imagen de “cielo sobre Cartagena” para leerlo. En la columna de la derecha).

Problema

Si en un script hacemosecho "scale=2; 12.5 - 12.2 | bc -l" nos dará como resultado .3 (sin cero delante).
Para producir un número “entero” (con el cero delante), podemos hacer lo siguientea=12.5; b=12.2;\
echo "scale=6; resta = $a -$b; if (resta < 1 && 0 <= resta ) { print "0" }; print resta" |\
bc -l

Que imprimiría 0.3, PERO si la resta es negativa nos mostrará 0-.3 (cero menos coma tres)

Además ninguna de las formas anteriores es admitida por IF que solo compara números enteros:a=0.3; if [ $a -gt 0.1 ]; then echo "A es mayor que B"; else echo "A es menor que B"; fi
DICE que -->bash: [: 0.3: se esperaba una expresión entera

Solución

Al final una solución de casa de mi abuela: multiplicar todo por 1000 (o cualquier otro factor suficientemente grande como para convertir tus operaciones en números enteros) y a tomar viento. Algo así:#hacemos la operacion que nos producía un decimal negativo
resta=`factor=1000; a=12.2; b=12.5; \
echo "( $a*$factor ) - ( $b*$factor )" | bc`
#$resta es -300.0
#quitamos los decimales
resta=`${resta/.*/}
#$resta es -300
#hacemos comparacion
comparador=`factor=1000; \
echo "$factor * 0.1" | bc`
#$comparador=100.0
#quitamos los decimales
comparador=${comparador/.*/}
#hacemos la comparacion
if [ $resta -gt $comparador ]; then echo "A es mayor que B"; else echo "A es menor que B"; fi
A es menor que B

WP sin borradores

Jueves, 26 de agosto de 2010

Añadiendo esta linea al final del wp-config.php
define('WP_POST_REVISIONS', false);

Desactivas la creación de revisiones de tus apuntes en tu WordPress, es decir, no se genera un nuevo registro cada 5 minutos de edición ó cada vez que pulsas “Guardar borrador” y que había llevado mi tabla de apuntes a pesar 26Mg.. cuando una vez limpia de revisiones pesa 5Mg.

Quitar avisos de actualización en WordPress

Martes, 24 de agosto de 2010

La tipica chorrada que te pone nervioso: entras al panel de WordPress y venga cartelitos de “Nueva version de ..” , “Actualiza ahora“, “Atención…” … y eso que tengo cuatro plugins instalados, pero es que como cada vez más soy del club de “Si-funciona-para-que-lo-quieres-actualizar-?“, pues me he dedicido a hacer desaparecer dichos mensajitos, y para hacerlo lo mas sencillo es editar el archivo PHP del plugins en cuestión y en las primera lineas, donde pone:
/*
...
Version: 1.2.1 <-- antes
Version: 100.2.1 <-- ahora
Author: Michael Zehrer
Author URI: http://zepan.org
*/

Ale, avisame cuando llegues a la version 100.2.2

Kflickr.0.9.1-trebola RPM

Jueves, 19 de agosto de 2010

No sé que hice el otro día probando las KDE4 que me sobreescribí mi querido Kflickr de KDE3 con la versión de KDE4. Asi es que me tocó, descargar de nuevo, modificar de nuevo y recompilar. Para que no me vuelva a pasar he creado un rpm con las modificaciones que tenía mi anterior instalación y (sobretodo) un par de arreglos en la traducción (lo de “ancho de banda del upload” y “autentique un nuevo usuario” me estaban matando).

Este instalador no es más que el Kflickr 0.9.1 para KDE3.5 (descargable desde aqui) pero:

  • Asume un tamaño de envio “Grande” por defecto, de 2048 pixels
  • Asume una licencia Creative commons “Attribution Non Commercial Share Alike

Si alguien tiene interes en descargarlo e instalarlo lo tiene aqui: kflickr.0.9.1-trebola.rpm

Menú de contexto para publicar en Picasa

Lunes, 16 de agosto de 2010

Entre algunos de los cambios que voy poco a poco realizando en Cuaderno de campo esté el de transferir algunas de las imágenes que acompañan los apuntes a una cuenta en Picassa, el servicio de alojamiento de imágenes ofrecido por Google. De esta manera descargo de trabajo a este ordenador y despejo mi cuenta en Flickr para dedicarla exclusivamente a fotografias, no screenshot ni imágenes de apoyo.
Asi es que, como en adelante tengo que publicar bastante imágenes en Picasa y no es cuestión de andar visitando la página y su formulario de uploading, me hice un script y su correspondiente menú de contexto para subir imágenes con un solo click y obtener la url de la imagen inmediatamente después de la subida. Como además el tamaño de la imagen a publicar se indica a traves de la propia url no es necesario siquiera visitar Picasa para nada.
Menú de contexto KDE3 sigue …

Fotografiar en dias nublados

Martes, 10 de agosto de 2010

El hide que tengo montado en la Srra. del Algarrobo es un “hide de tarde“, es decir, está orientado hacia/para fotografiar en las mejores condiciones durante la tarde y la puesta de sol. Por la mañana el sol está enfrente de la cámara, y aunque entre pinos, la fotografía (digna) es casi imposible, a no ser que esté nublado. Como hoy.
Papamoscas gris III
Me consta que hay gente muy aficionada a fotografiar en estos dias e incluso que los esperan para salir. No es mi caso (imagino también que por condicionantes meteorológicos propios del sureste ibérico: Cartagena tiene 300 dias de sol al año) pero reconozco que se pueden obtener fotografías muy interesantes, incluso diré más: algunas fotografias es obligado hacerlas en nublado para sacar algo decente. sigue …

Limpiar motas invisibles en una fotografia

Martes, 3 de agosto de 2010

Desgraciadamente es dificil mantener cámara y objetivo impecables en lo referente a motas que manchan las fotografías. Algunas de estas motas son casi invisibles, es decir: solamente las ves una vez publicada la fotografía, no cuando las repasas antes de publicar.
Ahora un sencillo truco para evitar pasar por alto algunas pequeñas manchas durante el proceso de publicación de la fotografía. Solo necesitas alguna de las últimas versiones de Gimp (en mi caso estoy usando la beta 2.6.9)

Paso a paso:

  • Abre la fotografía a limpiar en el GIMP
  • Duplica la capa de fondo
  • A la capa superior recien creada aplica: Colores->Auto->Ecualizar

Ahora las motas son claramente visibles. Una vez que las tienes localizadas puedas quitarlas como más comodo te parezca aunque yo prefiero trabajar con la herramienta SANEAR sobre la capa de abajo sin ocultar la capa superior, es decir: sin ver lo que estoy haciendo. Claro, esto solo puedes hacerlo en algunas fotos, en otras estás casi obligado ha ir ocultando y desocultando la capa superior para ir saneado la inferior.
Por si todavía tienes dudas, en el siguiente vídeo puedes ver el proceso sobre una fotografía. sigue …

Amarok2twitter

Sábado, 31 de julio de 2010

Para enviar lo que está sonando en Amarok (KDE 3.5) a Twitter. Pega este código esto en un archivo y lo guardas en tu ~/bin como amarok2twitter por ejemplo.
#!/bin/sh
artista=`dcop amarok player artist`
titulo=`dcop amarok player title`
album=`dcop amarok player album`
mensaje="Suena en #Amarok ? \"$titulo\" ($album) de #${artista/ /}"
curl --basic --user user:contraseña --url "http://twitter.com/statuses/update.xml" --data "source=curl" --data "status=$mensaje"

Lo conviertes en ejecutable con chmod +x ~/bin/amarok2twitter. Ahora asigna a una combinación de teclas este script. Listo, cada vez que pulses una tecla aparecerá en Twitter algo como esto.
Para KDE4 habría que usar qdbus, probablemente con algo como
qdbus org.kde.amarok /Player org.freedesktop.MediaPlayer.GetMetadata

Mousewheel

Domingo, 18 de julio de 2010

Acabo de incorporar al javascript del Cuaderno de campo la extensión para jQuery que añade funcionalidades para manejo de eventos de mousewheel. Vamos que ahora es posible detectar y dar uso a la rueda del ratón en el blog.
Iré extendiendolo por el blog allí donde se me ocurre que puede tener algún sentido o facilitar algo, como por ejemplo en el banner de “En twitter” que se puede ver a la derecha, en la página principal del blog. Ahora, con la rueda del ratón podeis rotar entre los posts publicados en Twitter.

Más apuntes anteriores en la categoria Hacks