Skip to content

C o s e

cretox

  • Info

Category: anvedi

Anvedi ao’

Fedintegrazie

Posted on 12/12/2022 by cretox

Ho appicciato il coso per seguire il blog da cose che usano activitypub (vedi mastodon &Co).

Link a lato.

Posted in anvedi

Best feature ever

Posted on 17/12/2014 by cretox

dict_bestfeature

Best feature ever? Double dictionary check!
Now guess the program.

Posted in anvedi, FLOSS

La vignetta senza confini

Posted on 22/09/2012 - 05/11/2014 by cretox

La vignetta[1] è assurda e troooppo grande per girarla tutta…
Forse l’artista pensava fosse cosa divertente!
A me non piace quando mi nascondono le cose. Così mi son messo e ho cercato di capire come funzionava il tutto.
Possibile ci sia un’immagine di fantastilioni di px tutta intera?
Come funziona il motorino per farmene vedere solo un pezzo? (bastardo)
Ma soprattutto, come faccio ad avere Il Tutto™ ?

La cosa è gestita in JavaScript + altro, credo, non ho studiato quindi non ci capisco quasi nulla: ci son due scriptini, ma io voglio la vignettona!

Entrando in dev-mode di Firefox o anche da page-info noto che tutta la vignetta è spezzata in tante sub-vignette (da 2048x2048px !!).
La cosa fantastica è che hanno nome-file con un senso, cioè il nome di ogni sub-vignetta è effettivamente una coordinata NSWE.
Urge disegnino.

Quindi conoscendo il valore degli estremi posso… *_*
Bash è mia amica:

#!/bin/bash

for ns in n s ; do
    for ew in e w ; do
        for ver in {1..20} ; do
            for hor in {1..50} ; do
                image="${ver}${ns}${hor}${ew}.png"
                if [[ ! -e "$image" ]] ; then 
                    #ranz=$[RANDOM/1000]
                    ranz=$(shuf -i 1-12 -n 1)
                    wget -q --user-agent="Mozilla/5.0 Firefox/10.0.1" http://imgs.xkcd.com/clickdrag/${image}
                    if [[ "$?" -eq "0" ]] ; then
                        echo -ne "${image}\tDONE!\t"
                    else
                        if [[ "$image" == *n*.png ]] ; then
                            cp white.png ${image}
                        else
                            cp black.png ${image}
                        fi
                        echo -ne "${image}\tCreated..."
                    fi
                    echo -e "\t(wait ${ranz}s)"
                    sleep ${ranz}
                else
                    echo -e "${image}\tAlready here..."
                fi
            done
        done
    done
