TuxErrante

Libertà vo cercando, ch'è sì cara, come sa chi per lei vita rifiuta

Numero SMS virtuale online

Free online sms

Un paio di siti utili quando non si voglia dare il proprio numero per la registrazione a siti di poco conto

Mentre da qui possiamo inviarli gratuitamente

Primo script in Prolog

SWI-Prolog è la versione qui utilizzata.
Sistema: Ubuntu 13.04.
Strumenti: Gedit, Terminale.
Per installarlo : sudo apt-get install swi-prolog

Prolog is a declarative programming language. This means that in prolog, you do not write out what the computer should do line by line, as in procedural languages such as C and Java . The general idea behind declarative languages is that you describe a situation. Based on this code, the interpreter or compiler will tell you a solution. In the case of prolog, it will tell you whether a prolog sentence is true or not and, if it contains variables, what the values of the variables need to be.

Piccolo script per iniziare a conoscere il Prolog

largeFamily.pl

% database familiare
% iniziamo da lontano definendo un insieme di esseri umani..

human(john).
human(david).
human(gino).
human(bobbysolo).
human(karen).
human(gloria).
% ora separiamoli in base al sesso :
sex(john, man). % maschietti
sex(david, man).
sex(gino, man).
sex(bobbysolo, man).
sex(karen, woman). % femminucce
sex(sasha, woman).
sex(gloria, woman).
% iniziamo a definire le coppie
partner(john, gloria).
partner(david, britney).
partner(gino, topino).
partner(john, karen).
haveChild(john, sasha). % genitori
%haveChild(john, david).
% john,karen -> sasha,bobbysolo -> rocco,brigitte -> moana
haveChild(karen, sasha).
haveChild(gloria, david).
haveChild(sasha, rocco).
haveChild(bobbysolo, rocco).
haveChild(rocco, moana).
haveChild(brigitte, moana).
% definiamo ora delle funzioni che controllino se
% - A sia il padre di B
isFather(A, B) :- sex( A, man), haveChild(A,B).
% - A sia la madre di B
isMother(A, B) :- sex( A, woman), haveChild(A,B).
% - F e M siano padre a madre di A
parents(A, F, M) :- isFather(F, A), isMother(M,A).
% - A sia un avo di B
ancestor(A,B) :- haveChild(A,B).
ancestor(A,B) :- haveChild(A,X), ancestor(X,B). % non senti puzza di ricorsione ?
% - uno dei due è il padre/madre, il figliastro, il fratello/astro o un progenitore
areRelatives(A,B) :- isFather(A,B) | isFather(B,A) | isMother(A,B) | isMother(B,A);
partner(A,C), haveChild(C,B);
partner(C,A), haveChild(C,B);
haveChild(C,A), haveChild(D,B), ( partner(C,D); partner(D,C) );
ancestor(A,B); ancestor(B,A).

Mentre queste sono delle possibili interrogazioni da terminale

?- isFather(john,_).
true.
?- isFather(john,B).
B = david.
?- parents(david,Father,Mother).
Father = john,
Mother = gloria ;
false.

?- ancestor(john, Discendente).
Discendente = sasha ;
Discendente = rocco ;
Discendente = moana ;
false.

?- areRelatives(gloria, sasha).
true .
?- areRelatives(john,david).
true .
?- areRelatives(karen, moana).
true ;

CyanogenMod 10.1 su Samsung SL i9003

Cyanogenmod 10.1 Alpha 8

A partire da una Gingerbread 2.3.6 XXKPQ rootata.

Il sistema è molto gradevole e altamente configurabile, anche reattivo una volta che si è creata la partizione di swap.
Rimangono dei problemi con la fotocamera che spero si risolvano presto (è un’alpha..)

NB : sul mio modello le performance tweaks non hanno funzionato, non facendolo partire. Quindi se ci volete provare non dimenticate il backup..

Screenshot cyanogenmod Screenshot_2013-08-12-14-12-44 Screenshot_2013-08-12-14-17-45

DNS – exercises

–> DNS

1. Run nslookup to obtain the IP address of a Web server in Asia.

[[email protected]:~]$ nslookup nic.ae

Server: 62.101.93.101
Address: 62.101.93.101#53

Non-authoritative answer:
Name: nic.ae
Address: 213.42.0.168
Name: nic.ae
Address: 195.229.242.240

2. Run nslookup to determine the authoritative DNS servers for a university in Europe.

[[email protected]:~]$ nslookup -type=NS uniroma1.it

Server: 62.101.93.101
Address: 62.101.93.101#53

Non-authoritative answer:
uniroma1.it nameserver = risc-ns.cics.uniroma1.it.
uniroma1.it nameserver = desiree.cics.uniroma1.it.
uniroma1.it nameserver = ns1.garr.net.

Authoritative answers can be found from:
ns1.garr.net internet address = 193.206.141.38
ns1.garr.net has AAAA address 2001:760:ffff:ffff::aa
desiree.cics.uniroma1.it internet address = 151.100.4.13
risc-ns.cics.uniroma1.it internet address = 151.100.4.2

