Scilab è un ambiente software per il calcolo, molto simile a MatLab (sebbene ci sia qualche differenza comunque non rilevante) distribuito come opensource, nei termini della ScilabLicense dallo Scilab Consortium. Perciò non solo è gratuito e pesa appena 18 megabyte in confronto al giga e passa di MatLab, ma mette a disposizione anche il codice sorgente, quindi può essere ottimizzato per la propria macchina o studiato liberamente. Puoi scaricare Scilab dal sito ufficiale, è disponibile per i maggiori OS.

Questo articolo è una introduzione a questo utile e potente strumento di calcolo.

Read the rest of this entry »

(0) Comments    Read More   

Vi ricordate a scuola quando la maestra aveva le preferenze? E non eravamo mai noi? Beh…di recente mi è venuto da pensare che anche Google abbia le preferenze.

Un po di tempo fa avevo pubblicato un sito in cui fornivo strumenti per giocare al Lotto. In realtà il mio scopo era quello di mostrare quanto questo gioco fosse una truffa e quanto fossero basse le probabilità di indovinare la combinazione specialmente se paragonate alle misere quote in caso di vittoria. Ma ad un motore di ricerca non si può certo chiedere di riconoscere la finalità di un sito.

Il fatto che mi ha incuriosito è che Googlebot è passato molto molto raramente tra le mie pagine e non ha mai effettuto una scansione profonda, si è sempre fermato all’indice. Inoltre ho scoperto che non potevo inserire gli annunci di Google perchè il motore di ricerca non consente a siti di gioco d’azzardo e lotterie di pubblicare i suoi annunci (trascurando il fatto che comunque permetta a siti di gioco d’azzardo di creare propri annunci google da pubblicare ovunque).

Mi è sorto quindi il dubbio che Google faccia discriminazione di certi contenuti e non sia poi così democratico. Alla fine un motore di ricerca dovrebbe mostrarmi quello che cerco e non solo quello che ritiene giusto io debba cercare. Inoltre questo forse sarebbe un aspetto di SEO interessante da approfondire.

Per ora vi lascio ai miei dubbi!

(0) Comments    Read More   

Alcuni portatili come ad esempio il mio Amilo 1650g montano come scheda di rete wireless la Atheros ar5005g. Purtroppo con sistemi gnu/linux non sembra funzionare inizialmente. Esiste però un metodo, che riporto di seguito, che permette di renderla facilmente funzionante. La procedura che riporto è molto generale e ha il vantaggio di andare bene anche per versioni a 64bit, poichè non si appoggia su ndiswrapper.

Quello che server per iniziare è:

  1. Un modulo del kernel aggiuntivo, scritto per notebook Acer ma che dovrebbe funzionare su qualsiasi macchina. Il modulo si chiama acer_acpi e lo trovi a questo link.
  2. I driver MadWifi che puoi liberamente scaricare dal sito ufficile.
  3. Gli strumenti necessari alla compilazione: gcc, make … (se usi Debian installa il pacchetto build-essential).
  4. Assicurati anche di avere sul tuo sistema i sorgenti del kernel in uso; se è un kernel che ti sei compilato da solo non dovresti preoccuparti.

A questo punto dobbiamo installare il tutto, compilandolo a mano.

  1. Scomprimi l’archivio dei driver MadWifi, entraci ed esegui questi comandi:
    ./configure
    make
    sudo make install
  2. A questo punto carichiamo il driver con
    sudo depmod -a
    sudo modprobe ath_pci
  3. Ora compiliamo il modulo e lo installiamo spostandolo direttamente nella sua locazione giusta perchè il procedura automatizzata potrebbe dare degli errori. Quindi scompattate l’archivio scaricato ed entrate nella cartella che vi crea
    make acer_acpi.ok
    sudo mkdir /lib/modules/$(uname -r)/extra
    sudo cp acer_acpi.ok /lib/modules/$(uname -r)/extra
  4. Fatto ciò sulla macchina dovrebbe esserci tutto il necessario per far funzionare la rete. Non dobbiamo fare altro che attivarla con questi comandi, naturalmente dati da super utente o preceduti da sudo:
    modprobe acer_acpi
    echo 1 > /proc/acpi/acer/wireless
    ifconfig ath0 up

