Proceso secuencial

Me tope con un problema en el cual debía ejecutar un proceso en varias partes y ejecutarlo nuevamente si es que había finalizado antes de terminar la tarea que necesitaba terminar, por suerte con un poco de ayuda de germán armé este pequeño script salvaje que resuelve el problema:

#!/usr/bin/bash
COMMAND="process name";
    
$COMMAND &
PID=$!
FINISH=0

echo 0 > process_finished
while true
do
    if ! ps -p $PID >/dev/null;
    then
    FINISH=`cat process_finished`;
    if [ $FINISH -eq 1 ]
    then
        echo "batch finished running";
        break;
    else
        echo "running again";       
        $COMMAND &
        PID=$!
    fi
    fi
    sleep 1;
done

Básicamente el comando se ejecuta nuevamente si no esta siendo ejecutado a menos que se encuentre 1 en el archivo process_finished .

Quizás no es una solución elegante pero muy util y eficaz para resolver un problema puntual.


Instalando Octave 4.0 en Fedora 22

Algo con lo que me topé usando Octave es que la mayoría de los entornos de desarrollo (incluso el plugin de Emacs) no funcionaban muy bien con la versión actual en los repos de mi distro. Entonces vi que la versión 4.0 trae GUI por defecto, pero no esta en los repos de Fedora. Por lo tanto lo mejor es instalarlo desde un repo Copr, para esto hacemos:

sudo dnf copr enable orion/octave
sudo dnf update octave 
#o dnf install octave

y tenemos Octave 4.0 con un GUI muy bonito: fit-width


Mi escritorio de trabajo

Como para volver a escribir en el blog ( aunque sea un par de veces por semana) quería contar un poco sobre mi entorno de trabajo, aplicaciones y demás que utilizo a diario.

Window Manager

Estoy utilizando i3 que es un tiling window manager que me pareció genial, ya en su momento había utilizado ion3 que era un poco similar y Ratpoison pero nunca me convencieron. Una gran contra para mi de los tiling window manager es que algunas aplicaciones más orientadas al uso del mouse no funcionaban tan bien, y no es que tenga nada en contra de utilizar el mouse. Algo que me encanta de i3 es que podés ir organizando los escritorios al vuelo y no requiere un layout predefinido, separando en diversos contenedores horizontal/vertical, también poder cambiar los modos a pestañas o pila son geniales.

por ejemplo:

fit-width

Mi archivo de configuración esta un poco tuneado, pueden acceder aquí.

Ruby

Utilizo rbenv para manejar las versiones, luego de mucho pelear con RVM me pareció más entendible y un poco menos invasivo, hasta ahora funciona genial.

Editor de texto

Utilizo Emacs, sinceramente no he podido adaptarme nunca al uso de Vim (más allá de lo básico) los comandos me parecen más intuitivos y “recordables” (tengo pésima memoria). Ultimamente le he dedicado mucho a adaptarlo acorde a mis necesidades y las de mi trabajo ( estilo de código, lenguajes de programación utilizados, etc).

fit-width

Comparto mi .emacs

File Manager

A veces Caja (ex Nautilus), a veces Thuanr. Caja tiene más funcionalidades, Thunar es más ligero aunque esto no importa mucho en mi escritorio pero en mi laptop se nota más la diferencia

Algunos scripts

setwallpaper.sh es un script que te permite cambiar el wallpaper que estas utilizando, hace uso de fsetbg y zenity (para ser más amigable) , así que podes recuperarlo luego en el inicio de sesión con fbsetbg -l

mp4subtitles.sh esto es por una necesidad muy particular, a veces quiero ver videos con subtitulos en mi tele ( un Panasonic Viera) y por una de esas particularidades arbitrarias, solo se ven los subtitulos grandes si el formato es mkv con subtitulos embebidos ( en mp4 no se ven directamente y en divx + srt se ven chiquititos)

Curiosidad

Haciendo este post descubri que hay un paquete para emacs de gist, básicamente hay que hacer M-x package-install y luego gist, despues cada vez que querés subir el buffer actual a gist hacés gist-buffer y listo! Escribir ayuda a aprender :) .


Jugando con Fluxbox nuevamente

