Bitcoin: 155cGwyXYsCxJRE1VEX7Q1jrPqfnGw29No

Non-spoiler Dropquest 2012 hints

The Dropquest started also this year! A great occasion to test your skills and imagination on some awesome puzzles and to earn 1GB worth of space for free.

If you don’t know what the Dropquest is, read the official blog post here.

You don’t have Dropbox!? Go registering with this link to earn 2.5GB free instead of only 2GB.

There’s plenty of walkthroughs around the web, but if you have some difficulties but don’t want to lose the fun, here are some non-spoiler hints.
Vai avanti a leggere

Getting Retina screenshots with PhantomJS

With PhantomJS, a headless WebKit browser with Javascript API, you can automatically render a webpage like you see it on your screen in an image or PDF. This is an awesome feature, useful for testing or – that’s what I use it for – rendering some elements of the page as images for later use.

Here I will explain how to take Retina-like screenshots. These are screenshots with double width and height for the same element where the details are rendered with double the precision. There are different reasons to want that: you might not own a new iPad or an iPhone4* and want to see how your website would look on these devices or you might want to add a Retina unit test to your awesome test stack. I want to render text to images so that they will still look sharp on Retina screens when used as replacements.

The key is the CSS3 transform property and its scale(2) value, plus a couple of tweaks.
Vai avanti a leggere

How to send a HEAD HTTP request in Python

There are a lot of questions on this topic around the web and common answers are to use httplib, that however is a really-low level library, or to use urllib2, but a lot of people complains about it returning to GET if following a redirect.

Here is my urllib2 solution, written looking at the code of urllib2.HTTPRedirectHandler and subclassing it in order to make it keep using the HeadRequest.

Soluzioni Giochi Matematici Bocconi – 17 marzo 2012

Ecco i testi con le soluzioni. Per quelle che non si commentano da sole la spiegazione arriva presto!

Prima paginaSeconda pagina

Ho avuto modo di controllare sulla griglia ufficiale i problemi dal 6 al 13, quindi quelli ve li garantisco al 100%. Per gli altri datemi conferme :)

Buone nuove, ho raggiunto al telefono un mio amico Parigino anche lui e oro olimpico di matematica (quindi ci possiamo fidare ;) ) e mi sono fatto dire le soluzioni di 14 e 15:
14 – somma minima 9
15 – massimo dei minimi di mosse 10

Soluzione guidata problema 14 by Gin »

Cerco di arrivare a un qualcosa come

 555555555 +
 444444445 =
1000000000

2012 è circa il doppio di 1012, per cui metto in ballo 6 e 3; dividendo vedo che serviranno circa 336 cifre:

6666...6666: 336 x 6 = 2016
3333...3334: 336 x 3 + 1 = 1009

Adattando leggermente per far coincidere i totali:

2666...6666: 336 x 6 - 4 = 2012
6333...3334: 336 x 3 + 1 + 3 = 1012

La somma è:
9000...0000

Ora dimostriamo che questa è la somma minima, ricordando che in modulo 9 un numero è uguale alla somma delle sue cifre.

La somma delle cifre di N è 1012, per cui N diviso 9 dà resto 4 (1 + 0 + 1 + 2)
Per P invece il resto è 5 (2 + 0 + 1 + 2)

Per cui P + N è un multiplo di 9
Quindi la somma delle cifre di P+N è un multiplo di 9, per cui non si può scendere sotto il 9

[Update] Mi sono arrivate le soluzioni dall’alto e confermano tutte quelle qui e aggiungono:
16 – 505
17 – 14

C’è una bella soluIone guidata del 17 nei commenti!

Eliminare il ritardo nelle animazioni onmouseover

Sto lavorando ad una homepage con delle scritte che devono cambiare colore al passaggio del mouse. Le scritte fanno parte di una immagine, quindi per ottenere l’effetto ho semplicemente applicato alle loro aree un mouseover/mouseout che cambi l’immagine con jQuery.

$(document).ready(function () {
    $('area').each(function() {
        $(this).mouseover(function() {
            $('#homeimg').attr('src', 'files/home_' + $(this).attr('alt') + '.png');
        }).mouseout(function() {
            $('#homeimg').attr('src', 'files/home.png');
        });
    });
});

Ma ecco il problema, quando passo col mouse sopra ad una scritta, questa cambia colore con un ritardo di pressapoco un secondo, ed è abbastanza fastidioso, oltre che evitabile! Vediamo come. Vai avanti a leggere