Finalmente dovrebbe tutto funzionare, provate ad usare internet per accertarvene.

Ad ogni avvio successivo probabilmente il driver madwifi sarà caricato da solo mentre sarà necessario ripetere i comandi dell’ultimo punto oppure, ancora meglio, impostare acer_acpi tra uno di quei moduli che si caricano all’avvio escrivere uno script per avviare la connessione.

Attenzione: ad ogni compilazione di un nuovo kernel è necessario ripetere la procedura di installazione!

(0) Comments    Read More   

Per chi ha un sito (e anche un blog) spesso è molto utile avere una panoramica generale delle visite che riceve. Con questo piccolo script in php assolutamente invisibile dall’esterno potrete avere i log di tutte le visite che ricevete, con segnalato in particolare l’ip e il browser dell’utente, l’ora e la pagina visualizzata.

Ma soprattutto in questa maniera potrete vedere tutti i movimenti degli spider di qualsiasi motore di ricerca sul vostro sito, valutando in questa maniera l’interesse dei motori di ricerca per il vostro sito.

Ecco lo script, pensato in particolare per WordPress:
<?php

/* visite */
$fp=fopen("visite.log", "a");
$ip = $_SERVER["REMOTE_ADDR"];
$browser = $_SERVER["HTTP_USER_AGENT"];
$page = $_SERVER["REQUEST_URI"];
$ora = date("G:i");
$format = "%s %s %s %s";
$log = sprintf($format, $ip, $browser, $page, $ora);
fwrite($fp, $log);
fclose(fp);
?>

Copiate e incollate nell’index e avrete le statistiche per qualsiasi pagina. Per visualizzare il log vi basta il vostro browser tramite cui potrete visualizzare la pagina andando su nomesito/visite.log.

(0) Comments    Read More   

Quello dei numeri primi è uno dei misteri che più ha affascinato e tuttora affascina i matematici di ogni parte del mondo. La loro disposizione sembra essere del tutto casuale e, sebbene siamo in grado di stimare quanti siano i numeri primi minori di un N arbitrario non sappiamo dire quali siano.

Sono rimasto però sorpreso dallo scoprire che esistono delle formule che permettono di calcolare tutti i numeri primi. La prima fu pubblicata nel 1976: si basa sul principio che esiste una macchina di Turing in grado di generare la successione dei numeri primi e che ogni sequenza numerica prodotta da una macchina di Turing può essere espressa in forma di equazioni.

Questa formula può restituire un numero positivo o negativo, se il risultato è positivo allora quel numero sarà un numero primo. Inserendo nella formula tutte le combinazioni possibili di numeri siamo in grado di trovare tutti i numeri primi. Perfetto, o quasi…il problema è che le variabili sono 26 percui la formula la maggior parte delle volte restituisce un numero negativo.

A titolo puramente informativo riporto questa strana formula:
(K+2){1-[WZ+H+J-Q]^2 - [(GK+2G+K+1)(H+J)+H-Z)^2 - [2N+P+Q+Z-E]^2 - [16(K+1)^3(K+2)(N+1)^2+1-F^2]^2 - [E^3(E+2)(A+1)^2+1-O^2]^2 - [(A^2-1)Y^2+1-X^2]^2 - [16R^2Y^4(A^2-1)+1-U^2]^2 - [((A+U^2(U^2-A))^2-1)(N+4DY)^2+1-(X-CU)^2]^2 - [N+L+V-Y]^2 - [(A^2-1)L^2+1-M^2]^2 - [AI+K+1-L-I]^2 - [P+L(A-N-1)+B(2AN+2A-N^2-2N-2)-M]^2 - [Q+Y(A-P-1)+S(2AP+2A-P^2-2P-2)-X]^2 - [Z + PL(A-P) + T(2AP-P^2-1)-PM]^2}

Se al posto di A,B,…Z sostituite dei numeri interi e siete fortunati trovere un numero primo, altrimenti soltanto un misero numero negativo.

Oltre alla sua scarsa praticità questa formula non ha avuto molto successo perchè in realtà non ci dice nulla di significativo sulla sequenza dei numeri primi.

Per chi volesse provarla senza fare troppi calcoli prossimamente pubblicherò un programmino online a questo scopo! A presto dunque ;)

(0) Comments    Read More