simple wifi radar

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

Ho i seriali rotti

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

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

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)

The onion highway

Tutto questo bisogno di anonimato…
Il mondo è così bello e verde…

ilgrandepicco

Il syntax highlighter!

Usare il plugin wp-syntax per colorare in modo intelligente il nostro codice stupidino:

  1. chiederlo agli amministratori con simpatia
  2. attendere il tempo necessario
  3. entrare nel pannello di controllo di WP e cercare il plugin
  4. non trovarlo, da nussuna parte
  5. urlare forte “O PLUGIN, ABILITATI!!!” dentro un cavo di rete collegato al router
  6. testare l’effettiva nuova funzionalita’ ***
  7. amare tutte e tutti, soprattutto chi si sbatte per soddisfare pochi capricci

***: howto

truzzobash

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

Ok, grazie.

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.

ma fuori non c’e’ nessuno

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.

webcam come sensore di movimento

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

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

we’re in

#98729138

Anonym to www.youtube.com/watch?v=Z3W0Tg5dTLA