Curiosidades, Diferencias a la hora de ejecución e interpretación de código.

Decidí tomarme un par de minutos de ocio y así despejarme de una intensa tarde de trabajo, el juego, por curiosear, ver que tanto puede distar la ejecución de C (fuera de concurso, así que los pequeños CGI en C no resultan tan mala idea 😉 ), PHP, Perl y C# en una misma computadora, aunque los resultados son poco o nada pues se trata de un simple “Hola” nunca imaginé que PHP tardara tanto para ejecutar.
(Nota: son primera ejecución, sin preservación de cache o de cualquier tipo de objeto, una segunda ejecución como lo pueden suponer lleva los tiempos a menos de la mitad, excepto claro en el caso de C)

time php test.php # hola en PHP
hola
real 0m0.682s
user 0m0.046s
sys 0m0.066s


time ./test.pl # hola en Perl
hola
real 0m0.138s
user 0m0.005s
sys 0m0.024s


time mono test.exe # hola en C#
Hola
real 0m0.052s
user 0m0.041s
sys 0m0.007s


time ./test # hola en C
hola
real 0m0.005s
user 0m0.002s
sys 0m0.002s

SSH automatic Login

Logueo automático en Mac OS X.

En realidad es igual en Linux o Mac (L-Unix en general) el proceso consiste en que SSH puede comparar tu llave con las llaves autorizadas en el servidor.
En distribuciones Linux que incluyen seahorse por defecto nunca lo notas ya que no debes tomarte ninguna molstia más que marcar conectar automáticamente cuando el llavero te lo pregunte, en OS X no existe un método automático (al menos que yo conozca) para que esto se de sin que te enteres, así que tienes que hacerlo a mano. Continuar leyendo “SSH automatic Login”

Convertir masivamente wma a mp3 en MAC (y Linux)

Requieres tener instalado mplayer y lame (a través de port en mac o yum o apt en linux), luego correr el comando en la carpeta donde estén los archivos:
ls -1 | awk '//{system(" mv \"" $0"\"" " " "\""tolower($0)"\"" " ")}' && for f in *; do mv "$f" `echo $f | tr ' ' '-'`; done #esto elimina los espacios en los nombres de archivo

for i in *.wma ; do mplayer -vo null -vc dummy -af resample=44100 -ao pcm "$i" && lame -m j -h --vbr-new -b 160 audiodump.wav -o "`basename "$i" .wma`.mp3"; done; rm -f audiodump.wav #convierte uno a uno los archivos a mp3