Para los indecisos
¿Aún no sabes por quién votar?
Recomiendo una leidita a esta nota de René Drucker:
http://www.jornada.unam.mx/2012/06/12/opinion/020a1pol
¿Quién diablos es René Drucker?
¿Aún no sabes por quién votar?
Recomiendo una leidita a esta nota de René Drucker:
http://www.jornada.unam.mx/2012/06/12/opinion/020a1pol
¿Quién diablos es René Drucker?
Cuando sea hora de votar, acuérdense de esto:
http://www.jornada.unam.mx/2012/02/28/politica/014n1pol?partner=rss
Josefina Vázquez Mota, afirmó que cuando ve a otro aspirante que nombra a su gabinete, pienso que suman como mil 500 años de edad
, y que al observar cómo en otro partido se integra a su consejo político a ex gobernadores, algunos con historias terribles, pienso que suman como mil 500 años de prisión
.
Acuérdense de estos comentarios a la hora de ir a votar, acuérdense de cómo desprecia a la gente simplemente por su edad, cómo para ella la experiencia no vale nada, y piensen si así descalifica y menosprecia a sus colegas políticos, ¿qué hará con los planes de apoyo a la tercera edad?.
¿Por quién prefieres votar? ¿Por Vázquez Mota y su equipo de “desconocidos” que van a seguir hundiendo al país tratándolo como si fuera una empresa?
¿O por este equipo de superestrellas de la ciencia, el arte, la política y la economía?
Y la neta, si no los conoces, ve investigando quienes son. La decisión es tuya.
( I’ve removed this post since the instructions are obsolete - visit https://juju.is to get more)
Ever wonder why this doesn’t work to rename all your isos to .nrg?
find ./ -iname *iso -exec rename {} `basename {} .iso`.nrg \;
The thing is, the backticks are a bash construct, and whatever you specify to -exec does *not* get shell-expanded. So it’s being passed verbatim, with the only substitution being the {} for the found filenames.
But this works! (though quoting may pose some challenges). This works because it *is* being processed through bash, so all the normal expansion and shell tricks will work.
find ./ -iname *iso -exec bash -c "rename {} `basename {} .iso`.nrg" \;
When I launch a long-running process I like to forget about it, but how do I know when it’s finished?
You can of course have it send an email after it finishes:
long_process; echo "finished" |mail -s "finished" you@somewhere.com
For this to work, it’s very useful to have ssmtp or msmtp configured, so you have a sane, working local SMTP agent.
You can also send the notification only if the command succeeds:
long_process && echo "finished" |mail -s "finished" you@somewhere.com
OK, so you forgot to add the notification to your initial command line. You can use a loop to monitor a particular process and notify you when it’s done.
In this case I’ll be monitoring an instance of netcat. Determining the process name is up to you 🙂 The delimiters $ and ^ look for the executable names only.
The while loop will run while the process exists; once the process disappears the loop continues with the next instruction in the line, which is popping up an alert on the desktop and then sending an email. So if I’m not glued to the desktop, I’ll still get an email when this is done.
while pgrep $nc^; do sleep 5; done; alert; (echo "finished" |mail -s "finished" you @somewhere.com)
If you use find, it outputs full paths, which may not always be desirable. Turns out find has a -printf action with which you can do niceties such as outputting plain filenames (as if you’d used basename on them, but this means one less command on your pipeline):
find data/{audio,documents,images,video,websites}/ -type f -printf "%f\n"
The -printf command has a lot of formatting variables and possibilites! give it a try, look at the man page for more information.
If you’re a CLI jockey you may enjoy looking at a nice ASCII rendering of your face via your webcam:
mplayer -vo caca tv:// -tv driver=v4l2:width=640:height=480:device=/dev/video0
Or to watch your favorite video in ASCII rendering:
vlc --vout caca some-file.avi
So the problem was to draw people at random from a list. The list is contained in a leads.txt text file, one per line.
This nifty one-liner will output a randomly-picked person from that file every time it’s invoked. it’ll then remove the name from the file so it doesn’t get repeated again.
export i=`sort leads.txt |shuf |head -1` ; echo $i; sed -i "s/^$i$//;/^$/d" leads.txt
It can be shortened by changing shuf |head 1
to shuf -h 1
.
If you’d rather avoid deleting already-chosen entries from the file, this version just comments the names it picks:
export i=`sort leads.txt |grep -v \# |shuf |head -1` ;echo $i; sed -i "s/^$i$/#$i/" leads.txt
Many of the on-line instructions and tutorials are quite complicated. Why? It was easy for me:
sudo apt-get install sbuild
To build a virtual machine:
mk-sbuild --distro=ubuntu --arch=i386 precise
this will create a schroot in /var/lib/schroots/precise-i386
. Note how it appends the architecture to the schroot name. Also note that the first time you run mk-sbuild, it’ll show you a configuration file and configure your environment. I didn’t change anything in the config file, I used it “as it was”. When it prompts you to log out, do it, otherwise things won’t work.
OK now you want to build a package using your chroot with sbuild:
sbuild -A -d precise package.dsc
This will build the package on precise for ALL available architectures. Note that -d is just “precise”; the -A flag will tell sbuild to build architecture: any
packages for all available architectures (so if you have amd64 and i386 chroots, it’ll do the right thing and build two packages).
If you want to build arch-specific packages:
sbuild -d precise-i386 package.dsc
This will magically build for the given architecture (i386). Note that arch: any
packages will also be built.
You can also specify the arch as a parameter (but then you have to leave it out of the -d name):
sbuild -d precise --arch=i386 package.dsc
This will not work:
sbuild -d precise-i386 --arch=i386 package.dsc