By cretox on 20/01/2011
Preso un pezzo qua un pezzo là, adattato un pochetto.
Testato con driver ath5k
e ipw2200
Notare che driver diversi danno output un po’ diversi di iwlist
, almeno questi due.
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
| #!/bin/bash
# Usage: /bin/bash this-script.sh <wireless-iface>
IFACE=$1
a=0
b=0
c=0
d=0
e=0
x=0
getWifi() {
while read line; do
case $line in
*ESSID*)
line=${line#*ESSID:}
essid[$a]=${line//\"/}
(( a++ ))
;;
*Address*)
line=${line#*Address:}
address[$b]=$line
(( b++ ))
;;
*Frequency*)
line=${line#*Channel }
channel[$c]=${line//\)/}
(( c++ ))
;;
*Quality*)
line=${line#*Quality=}
quality[$d]=${line// */}
(( d++ ))
;;
*Encryption*)
line=${line#*Encryption}
encryption[$e]=${line//key:/}
(( e++ ))
;;
esac
done < <(sudo iwlist $IFACE scan)
WIFI=( "MAC Quality Channel Encryption ESSID" "----------------- ------- ------- ---------- ------------" )
while [ $x -lt ${#essid[@]} ]; do
WIFI+=( "${address[$x]} ${quality[$x]} ${channel[$x]} ${encryption[$x]} ${essid[$x]}" )
(( x++ ))
done
}
sudo ifconfig $IFACE up
while true; do
getWifi
clear
echo
printf "%s\n" "${WIFI[@]}" | column -t
echo
unset WIFI
sleep 3
done |
#!/bin/bash
# Usage: /bin/bash this-script.sh <wireless-iface>
IFACE=$1
a=0
b=0
c=0
d=0
e=0
x=0
getWifi() {
while read line; do
case $line in
*ESSID*)
line=${line#*ESSID:}
essid[$a]=${line//\"/}
(( a++ ))
;;
*Address*)
line=${line#*Address:}
address[$b]=$line
(( b++ ))
;;
*Frequency*)
line=${line#*Channel }
channel[$c]=${line//\)/}
(( c++ ))
;;
*Quality*)
line=${line#*Quality=}
quality[$d]=${line// */}
(( d++ ))
;;
*Encryption*)
line=${line#*Encryption}
encryption[$e]=${line//key:/}
(( e++ ))
;;
esac
done < <(sudo iwlist $IFACE scan)
WIFI=( "MAC Quality Channel Encryption ESSID" "----------------- ------- ------- ---------- ------------" )
while [ $x -lt ${#essid[@]} ]; do
WIFI+=( "${address[$x]} ${quality[$x]} ${channel[$x]} ${encryption[$x]} ${essid[$x]}" )
(( x++ ))
done
}
sudo ifconfig $IFACE up
while true; do
getWifi
clear
echo
printf "%s\n" "${WIFI[@]}" | column -t
echo
unset WIFI
sleep 3
done
Posted in Debian e GNU/Linux, scriptz
By cretox on 01/12/2010
Ehi, c’è ffmpeg
!
Sì ma è rotto!
1
2
3
4
5
6
7
8
9
10
| $ for i in `ls` ; do ffmpeg -i $i -ab 256 `basename $i .mp3`.ogg ; done
$ for i in `ls |grep .ogg` ; do ogginfo $i |grep serial ; done
New logical stream (#1, serial: 00000000): type vorbis
New logical stream (#1, serial: 00000000): type vorbis
New logical stream (#1, serial: 00000000): type vorbis
New logical stream (#1, serial: 00000000): type vorbis
New logical stream (#1, serial: 00000000): type vorbis
New logical stream (#1, serial: 00000000): type vorbis
New logical stream (#1, serial: 00000000): type vorbis |
$ for i in `ls` ; do ffmpeg -i $i -ab 256 `basename $i .mp3`.ogg ; done
$ for i in `ls |grep .ogg` ; do ogginfo $i |grep serial ; done
New logical stream (#1, serial: 00000000): type vorbis
New logical stream (#1, serial: 00000000): type vorbis
New logical stream (#1, serial: 00000000): type vorbis
New logical stream (#1, serial: 00000000): type vorbis
New logical stream (#1, serial: 00000000): type vorbis
New logical stream (#1, serial: 00000000): type vorbis
New logical stream (#1, serial: 00000000): type vorbis
Se invece:
1
2
3
4
5
6
7
8
9
10
11
| $ for i in `ls` ; do ffmpeg -i $i `basename $i .mp3`.wav ; done
$ for i in `ls |grep .wav` ; do oggenc -b 256 $i ; done
$ for i in `ls |grep .ogg` ; do ogginfo $i |grep serial ; done
New logical stream (#1, serial: 1f4c494c): type vorbis
New logical stream (#1, serial: 27c057ec): type vorbis
New logical stream (#1, serial: 11e8cf7d): type vorbis
New logical stream (#1, serial: 2e973140): type vorbis
New logical stream (#1, serial: 5e4c9a01): type vorbis
New logical stream (#1, serial: 1faf7d82): type vorbis
New logical stream (#1, serial: 22545e73): type vorbis |
$ for i in `ls` ; do ffmpeg -i $i `basename $i .mp3`.wav ; done
$ for i in `ls |grep .wav` ; do oggenc -b 256 $i ; done
$ for i in `ls |grep .ogg` ; do ogginfo $i |grep serial ; done
New logical stream (#1, serial: 1f4c494c): type vorbis
New logical stream (#1, serial: 27c057ec): type vorbis
New logical stream (#1, serial: 11e8cf7d): type vorbis
New logical stream (#1, serial: 2e973140): type vorbis
New logical stream (#1, serial: 5e4c9a01): type vorbis
New logical stream (#1, serial: 1faf7d82): type vorbis
New logical stream (#1, serial: 22545e73): type vorbis
Così Ices2 gioisce.
Volevo solo comunicare questo mio successo stratosferico. Devo dire che al secondo ogginfo
ho goduto molto.
(sì, i miei mp3 sono senza spazi nel nome)
Posted in Debian e GNU/Linux, scriptz
By cretox on 26/11/2010
Tutto questo bisogno di anonimato…
Il mondo è così bello e verde…
Posted in anvedi, be happy, FLOSS
By cretox on 14/11/2010
Usare il plugin wp-syntax per colorare in modo intelligente il nostro codice stupidino:
- chiederlo agli amministratori con simpatia
- attendere il tempo necessario
- entrare nel pannello di controllo di WP e cercare il plugin
- non trovarlo, da nussuna parte
- urlare forte “O PLUGIN, ABILITATI!!!” dentro un cavo di rete collegato al router
- testare l’effettiva nuova funzionalita’ ***
- amare tutte e tutti, soprattutto chi si sbatte per soddisfare pochi capricci
***: howto
Posted in anvedi, be happy, FLOSS |
By cretox on 14/11/2010
Versione 3 , tutta colorata. Sfogo del piccolo tamarro che e’ in me.
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
| #!/bin/bash
trap "echo 'eh?'" SIGINT SIGTERM
echo -e "\nBigBrother's eye v0.3\n"
echo -n -e "\E[32mstarting \E[37m... "
sleep 1
echo -e "(pid is $$)\n"
cd $HOME/immagini/bigbrother/
img=frame.jpg
list=frames.list
if [ -f $list ]
then
n=`tail -n 1 $list`
else
touch $list
n=0
fi
sleep 1
webcam /etc/webcam/bigbrother.conf &> cam.log &
echo -n "grabbing frames ... (press x to stop) ... "
until [ "$input" = "x" ]
do
read -t1 -s -n1 input
if [ -f $img ]
then
n=$((10#$n))
n=$[n+1]
n=`printf %05d $n`
mv $img $n.jpg
echo $n >> $list
fi
done
pkill webcam
echo -e " \E[31mstopped\n"
echo -n -e "\E[37mstarting avi creation ... "
mencoder mf://*.jpg -mf w=640:h=480:fps=1:type=jpg -ovc copy -o btemp.avi &> menc.log &&
printf "\n===============================\n\n" >> menc.log &&
mencoder btemp.avi -forceidx -ovc copy -o bigB.avi >> menc.log 2>&1 &&
rm btemp.avi
sleep 1
echo -e "\E[32mdone\n"
tput sgr0 |
#!/bin/bash
trap "echo 'eh?'" SIGINT SIGTERM
echo -e "\nBigBrother's eye v0.3\n"
echo -n -e "\E[32mstarting \E[37m... "
sleep 1
echo -e "(pid is $$)\n"
cd $HOME/immagini/bigbrother/
img=frame.jpg
list=frames.list
if [ -f $list ]
then
n=`tail -n 1 $list`
else
touch $list
n=0
fi
sleep 1
webcam /etc/webcam/bigbrother.conf &> cam.log &
echo -n "grabbing frames ... (press x to stop) ... "
until [ "$input" = "x" ]
do
read -t1 -s -n1 input
if [ -f $img ]
then
n=$((10#$n))
n=$[n+1]
n=`printf %05d $n`
mv $img $n.jpg
echo $n >> $list
fi
done
pkill webcam
echo -e " \E[31mstopped\n"
echo -n -e "\E[37mstarting avi creation ... "
mencoder mf://*.jpg -mf w=640:h=480:fps=1:type=jpg -ovc copy -o btemp.avi &> menc.log &&
printf "\n===============================\n\n" >> menc.log &&
mencoder btemp.avi -forceidx -ovc copy -o bigB.avi >> menc.log 2>&1 &&
rm btemp.avi
sleep 1
echo -e "\E[32mdone\n"
tput sgr0
Posted in anvedi, Debian e GNU/Linux
By cretox on 05/10/2010
Cammino pian piano verso l’ufficio dell’amministrazione. Lei è dentro, lo so. E’ sempre lì a quest’ora. Ecco, son quasi arrivato. Cerco di metterci più tempo possibile, saranno più o meno cinquanta passi dalla mia postazione, cerco di farne cento. Non ci riesco mai.
Odio dover fare questa cosa, vorrei che qualcuno mi portasse via: sto andando a chiedere la busta paga. M perché devo chiederla io? Lavoro, portami la busta. Tu non devi chiamarmi affinché io venga al lavoro, perchè io devo per chiedere la tua parte?
Sento la sua voce. E’ al telefono, dovrò anche aspettare mentre finisce.
Come entro comincia a fissarmi, appena apro bocca smette di colpo e non mi rivolge più lo sguardo. Probabilmente io faccio la sessa cosa.
– Ciao, son venuto per la busta paga, me ne sono dimenticato, di solito me la portate voi…
Non dice niente e comincia a cercare nei cassetti, poi nelle cartelline. La trova.
– Ecco. Ah, se guardi la busta non troverai il riborso per le uscite. Il tuo contratto non prevede dei rimborsi così alti. Comunque li avrai il mese prossimo.
– Ok.
Le dico solo questo “ok” ed esco. Anzi le dico pure grazie. Sono un imbecille.
Il fatto è che i discorsi con persone che hanno del potere sulla mia vita mi imbambolano. Dopo qualche ora mi sveglio e ci ripenso su per un po’. Scorro il breve dialogo come fosse una vecchia VHS. In ginocchio davanti al videoregistratore mi riascolto menre dico “Ok, grazie.” “Ok, grazie.” “Ok, grazie.”…
Sono un imbecille.
Possibile che le uniche due parole che avevo in testa siano state “ok” e “grazie”? Perché non “vaffanculo” e “stronza”?
Va a finire sempre così.
– Scusa, so che sei in pausa, potresti fare un salto… – Ok.
– L’installazione di domani è un po’ impegnativa, ci sarà da far un po’ tardi la sera… – Ok, grazie.
– Puoi venire un’ora prima domattina? – Ok, grazie.
– Scusa, ti tevo sfruttare un po’. – Ok, grazie!
Vinceranno loro, hanno già vinto. Perché ormai abbiamo paura, un mix di paure. Di parlare e di dire ciò che pensiamo. Abbiamo paura di quello che rappresentano, di quello che noi non vogliamo diventare. Paura di restare senza occupazione, che alla fine un poco ci piace, anche se il tempo libero è poco e la paga anche meno. Un lavoro trovato dopo tanta fatica e attese e colloqui e delusioni e mattine a guardare il vuoto del soffitto.
Mi dico sempre che alla prossima non me ne starò zitto.
Spero di farlo senza violenza.
Posted in arghh!, dialoghi, dubbi
By cretox on 15/09/2010
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
28
29
30
31
32
33
34
35
36
37
38
| #!/bin/bash
echo starting ...
cd $HOME/immagini/bigbrother/
img=frame.jpg
list=frames.list
if [ -f $list ]
then
n=`tail -n 1 $list`
else
touch $list
n=0
fi
sleep 1
webcam /etc/webcam/bigbrother.conf &> cam.log &
echo grabbing frames \(x-key to stop\) ...
until [ "$input" = "x" ]
do
read -t1 -s -n1 input
if [ -f $img ]
then
n=$((10#$n))
n=$[n+1]
n=`printf %05d $n`
mv $img $n.jpg
echo $n >> $list
fi
done
pkill webcam # :(
echo webcam stopped.
echo starting avi creation ...
mencoder mf://*.jpg -mf w=640:h=480:fps=1:type=jpg -ovc copy -o btemp.avi &> menc.log &&
printf "\n=========================\n\n" >> menc.log &&
mencoder btemp.avi -forceidx -ovc copy -o bigB.avi >> menc.log 2>&1 &&
rm btemp.avi
echo done. |
#!/bin/bash
echo starting ...
cd $HOME/immagini/bigbrother/
img=frame.jpg
list=frames.list
if [ -f $list ]
then
n=`tail -n 1 $list`
else
touch $list
n=0
fi
sleep 1
webcam /etc/webcam/bigbrother.conf &> cam.log &
echo grabbing frames \(x-key to stop\) ...
until [ "$input" = "x" ]
do
read -t1 -s -n1 input
if [ -f $img ]
then
n=$((10#$n))
n=$[n+1]
n=`printf %05d $n`
mv $img $n.jpg
echo $n >> $list
fi
done
pkill webcam # :(
echo webcam stopped.
echo starting avi creation ...
mencoder mf://*.jpg -mf w=640:h=480:fps=1:type=jpg -ovc copy -o btemp.avi &> menc.log &&
printf "\n=========================\n\n" >> menc.log &&
mencoder btemp.avi -forceidx -ovc copy -o bigB.avi >> menc.log 2>&1 &&
rm btemp.avi
echo done.
Posted in Debian e GNU/Linux
By cretox on 05/09/2010
Ebbene ho una webcam.
Oggi ho provato ad usarla con il programma “webcam” (che fantasia).
Il programmino richiede una webcam compatibile con v4l2, poi, dice che funziona.
Sì funziona ma io mi stufo subito.
Poi scopro l’opzione ‘trigger’:
With ‘trigger’ set to a non-zero value webcam will upload the image only if the content of the image has changed. It just looks for the maximum difference between the last uploaded and current image and if it is greater than the specified value the image will be uploaded.
\o/
Ma tutto ciò apre infinite possibilità!
Metto ‘trigger’ a 100 e mi infilo nei meandri del bash scrpting.
Infatti ‘webcam’ registra una jpeg, sovrascivendola tutte le volte che cattura.
Quindi ho scritto uno script che avvia ‘webcam’, rinomina ogni nuova cattura e tiene il conto delle immagine salvate:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| #!/bin/bash
cd $HOME/immagini/bigbrother/
i=frame.jpg
touch frames.list
n=`tail -n 1 frames.list`
sleep 5
webcam /etc/webcam/bigbrother.conf &> bb.log &
echo x-key to stop
until [ "$input" = "x" ]
do
read -t1 -s -n1 input
if [ -f $i ]
then
n=$[n+1]
mv $i $n.jpg
echo $n >> frames.list
fi
done
killall webcam |
#!/bin/bash
cd $HOME/immagini/bigbrother/
i=frame.jpg
touch frames.list
n=`tail -n 1 frames.list`
sleep 5
webcam /etc/webcam/bigbrother.conf &> bb.log &
echo x-key to stop
until [ "$input" = "x" ]
do
read -t1 -s -n1 input
if [ -f $i ]
then
n=$[n+1]
mv $i $n.jpg
echo $n >> frames.list
fi
done
killall webcam
Adesso non mi basta fare altro che trovare il modo di creare un video con ffmpeg ed metterlo nello script.
Risorse:
– bash @ tldp.org
– webcam @ aboutdebian.com
Posted in anvedi, Debian e GNU/Linux, FLOSS
By cretox on 29/08/2010
Posted in arghh!, blender, dubbi, gimp
By cretox on 26/08/2010
Posted in be happy, dialoghi, London