No he usado Fluxbox desde el 2007, la verdad lo utilizaba mucho en mis PCs (Pentium 3 o similar), y lo abandoné al comprar mi primera PC que ya podía ejecutar decentemente entornos más pesados.

Como mi hermano comenzó a utilizarlo de nuevo decidí darle otra oportunidad, y en poco tiempo ya lo tengo configurado para mi gusto:

No recordaba lo sencillo que es de configurar, a pesar de utilizar archivos de texto es algo muy intuitivo y simple y ya he subido a mi repo mi configuración para sincronizarla con la de mi laptop o cualquier otra máquina que utilice. Extraño el efecto tipo exposé de Gnome, y las sombras eran algo lindo, pero la verdad es que la velocidad que se gana utilizando este WM es impresionante.

 

Comparto un truquito para convertir fluxbox en un tiling WM básico (sacado del blog de Dale Swanson) , en su archivo keys agreguen:

Control KP_0 :Minimize
Control KP_1 :MacroCmd {ResizeTo 958  540} {MoveTo 00 00 LowerLeft}  
Control KP_2 :MacroCmd {ResizeTo 1920 540} {MoveTo 00 00 LowerLeft}  
Control KP_3 :MacroCmd {ResizeTo 958  540} {MoveTo 00 00 LowerRight}  
Control KP_4 :MacroCmd {ResizeTo 958 1060} {MoveTo 00 00 UpperLeft}  
Control KP_5 :Maximize
Control KP_6 :MacroCmd {ResizeTo 958 1060} {MoveTo 00 00 UpperRight}  
Control KP_7 :MacroCmd {ResizeTo 958  540} {MoveTo 00 00 UpperLeft}  
Control KP_8 :MacroCmd {ResizeTo 1920 540} {MoveTo 00 00 UpperLeft}  
Control KP_9 :MacroCmd {ResizeTo 958  540} {MoveTo 00 00 UpperRight} 

 


Beware of luddites

This is a nice tip for newcomers to the Linux world, beware of luddites and excessive passionate fanboys. Sadly the Linux community is the only one that offers it's users enough niche markets to build different identities, and when somebody feels like this niche might no longer exist to accomodate their self perceived personality he starts getting angry.

Latest years have been a very bumpy road for Linux, with new technologies emerging and people feeling attacked by these technologies. I'm talking about KDE4, Gnome 3 and now SystemD, what experience has taught me is that whenever this pointless wars emerge we better keep off of it. Also it's important to keep our egos uninvolved, since most of the time We Do Things The Right Way ™ and everyone else is wrong as usual.

But in all seriousness, we should have a realistic vision of our capabilities and those of others, I'm not talking about just nodding in approval, but being honest with ourselves. I'm a simple web developer, which excludes me from many many of these grounds, I still can make suggestions, but I really should question myself if I'm debating someone that has years of experience working in OS Design.

Another thing learned, is that experience is valuable, it's really valuable. It gives you the perspective of being really involved with the progress of a development project and involvement with the state-of-the-art methods and techniques; and that's something to respect in fellow developers.

In the end progress will inevitably come, and we better get used to it or get knocked off the road.

 

picture by Martha Soukup CC-Attribution License


On pomodoro, SSD and something something gnome

I'm starting to apply the Pomodoro Technique , thanks to this handy Gnome extension at least until I get one of those fancy real pomodoros (which I find really cool). Note that the author no longer support the extension at gnome.org, but you have to download it from github neverteless the extension still works and it's what I'm using until I can actually spend some time getting the extension from github.

 

I also got a SSD and installed my fedora desktop ( can't wait for Workstation 21, looks really promising) and boy, everything is so fast.

 

I've been switching back and forth from Gnome, cinnamon and Mate, and I ended up with a combo I really like. I can't now live without the exposé-like effect and edge snapping ( latest currently offered by all of these desktops). But I still don't really like the new nautilus, I mean, the headerbar thing is good looking but not being able to see the free space on my disks in the statusbar annoys the hell out of me. So in the meantime I've replaced it with Nemo, the Cinnamon file manager which looks a little uglier, but it gets the work done and has a TON of additional features.

I was wondering if it wouldn't be cool to offer Nemo as a replacement for Nautilus, like an "advanced" alternative for power users, I'm sure that it will never happen given the current direction and interest of the Gnome project but one can always dream.