done

  1. Sì, è brutto.
  2. Ho usato come limiti ’50’ in orizzonatale e ’20’ in verticale tanto per essere sicuro di prendere la grande fetta, i valori massimi che ho trovato sono ’48’ e ’18’, non so come fare per sapere i reali confini.
  3. $[RANDOM/1000] mi dava valori per la pausa tra una presa e l’altra troppo alti (fino a 32 sec). Recentemente ho trovato un Coreutils Cheat Sheet (catonmat.net), quindi scopro ‘shuf’.
  4. L’user agent è solo per bellezza, xkcd.com non fa controlli del genere a quanto pare (non nell’immediato).
  5. La condizionale per il ‘già qui’ è lì solo perché ho fatto molte prove.
  6. Il furbacchione non ha effettivamente messo quei tasselli tutti bianchi o tutti neri (qualcuno anzi sì). Quindi li creo io! (in base alla posizione N/S)
  7. Non si usa `ls’ a questo modo!

Adesso che ho tutti i tasselli della vignetta, devo semplicemente unirli per… erh… Uso ‘convert’ con spezie.
Creo tutte le strisce orizzontali:

for i in {1..20} ; do
  convert $( ls ${i}n*e.png | sort -V ) +append ${i}n_eF.png
  convert $( ls ${i}n*w.png | sort -Vr ) +append ${i}n_wF.png
  convert $( ls ${i}s*e.png | sort -V ) +append ${i}s_eF.png
  convert $( ls ${i}s*w.png | sort -Vr ) +append ${i}s_wF.png
done

Quindi le unisco in verticale e creo i quattro riquadri:

convert $( ls *n_eF.png | sort -Vr ) -append NE.png
convert $( ls *n_wF.png | sort -Vr ) -append NW.png
convert $( ls *s_eF.png | sort -V ) -append SE.png
convert $( ls *s_wF.png | sort -V ) -append SW.png

Unisco il tutto:

convert NW.png NE.png +append N.png
convert SW.png SE.png +append S.png
convert N.png S.png -append xkcd_1110.png

Mamma guarda ho fulminato il computer!

[1]XKCD #1110

Posted in anvedi, scriptz

\é/

Posted on 07/06/2012 by cretox

È arrivato il libro.
È arrivato il libro.
È arrivato il libro.
È arrivato il libro.
È arrivato il libro.
È arrivato il libro.
È arrivato il libro.
È arrivato il libro.
È arrivato il libro.
È arrivato il libro.
È arrivato il libro.

Posted in anvedi, be happy

Debian installer, encrypted RAID5, usb boot

Posted on 15/08/2011 - 16/08/2011 by cretox

Installazione via Debian Testing (iso del 2/6/11)

Ho avuto la fortuna di avere a disposizione qualche harddisk: 6 da 80GB, PATA (identici)
Per farla breve, ho assemblato questa macchina (tutta roba recuperata):

DualCore (2.6GHz) + 1GB RAM
6x 80GB HDD
Pendrive 4GB
Alim. 350W
Legno per supporti (ma questa è un’altra storia)

I dischi sono abbastanza vecchi (dalle 5k alle 25k ore di vita) e un po’ scassati (errori di ogni sorta registrati nei log SMART).
Siccome la scheda madre ha un solo canale IDE ho dovuto comprare una scheda PCI per aggiungere 2 canali IDE in più.
È l’unica cosa che ho comprato, ah sì, e gli sdoppini molex per l’alimentazione dei dischi.
La penna USB è anche troppo grande, ne basterebbe una da 500MB

Salto tutta la parte di assemblaggio e di post-installazione.

Quindi, una volta assemblata con tutto il necessario, fatta partire dalla iso Debian (tramite lettore cd/dvd esterno). Ho scoperto che l’installer vede perfettamente la pendrive, a patto che sia già inserita al boot (forse ho avuto fortuna nella combinazione scheda madre – bios – versione installer – altro )

– Partizionamento –

Volevo arrivare ad una cosa del genere:


/boot  : pendrive : non cifrato
/ : raid5 : cifrato
/home : raid5 : cifrato
swap : raid5 : cifrato

così che TUTTI i dati (anche quelli temporanei) siano cifrati, tranne la partizione di boot che serve per avviare il sistema (grub non riesce a leggere una partizione cifrata, non ancora).

Ho deciso di metter /boot su una pendrive per poter sfruttare al meglio i dischi fissi (i canali SATA della mobo sono difettosi e non avevo comunque dischi SATA da usare). Inoltre, fatto in più di sicurezza, senza la penna usb Debian manco boota :)

Arrivato al partitionateur ho agito come segue:

1. creato su ognuno dei 6 hdd 3 partizioni: 500MB, 3GB, il resto
2. creato 3 device md in raid5 (5 partizioni attive + 1 spare per ognuno)
3. cifrati i 3 device con le impostazioni standard (aes256, passphrase, erase data)
4. risultati quindi 3 device cifrati: 2GB (swap), 12GB (root), 290GB (home)
5. posizionato /boot sulla pendrive (scelto ext2 per preservare la vita della memoria)

Una volta che l’installer ha sbiancato (dopo tot giorni), formattato e installato, mi ha chiesto dove volevo Grub… e mi sono un po’ perso.
Perché rileggendo bene lo spinoso quesito, in realtà mi stava chiedendo SE volevo installare Grub.
Sicuramente me lo avrebbe installato su sda ma io lo volevo sulla penna usb (in modo che il tutto fosse proprio unbootable senza la penna inserita).
Poi, un po’ per svogliatezza un po’ per depistare i malintenzionati (che sicuramente non leggeranno questo blog…) l’ho installato su sda come da richiesta dell’installer Debian.

A penna disinserita, mi viene presentato un bel Grub error, non riesce a trovare la partizione di boot e ne indica l’UUID.
A penna inserita, il tutto parte perfettamente, mi vengono richieste le tre password (un po’ una menata inserirne tre), un po’ di scrollate di ATA error (ma è colpa dei dischi vecchi), e dopo il login appare un sistema standard debian.

Ho provato a fare un test con hdparm e sia la partizione radice sia quella di /home si attestano sui 100MB/s

L’unica cosa pallosa è dover inserire tre password (swap,root,home), forse per la swap è utile utilizzare una chiave automatica casuale? Ma dove viene memorizzata / come funziona?

Update-1: Installato Grub su tutti e 6 i dischi.

Update-2: Se simulo la rottura di un disco? LOL, funzia’n’cazzo! Indagine necessaria.

Update-2a: Tutto sembra a posto se simulo rottura via software (tlpd). Se stacco uno dei dischi, tutto muore (forse dovuto a conf hw, master-slave, scheda pci, boh).

Posted in anvedi, be happy, Debian e GNU/Linux, gimp

Scroogle in Konqueror

Posted on 09/07/2011 - 09/07/2011 by cretox

Da magic URI:

https://ssl.scroogle.org/cgi-bin/nbbwssl.cgi?Gw=\{@}

Posted in anvedi, Debian e GNU/Linux, KDE

Old style docking station

Posted on 04/06/2011 by cretox

combodock

Posted in anvedi, tech

The onion highway

Posted on 26/11/2010 - 26/11/2010 by cretox

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

ilgrandepicco

Posted in anvedi, be happy, FLOSS

Il syntax highlighter!

Posted on 14/11/2010 by cretox

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

Posted in anvedi, be happy, FLOSS1 Comment

truzzobash

Posted on 14/11/2010 by cretox

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

Posts navigation

Older posts


Supporta:

Questo weblog esiste ed è visibile sulla rete grazie al Collettivo Autistici/Inventati che offre il servizio e mette a disposizione i mezzi (banda e macchine). Il progetto ha costi notevoli ma vive solo delle donazioni: nessun amministratorə verrà mai a casa tua a chiederti il canone.
Se vuoi che questo blog e la miriade di altri servizi offerti da A/I continuino ad esistere, sarebbe molto carino se impegnassi qualche euro in questo senso. Per fare una donazione, visita questa pagina.


Follow this blog on:

Follow this blog
Proudly powered by WordPress | Theme: micro, developed by DevriX.