3. Run nslookup so that one of the DNS servers obtained in Question 2 is queried for the mail servers for Yahoo! mail.

[[email protected]:~]$ dig yahoo.com MX +noall +answer

; <<>> DiG 9.7.3 <<>> yahoo.com MX +noall +answer
;; global options: +cmd
yahoo.com. 420 IN MX 1 mta7.am0.yahoodns.net.
yahoo.com. 420 IN MX 1 mta5.am0.yahoodns.net.
yahoo.com. 420 IN MX 1 mta6.am0.yahoodns.net.

[al[email protected]:~]$ nslookup mta7.am0.yahoodns.net ns1.garr.net

Server: ns1.garr.net
Address: 193.206.141.38#53

** server can’t find mta7.am0.yahoodns.net.fastwebnet.it: REFUSED
viene falsato dai router di fastweb

Potete scaricare il file con la spiegazione e gli altri esercizi qui: Wireshark_DNS_Sept_15_2009

RFC 1034

wlan0 - Wireshark_007

Sicurezza nei social network

Una raccolta di testi e siti dedicati alla sicurezza e al mantenimento della privacy in rete

 

 

Android : cambiare kernel e gestore grafico

Annoiato dalla solita grafica e dalla lentezza del sistema, ieri ho fatto un giro in rete per cercare qualche alternativa. In breve ho ottenuto un ambiente molto più reattivo ed un design travolgente. Ecco come :

Necessario:

  1. Se abbiamo una versione differente dalla XXKPQ dobbiamo flasharla tramite Odin 3. Io avevo la XXLE4 e quindi ho fatto un downgrade senza problemi. A parte qualche blocco della procedura di Odin, che una volta ripetuta non ha dato problemi.
  2. scaricate e flashate il VurrutKer sempre tramite Odin ( il file va caricato nella sezione PDA ). Io ho scaricato la 9.1, controllate che per il vostro smart non ci siano controindicazioni.
  3. Se avete letto la guida avrete già fatto più volte il flash della Rom e avrete già eseguito la formattazione dei dati. Giusto ?
  4. A questo punto il sistema dovrebbe essere già operativo e più reattivo di prima. Se volete potete fermarvi qui ma io vi consiglio di proseguire.
  5. Dopo aver aggiornato le applicazioni andate nel Google Play e scaricate ADW Launcher. Vi permette una grande personalizzazione dei temi.
  6. Cercate un tema di vostro gradimento. Io ho scelto il Wihte.
  7. Divertitevi con le cofigurazioni.
ps: se vi piacciono le animazioni ricordate di abilitarle in Preferences > Display > Animation > All animations

[FQL] estrarre i propri stati da facebook

FQL : Facebook Query Language

Avete dimenticato quali furono i vostri primi stati su facebook ? cliccate qui !

  • Rilasciate i permessi all’applicazione Graph Api Explorer.
  • Controllate che ci sia l’access token user_status : simula la concessione dei permessi all’applicazione.
  • inserite il codice sottostante 

SELECT upper(message)
FROM status
WHERE uid = me()
ORDER BY time ASC
LIMIT 20 

  • Submit

Il resto lo lascio alla vostra fantasia e alla documentazione..

[java] la classe Pila

Un semplice esempio sulla gestione di un oggetto di tipo Pila

  • Con controllo d’errore :

[update] tips linux

Inseriti collegamenti per il recupero di file cancellati e altro.. 

[java] Client-Server multithread, lettura file XML

Qui oltre al codice troverete anche la documentazione (javadoc e pdf), è un’applicazione Java sia lato client che server con le seguenti caratteristiche:

Scopo:
Si vuole realizzare un applicazione che permetta ad un client di consultare un database presente
su un server, per poter effettuare alcune letture, che siano dell’intero file o il risultato di una
selezione al suo interno.
Lo scambio dei messaggi tra le due parti applicative deve avvenire attraverso una connessione
affidabile.
Caso in esame:
Si è preso come esempio uno studente che voglia consultare gli stage disponibili attualmente nel
mondo del lavoro, a cui deve essere data la possibilità di avere una visione globale e di poter
effettuare una selezione dei campi attraverso il numero dei posti disponibili, la durata dello stage
o il relativo salario offerto.

Il codice è stato aggiornato rispetto alla documentazione.
Ricordatevi di mettere il file xml nella stessa cartella degli eseguibili.

[update] UDP Echo Client-Server

Aggiornate le classi UDPEcho:

  • inserito il calcolo dei tempi di ricezione per i singoli pacchetti (RTT) e la media totale

[java] Client-Server Echo su UDP

1/04/2012 – Aggiornato

Classi Java che impostano una connessione UDP tra loro, il server rimane in attesa di connessione sulla porta che gli viene passata come parametro, così come il client invece si connette alla porta e all’indirizzo indicato nei parametri.

Il server restituisce al client lo stesso messaggio inviato, ma con una percentuale d’errore e un ritardo minimo modificabile.

Server
Client

[Aircrack-ng] Tool grafico !

