OTTOBRE 10TH, 2009
By QUALSIASI
Non è una cosa difficile, si usa il gesto “twirl” ovvero la rotazione, per passare da una tab a quella precedente o successiva. Aprite firefox (3.5) e digitate nella barra degli indirizzi “about:config”. Seguite la trafila di rito dove Mozilla vi dice di stare attenti, bla bla, e scrivete “gesture” nel filtro.
Ora impostate così queste voci:
browser.gesture.twist.left = Browser:PrevTab
browser.gesture.twist.right = Browser:NextTab
Godetevi la nuova funzione.
GIUGNO 4TH, 2009
By QUALSIASI
Ho appena lanciato il mio periodico (mensile?) aggiornamento del tree di slackware-current, che tengo sul desktop in caso abbia bisogno di installazioni d’emergenza (creo la iso con l’ultima -current e sono pronto a dar battaglia a qualsiasi hard disk). Ecco dicevo, lanciato rsync mi sono accorto che dentro la Slack finalmente c’è MPlayer, che io fino ad ora ho pazientemente ricompilato ogni volta che installavo.
Sono curioso di vedere se e qualche codecpack viene distribuito.
GIUGNO 1ST, 2009
By QUALSIASI
Non si sa. Anzi, direi di no. Però nell’ultimo mese nei trackback e nei commenti, trovo molto spam da moderare, ovviamente sul sito non ne viene pubblicato perchè sono liberticida e modero tutti i commenti e i trackback (cosa che non ho deciso io, mi sa che è un’impostazione di default, ma siccome non ho commenti ma solo spam, ben venga), compresi quelli con link sospetti.
No, non sono siti “malicious” però vorrei sapere se stanno testando qualche nuovo spider per lo spamming visto che tutti i trackback e commenti di spam che ricevo contengono un identificativo numerico univoco, e mi azzarderei a dire pure incrementale. E’ quindi possibile che un beta tester stia provando a spammare su tutti i siti e poco dopo li “crawli” per vedere se l’id univoco viene pubblicato? Nel tal caso saprebbe quali siti hanno un’antispam inefficiente e potrebbero concentarsi su questi siti per quando verrà assoldato da spammers. Mah, sarò complottista, ma per me è una cosa più che plausibile.
Comunque non sono l’unico ad avere di questi problemi, anzi, “googlando” l’indirizzo IP da cui mi arriva lo spam, ho trovato molti altri nella medesima situazione, almeno sono in buona compagnia.
Per ulteriori informazioni, io partirei da questa pagina del Project Honeypot.
MAGGIO 23RD, 2009
By QUALSIASI
Questo è uno script non mio, ma siccome non mi ricordo la fonte, lo copio-incollo senza pudore tanto non è un segreto industriale. Salvate in pi.sh (o col nome che volete) questo scriptino.
#!/bin/bash
time bc -q -l << EOF
scale=$1
4*a(1)
quit
EOF
Rendetelo eseguibile (chmod a+x ./pi.sh) e ora lanciatelo seguito dal numero di cifre dopo la virgola che volete calcolare.
$ pi.sh 10
3.1415926532
real 0m0.009s
user 0m0.000s
sys 0m0.004s
Tenete conto che è un’approssimazione quindi l’ultima o le ultime due cifre non sono molto affidabili. E’ comunque un test carino (visto il “time”) per fare dei piccoli benchmark. Ma soprattutto la vostra curiosità dovrebbe spingeri fino a questa manpage:
NAME
bc – An arbitrary precision calculator language
Contenti?
MAGGIO 14TH, 2009
By QUALSIASI
Cavolo, la passione per la programmazione e lo scripting risale praticamente alla prima superiore, quando si usava il pascal a scuola. Turbo Pascal per la precisione. Un linguaggio da matematici. Adesso per lo più uso PHP e Bash, ma ovviamente sono passato per il periodo C, anzi, tutt’ora reputo il C potentissimo, ma lo uso solo quando ne ho strettamente bisogno.
Oggi, anzi, poco fa, ho riscoperto la mia cartella “projects” che ha sempre contenuto esperimenti vari più che veri progetti, e ho trovato il cuore pulsante di un MUD (si, ci giocavo. si, ho smesso). Riguardando il codice, che alla fine non fa altro che aprire una porta in ascolto, scrivere “Ciao” e stare in ascolto da tutti i client facendo un echo di quello che riceve, mi sono accorto che… tutto sommato non ero proprio un pischello, ma c’era molto copia-incolla nei miei programmi.
Ecco cosa mi ha colpito:
tmp_size = sizeof tmp_sockaddr;
if (getpeername(tmp_socket, (struct sockaddr *) &tmp_sockaddr, &tmp_size) < 0) printf(”[WARNING] Can’t perform getpeername().\n”);
Mah, è ipnotico. Lol.