Tirare fuori il meglio dalle aste eBay

Mi sto trovando sempre più frequentemente a comprare su eBay e vorrei passarvi i miei due consigli per tirare fuori il meglio da quelle aste:

  • il punteggio di feedback non è la cosa più importante, conta di più la percentuale; in particolare cliccate sul punteggio e poi nella pagina dei feedback sul numero di quelli negativi dell’ultimo anno e leggetevi tutti i negativi (scartate mentalmente gli acquirenti chiaramente inesperti e i disguidi postali).
  • cercate la dicitura “Paga con PayPal: protezione integrale.”: se c’è ci penserà PayPal (anche se dopo un paio di mesi) a rimborsarvi nel caso qualcosa vada storto; se non c’è non è un buon segno.
  • leggetevi tutta l’inserzione, sul serio.
  • usate un “cecchino” per le aste: questo massimizza le probabilità di vittoria con una data cifra piazzando la vostra offerta per voi pochi secondi prima della chiusura dell’asta e vi protegge dal farvi prendere dalla febbre del rilancio evitandovi di spendere di più di quanto siete disposti. Io personalmente uso questo ottimo eBay Sniper “Gixen.com”, molto semplice da usare, affidabile e non richiede di tenere il pc acceso, essendo web-based; voi lo piazzate e poi tornate con calma a vedere se avete vinto: se avete perso vorrà dire che costava troppo per voi.
  • se cercate qualcosa di un attimo più potente anche per le ricerche, a me capita di usare il multi-piattaforma AuctionSieve.

Spero di esservi stato d’aiuto, se mi verrà in mente qualcos’altro o mi suggerirete qualcosa nei commenti lo aggiungerò.

[bash] Copiare l’mtime di un file ad un altro

Ho un script che usa lftp per sincronizzare la mia working directory con il sito ed al momento dell’esecuzione compila il css dal file .less.
Il problema è che in questo modo crede che il file css sia sempre più nuovo di quello sul server, e lo sincronizza ogni volta.
Allora ho preparato un comodo one-liner per trasferire la data dell’ultima modifica dal file less a quello css, in modo che il css venga sincronizzato solo quando aggiorno il less.

touch --date="$(stat --printf "%y" style.less)" -m style.css

Collegare Ubuntu a internet con il Nokia E72 e H3G

In questo post vi parlerò di come collegare il computer Linux (testato con Ubuntu, ma dovrebbe funzionare su tutte le distro) a internet mediante la connessione 3G della Tre.

Questa combinazione di Nokia Eseries e operatore Tre richiede una configurazione particolare, come si può notare dal fatto che vi è una specifica opzione della Nokia Suite chiamata “3 (Eseries)”. Fino a qualche tempo fa non sapevo quale particolarità avesse, ma da quando la PC Suite è cambiata in Nokia Suite (un miglioramento eccellente secondo me, con lo scivolone intermedio della Ovi Suite che faceva veramente schifo) è possibile vedere i parametri delle diverse impostazioni.
Vai avanti a leggere

Macchanger

English version below!

Macchanger è un’ottima utility per cambiare l’indirizzo MAC di un’interfaccia in GNU/Linux ed è soprattutto utile quando la privacy è importante.

Purtroppo ha una grande limitazione: quando viene usata più volte nello stesso secondo genera MAC address casuali uguali (come fatto notare in questa pagina di cryptoanarchy.org). Quindi, per esempio, non può essere usata in uno script all’avvio per cambiare il MAC di tutte le interfacce (pena un forte mal di testa nostro e del nostro sistema).
Questo perché usa il timestamp come seed della funzione random():

177:	srandom(time(NULL));

Vai avanti a leggere

[C++ & OpenCv] Il Pendolo

Un po’ di tempo fa ho preparato un programma in C++, basato sulle OpenCV, che segue la pallina rossa di un pendolo e ne misura in termini di tempo e ampiezza le oscillazioni.

L’ho fatto per approfondire il linguaggio e per curiosità verso le librerie e ne è venuta fuori una cosa carina, completamente inutile, ma carina. ;)

Era stato pubblicato tempo fa da un mio amico su mio permesso su questo forum.

Il codice è abbastanza commentato, ma se avete problemi chiedete; compila in ambiente GNU/Linux, ma dovrebbe essere facilmente portabile; supporta tutti i formati di video supportati da OpenCV, anche se alla riga 58 è hardcoded il “Frame per second” di 24.

Tutti i file sono scaricabili da qui.
Vai avanti a leggere