Finalmente ho trovato un tool grafico per testare la sicurezza delle reti WEP e WPA..

Girovagando per i tutorial di Aircrack eccolo qui che viene fuori, semplice ed efficace.

Per ora non ho ancora avuto modo di utilizzarlo per bene, ma credo sia un’ottima scelta dopo aver installato Backtrack sull’hard disk.

[java] Primi passi con le Stringhe

Un semplice esercizio per iniziare a capire come si comporta il Java con le stringhe.

Consegna :

  1. Realizzate una classe java che vi permetta di implementare le seguenti operazioni:
  2. acquisizione di una stringa da tastiera e stampa della stringa
  3. verifica se una stringa contiene il dittongo “ae”;
  4. verifica del valore del primo carattere di una stringa inserita da tastiera; ed il quinto (se c’e’)
  5. produzione di un nuovo array di byte usando l’insieme di caratteri di default sulla piattaforma (getBytes());
  6. trovare la prima occorrenza in cui si trova un carattere in una stringa acquisita da tastiera e stamparla
  7. trovare la prima occorrenza in cui si trova una sottostringa in una stringa acquisita da tastiera e stamparla
  8. trovare la lunghezza di una stringa letta da tastiera
  9. realizzare una nuova stringa che sia la sottostringa della prima, partendo dal 5 carattere;
  10. realizzare una nuova stringa che sia la sottostringa della prima, partendo dal 5 carattere e terminando al carattere 8;
  11. realizzare una nuova stringa che porti in minuscolo TUTTI i caratteri della stringa di partenza letta da tastiera;
  12. realizzare una copia della stringa immessa da tastiera ma senza spazi iniziali e finali;
  13. realizzare una stringa che rappresenti il valore intero dell’intero letto da tastiera;
/home/alex/workspace/stringhe/src/Stringhe.java

import java.io.InputStreamReader;
import java.io.BufferedReader;
import java.io.IOException;

public class Stringhe {

    /**
     @author Alessandro Affinito
     */
    public static void main(String[] argsthrows IOException {
     
        InputStreamReader reader new InputStreamReader (System.in);
        BufferedReader in new BufferedReader (reader);
     
        // acquisizione di una stringa da tastiera e stampa
        String str new String();
        System.out.println(” Iserisci uno o piu’ caratteri: “);
        try{
            str in.readLine();
        }catch (IOException e){
            System.out.println(” Si è verificato un errore : “+e);
        }
        System.out.println(” Hai inserito : “+str );
     
        // 2. verifica se una stringa contiene il dittongo “ae”;
        String trovami=“ae”;
        System.out.println(“\n La stringa di prova contiene \”ae\”? “str.containstrovami ));
     
//      3. verifica del valore del primo carattere di una stringa inserita da tastiera; ed il quinto (se c’e’)
        System.out.println(“\n il primo carattere della stringa e’ : “str.charAt(0));
        if (str.length()>4)
            System.out.println(” ed il quinto e’ : “str.charAt(4));
        else
            System.out.println(” La stringa inserita ha meno di cinque caratteri.”);
     
//      4. produzione di un nuovo array di byte usando l’insieme di caratteri di default sulla piattaforma (getBytes());
        byte []vettoreBites str.getBytes();
     
//      5. trovare la prima occorrenza in cui si trova un carattere in una stringa acquisita da tastiera e stamparla
        System.out.println(” prima occorrenza della \’a\’: “str.indexOf(‘a’) );
     
//      6. trovare la prima occorrenza in cui si trova una sottostringa in una stringa acquisita da tastiera e stamparla
        String substring “asd”;
        System.out.println(” prima occorrenza della \'”+substring+“\’: “str.indexOf(substring) );
     
     
//      7. trovare la lunghezza di una stringa letta da tastiera
        System.out.println(” Dimensione della stringa inserita = “str.length() );
     
//      8. realizzare una nuova stringa che sia la sottostringa della prima, partendo dal 5 carattere;
        String substr1 str.substring(4);
     
//      9. realizzare una nuova stringa che sia la sottostringa della prima, partendo dal 5 carattere e terminando al carattere 8;
        String substr2 str.substring(47);
     
//      10.realizzare una nuova stringa che porti in minuscolo TUTTI i caratteri della stringa di partenza letta da tastiera;
        String strLow str.toLowerCase();
     
//      11.realizzare una copia della stringa immessa da tastiera ma senza spazi iniziali e finali;
        String cleaned str.trim();
     
//      12.realizzare una stringa che rappresenti il valore intero dell’intero letto da tastiera;
        System.out.println(“Inserisci un intero : “);
        String intValue in.readLine();
        intValue intValue.valueOfintValue );
        System.out.println(“\t Rappresentazione dell’intero come stringa : “+intValue );
     
        System.out.println();
    //endMain

}//endClass

in bici: il terrazzo

Domenica mattina.
Quasi dicembre e un sole impressionante.
Sfrutto l’occasione e accompagno in bici un amico architetto per la città.

Album.

Page 2 of 5

Powered by WordPress & Theme by Anders Norén