sabato 31 dicembre 2016

2016: Sistemi Operativi Top 10 (Top Ten)

Siamo giunti all'ultimo giorno del 2016. Perché non chiuderlo nel migliore dei modi?
Ci focalizzeremo sui sistemi operativi più usati e più comuni di questo meraviglioso anno e andremo anche a scoprire dei sistemi operativi che sono poco conosciuti ma che alcune volte in macchine quasi del tutto obsolete possono essere decisivi sia come interfaccia utente che come usabilità. Sistemi, la cui immagine non arriva ai 100 mb di memoria.
I sistemi che giornalmente ci semplificano la vita.
Ovviamente i tre grandi sistemi operativi del 2016 rimangono: MacOS, Microsoft Windows e Linux.
Tre signori che gestiscono il mondo delle macchine automatiche in tre diversi modi con tre diverse filosofie.
Possiamo benissimo stilare una Top Ten: I dieci sistemi più belli per uso e per interfaccia grafica del 2016:

1. MacOS Sierra (pagamento)
MacOs, rappresenta il vertice di questa piramide, in quanto Apple è riuscita a dare sempre il massimo nei suoi sistemi operativi. Sierra è un sistema innovativo e all’avanguardia. Rispetto ai suoi predecessori è stato incrementato con delle nuove funzionalità, come l’introduzione di Siri, assistente vocale già presente da tempo negli altri dispositivi Apple; rimane lo stesso stile del dock, molto simile ad iPhone e iPad in quanto la politica della casa costruttrice è sempre quella di unificare tutto il mondo dei propri dispositivi. Come uso comune e quotidiano è sempre un piacere interagire con un sistema operativo che si impunta. Ultimamente con l’uscita dei nuovi Macbook Pro il sistema, grazie all’introduzione di una OLED con la quale l’utente può entrare direttamente a contatto con il sistema operativo grazie alla tecnologia Touch. Oltre alla nuova barra, i nuovi Macbook saranno i primi sistemi a possedere la tecnologia TouchID, grazie alla quale avviene un riconoscimento tramite impronta digitale dell’utente stesso.























2. Windows 10 (pagamento)
Il sistema più diffuso al mondo e presente in tutti gli uffici, in tutte le scuole, in tutte le università è Windows. Pensate che ancora in molti uffici è presente addirittura XP, versione in cui il pacchetto office gira benissimo e quindi è perfetta per gli impiegati e per tutti gli utenti che hanno un minimo di conoscenza dell’informatica. A differenza di MacOs Windows ha una preferenza per quando riguarda lo sviluppo di programmi ma soprattutto di giochi. Mentre MacOs resta un prodotto di nicchia adottato soprattutto da grafici e da appassionati di disegno e di arte, Windows resta un prodotto un po’ più da smanettoni. Come usabilità è ottimo, solo che alcune volte presenta degli impuntamenti e spesso esegue delle operazioni indesiderate che l’utente non ha richiesto.



























3. Linux Mint 18 (Open Source)
Primo sistema operativo Linux presente nella classifica, ma non l’unico, rappresenta un mondo del tutto rivoluzionario rispetto ai primi descritti. La prima differenza, riguarda il prezzo, mentre i primi due sistemi sono a pagamento, i sistemi che in seguito verranno elencati fanno parti di un mondo che sta colonizzando il mondo dei PC che prende il nome di Open Source. Sono dei sistemi aperti a tutti, aperti ad un pubblico molto ampio. Inizialmente, sia le app che i giochi dovevano essere installati mediante comandi digitate dal terminale e quindi riservati ad un utente più esperto, anche se qualunque persona è capace a fare un copia-incolla da una qualsiasi guida presente attualmente sul web, oggi tutti questi sistemi hanno avuto una riforma per quanto riguarda il mondo delle app. E’ stato creato un vero Store in cui installare le applicazioni più frequenti è diventato un gioco da ragazzi addirittura più facile di Windows e di MacOs in quanto basta cliccare solo sul tasto installa e il sistema svolge tutto in modo automatico.
Una delle caratteristiche per cui Linux Mint è al vertice è per l’interfaccia grafica e per la semplicità dell’uso comune.

























4. Ubuntu 16.10 (Open Source)
Linux e Ubuntu sono due parole dall’aspetto molto rozzo ma che in realtà nascondono delle somiglianze. Ubuntu è il sistema Linux più conosciuto e diffuso al mondo, nasce praticamente in Sudafrica ed è una piattaforma ricca di derivate e sistemi figli. Addirittura esiste una derivata per i più piccoli e per un approccio alla tecnologia: EduBuntu. Ubuntu è spesso anche adottato per la programmazione di applicazioni android e web grazie all’immensità degli IDE presenti. Non a caso non si è fatto mancare una derivata per sviluppatori e programmatori: Ubuntu Studio. Non ha bisogno di un hardware potente e costoso. Funziona anche su computer con 2 GB di Ram ed è di largo utilizzo nei Netbook che hanno avuto una vita abbastanza breve. Come Linux Mint gode anche di uno Store abbastanza sviluppato.

























5. Lubuntu (Open Source)
Derivata di Ubuntu, è basata sull’ambiente grafico LXDE, un sistema basato sulla capacità di essere eseguito su macchine con componenti anche scadenti. Basta poco affinché il sistema venga eseguito e anche su macchine andate in disuso in cui Windows e Mac non hanno completamente intenzione di girare ecco che arriva in aiuto Lubuntu.































6. ElementaryOS (Open Source)
Anch’esso un sistema operativo esclusivamente gratuito basato su una selezione accurata di applicazione che si rivolgono a chi tutti i giorni ha bisogno di più tempo da dedicare all’utilizzo del proprio computer e meno tempo alla pulizia di file e risorse utili. Praticamente per quanto riguarda l’interfaccia grafica ricorda un po’ MacOs. Il Centro Applicazioni porta app ed estensioni direttamente sul nostro Desktop. Non ci sono, assolutamente, chiavi di licenza, abbonamenti, o periodi di prova. Elementary è un sistema aperto maggiormente anche ad un pubblico più esperto in programmazione dato che è strettamente legato al mondo dello sviluppo di app e autosviluppo del sistema operativo stesso.
































7. Debian (Open Source)
Debian, uno dei primi sistemi composto totalmente da software liberi. Debian è descritto come software universale in quanto viene incrementato da tutti i volontari del campo informatico provenienti da ogni parte del mondo che permettono così uno sviluppo continuo del software. Inoltre il sistema gode di 56.000 pacchetti, fornendo programmi general purpose precompilati nativamente per ogni architettura prevista dal progetto, organizzati per facilitarne l’installazione, l’aggiornamento e la gestione. La sua forma più diffusa è Debian GNU/Linux in quanto al suo interno possiamo trovare programmi di utilità provenienti dal sistema operativo GNU e Linux come i kernel adottati in questo sistema.

8. ReactOS (Open Source)
ReactOS è uno dei pochi sistemi operativi la cui immagine live di installazione non supera i 100 mb. A prima vista ricorda il vecchio Windows 98. L’interfaccia grafica non ha nulla di particolare. Al primo avvio non troverete neanche un’applicazione browser da utilizzare per la navigazione internet, infatti il sistema offre una discreta quantità di pacchetti da scaricare e da utilizzare, ovviamente, indispensabile per l’uso di questo sistema operativo è la connessione internet, senza la quale il sistema è limitato come ogni macchina computerizzata che rimane esclusa dalla connessione con il mondo della rete internet, non è una macchina inutile ma quasi. Per quanto riguarda l’aspetto negativo, l’interfaccia grafica non è delle migliori e per un uso abbastanza completo del sistema non è indirizzato verso un utente mediocre bensì ad un utente che sa relazionarsi abbastanza bene con il promp dei comandi.

9. OpenSuse (Open Source)
E’un sistema operativo GNU/Linux sponsorizzato da Novell. Gli obiettivi fondamentali di questa distribuzione sono:
- Rendere SUSE Linux la distribuzione più semplice per qualunque utente e la piattaforma Open Source più largamente utilizzata.
- Fornire un ambiente per la collaborazione open source che renda SUSE Linux la migliore distribuzione Linux nel mondo sia per i nuovi utenti che per quelli più esperti.
-Semplificare sensibilmente e aprire allo sviluppo e i processi di pacchetizzazione per rendere SUSE Linux la piattaforma di scelta per hacker Linux e sviluppatori di applicazioni.

10. Solaris 11 (Open Source)
Sistema open source di casa Oracle. Oracle è colosso dell’informatica, particolarmente famoso per la gestione di un’ingente quantità di dati. Infatti i software Oracle permettono di gestire delle vere e proprie tabelle dove sono contenute delle informazioni importanti come codici di carte di credito, informazioni sulla nostra identità, sulla nostra famiglia, sulla nostra situazione economica, sulla nostra vita in particolar modo. Oltre alla gestione di Basi di Dati, che ormai controllano in modo incondizionato la nostra vita, Oracle ha dato vita a Solaris 11 un sistema operativo Open Source molto intuitivo che ricorda il mondo dei sistemi Linux. Inoltre il sistema è molto adottato per gestire delle grandi quantità di informazioni in particolari server che hanno a che fare, ad esempio, con la spedizione di merce come Amazon, o come siti di banche che tramite delle transazioni devono essere aggiornate in un lasso di tempo prossimo a zero, onde evitare degli sbagli e delle situazioni particolarmente disagevoli per gli utenti.

-->

sabato 24 dicembre 2016

[GUIDA]: Installazione di Mountain Lion in una VM

E' sempre bello fare un tuffo nel passato e riproporre una vecchia versione di un sistema operativo Apple: Mountain Lion.
Il test è stato effettuato, tramite un MacBook Pro con queste specifiche tecniche
















Passiamo direttamente alla guida:

1. Installazione di VirtualBox nel proprio pc: VirtualBox.
2. Scaricare un'immagine .iso del sistema Mountain Lion
3. Settare in modo corretto la macchina virtuale:

Impostazioni per un discreto funzionamento della Macchina Virtuale


























4.Procedere all'installazione del sistema operativo:

Il sistema potrebbe dare dei problemi al momento dell'installazione, infatti è consigliato scegliere nelle opzioni della barra superiore, la voce Utility Disco selezionare l'Hard disk in cui si vuole installare Mountain Lion in questo caso specifico. Inizializzare il vostro volume nel formato Mac OS esteso (journaled):

































Scegliere la lingua per l'installazione:


































Continuare nell'installazione:































Accettare la licenza:





































Determinare il volume in cui installare




L'installazione potrebbe richiedere parecchio in tempo, il tutto correlato, in base alle caratteristiche specifiche del proprio PC:






L'installazione è giunta quasi al termine:

































Scegliere la spunta "Non Adesso" per un'installazione più veloce:


































E' possibile anche saltare la configurazione dell'ID Apple:































Selezionare il corretto Fuso Orario:


































L'installazione è terminata:


































Il sistema è installato correttamente nel PC:


Impostare le preferenze  di Sistema:






























Mountain Lion è uno dei sistemi di Apple che ha la possibilità di una "Gesture" avanzata


































Esplorazione del Finder:



































Configurazione del Dock di Apple, il cui stile risulta essere molto interessante:

giovedì 22 dicembre 2016

Google Opinion Rewards

Si, proprio così si chiama Google Opinion Rewards, è un applicazione voluta proprio da Big G.

Di cosa si tratta?

Rispondi a rapidi sondaggi e guadagna crediti Google Play con Google Opinion Rewards, un'app creata da Google Consumer Surveys.
Iniziare è davvero facile. Scarica l'app e rispondi alle domande di base su di te. Ti invieremo i sondaggi all'incirca una volta alla settimana, ma potresti anche riceverli con una frequenza maggiore o minore. Riceverai una notifica sul telefono quando sarà pronto un sondaggio breve e pertinente e potrai ottenere fino a 0,75 € in crediti Play se lo completi. Le domande potranno spaziare da "Qual è il logo migliore?" e "Qual è la promozione più interessante?" a "Quando prevedi di partire per il prossimo viaggio?"
Google Opinion  Rewards è un applicazione scaricabile dal Play Store per dispositivi Android e presente anche nel mercato di Apple.
Sostanzialmente è un applicazione in cui un semplice utente, in possesso di un account di posta elettronica firmato Google, può rispondere a dei semplici questionari riguardanti app, viaggi e altro. La cosa carina è che rispondendo a questi questionari si è "retribuiti", ovviamente stiamo parlando di pochi euri o addirittura da quanto notato dai commenti negativi di molti utenti di una scarsa retribuzioni pari a €0,08.

Google Opinion Rewards è una bella iniziativa, anche se si potrebbe investire molto di più in questo tipo di attività, in quanto la statistica come nel mondo delle app che nel mondo in generale della tecnologia, dell'informatica ma anche in ambito medico, farmaceutico è una materia fondamentale.
Così come i farmaci e le ricerca, la tecnologia e la scienza progrediscono anche grazie a dei sondaggi che permettono un miglioramento del prodotto.

Per quanto riguarda proprio la parte remunerativa dell'applicazione:
































Oggi, come non mai il mondo di internet e del web permette una retribuzione piuttosto consistente.
Su Google vige la regola €1 ogni 1000 click a cui si devono ovviamente scorporare tutti i soldi relativi alle tasse.
L'agenzia di marketing Mobile Media Lab ha indagato proveniente da Instagram noto social network, celebre per le sue innumerevoli foto. Dall'indagine di mercato, si evince che un utente "comune" con almeno 100.000 followers guadagno dai €600 agli €800 a foto, ovviamente tutto rapportato al numero di mi piace che ottiene in una determinata foto.
Per entrare in questo mondo il segreto è contenuto all'interno di una parola "Influencer" ovvero una persona che crea un'influenza che abbia la capacità di diffondersi in tutto il mondo.



mercoledì 21 dicembre 2016

[GUIDA]: Progettazione di un Gioco in 2D

Il primo linguaggio di programmazione ad essere stato sviluppato è stato il Linguaggio C.
Un linguaggio creato da due smanettoni dell'informatica. Denominato dalla Stampa americana come un linguaggio creativo, innovativo, un linguaggio per smanettoni creato da smanettoni.
Attualmente esistono numerosi linguaggi di programmazione, ma il C è quello che viene insegnato scolasticamente perché, innanzitutto serve ad avvicinare ragazzi o addirittura bambini al meraviglioso mondo dell'informatica...
Il linguaggio di programmazione C ha una sintassi molto semplice e intuibile facilmente. L'utente medio, non ha bisogno di spendere grosse quantità di tempo nella comprensione del linguaggio.
Tanto facile quanto complesso con le sue strutture particolari che lo caratterizzano.
Tutto il mondo è avvolto da sistemi informatica e ormai quest'ultima ci sta dominando.
Bando alle ciance...

Una delle cose più belle e carine che si possono fare adottando questo linguaggio di programmazione è la progettazione di un gioco:

Per programmare in C, abbiamo bisogno di un editor di testo. In realtà il codice sorgente può essere redatto tramite qualsiasi editor di testo (Notepad, Editor++, Pages), senza dimenticare di rinominare il file con l'estensione finale .c. Dal codice sorgente si deve creare in seguito un file eseguibile (.exe) in Windows in modo da vedere a schermo i risultati della programmazione, il tutto può essere fatto banalmente adottando dei codici precisi nella consolle di Windows.
Inoltre, il codice sorgente deve essere "compilato" da un apposito Compiler che interpreta i comandi del nostro linguaggio di programmazione.
Per semplicità adotteremo un Ambiente di Programmazione Integrato (IDE) che ci permetterà di scrivere il nostro codice sorgente e di vedere, tramite un apposito comando, il risultato delle nostre operazioni.
Nello specifico adotteremo L'IDE CodeBlocks (in un sistema operativo Linux, per pura comodità).
Nel nostro caso, scaricheremo CodeBlocks direttamente dallo Store integrato di LinuxMint, sistema operativo che adotteremo per tutto il seguito della guida.

Prima di iniziare, ad illustrare la costruzione di un'applicazione software di gioco, ci focalizzeremo sui costrutti base e sulle funzionalità dell'IDE.

Esempio di struttura interattivadi un programma in C  (calcolatrice):



main.c:
#include   //specifica la libreria usata dal programma
 2 
 3 int main() {
 4     int a;  //Primo valore
 5     int b;  //Secondo valore
 6     int somma;  //Somma dei due valori
 7     int prodotto;  //Prodotto dei due valori
 8     int differenza;  //Differenza dei due valori
 9     int quoto;  //Quoto dei due valori
10     
11     printf("Inserisci il primo numero: ");  //Stampa sulla console
12     scanf("%d", &a);  //Legge un valore intero e lo "inserisce" nella variabile "a"
13     
14     printf("Inserisci il secondo numero: ");
15     scanf("%d", &b);
16     
17     somma = a + b;
18     prodotto = a * b;
19     differenza = a - b;
20     
21     if(b != 0){
22         quoto = a / b;
23     }
24     
25     printf("La somma e': %d\n", somma);
26     printf("Il prodotto e': %d\n", prodotto);
27     printf("La differenza e': %d\n", differenza);
28     printf("Il quoto e': %d\n", quoto);
29     
30     return 0;
31 }

Con main viene indicato la funziona principale, ovvero il primo programma che viene letto dal compilatore che può essere interconnesso tramite altri sottoprogrammi (funzioni) evitando cosi lunghi codice e una struttura del programma più compatta.

scanf() serve per leggere dei determinati dati;
printf() è l'istruzione caratteristica che ci permette di visualizzare un testo.
Il nostro linguaggio in esame è anche ricco di cicli, che ci permettono di scorrere un determinato vettore o una matrice:

Costrutti 

Ciclo for
for(<inizializzazione>; <test>; <incremento>)
  <istruzione>;

Stampa i numeri da uno a 10:
int i;
for(i = 1; i <= 10; i++)
  printf("%d", i);


Costrutto Do While:
do{
  istruzione/i;
}while(condizione);


Scelte e condizioni (IF Than ELSE):
if (condizione1) { /*se la condizione1 è vera*/
   istruzioni1; /*allora esegue le istruzioni1*/
}
  else if (condizione2) { /*altrimenti se la condizione2 è vera*/  
       istruzioni2; /*allora esegue le istruzioni2*/
  }
      else { /*altrimenti*/
           istruzioni3; /*esegue le istruzioni3*/
      }

Operatore Switch:
switch(valore){/*seleziona il valore*/
   case 1: /*confronta con 1*/
      istruzione1; /* esegue l'istruzione1*/
      break;
   case 2:
      istruzioni2;
      break;
    .
    .
   case n:
      istruzioni n
   default: /*acquisisce tutti gli altri valori diversi da quelli della selezione (case)*/
      istruzioni;
}

GO TO:
 for ( .... )
     for ( .... )
     {
    ....
    if (disaster)
   goto error;
     }
 ....

 error:
     ripristina la situazione

Inoltre oltre alle funzioni, in esistono anche le librerie, ovvero dei file di testo in cui è presente solo codice che ci permettono di adottare delle funzioni già precedentemente compilate (scanf e printf ne sono un esempio):
















Adesso daremo la definizione di funzione e poi passeremo alla progettazione di quest'applicazione.
Programma che permette l'elevamento a potenza:















Codice di prova Game:



Runner.c
#include
#include
#include
void main()
{
int driver=DETECT,mode,j=100,i=0,x1,x22,x2,x11,y1,y11,y2,y22,a,y,k,speed;
float ang1=3.839724354,ang2=5.585053606, c1=0.05,
c2=-0.05,var1=2.967059728,var2=5.410520681,d1=0.072,d2=-0.072,s=2.35619449
;
initgraph(&driver,&mode,"C:\tc\bgi");
printf("

 Enter the number of rounds
"); scanf("%d",&k);printf("
Enter 1 for fast speed or 2 for normal speed
");scanf("%d",&speed);
if(speed==1) speed=11; else speed=16;cleardevice();delay(1000);
while(k>=1)
{
 while(i<=700)
 {setcolor(8);
 circle(i,j,22);line(i,j+22,i-13,j+115);
 x1=i+50*cos(ang1);x2=i+50*cos(ang2);
 y1=j+22-50*sin(ang1);y2=j+22-50*sin(ang2);
 x11=x1+45*cos(ang1+1.54532952); x22=x2+45*cos(ang2+1.54532952);
 y11=y1-45*sin(ang1+1.54532952);
y22=y2-45*sin(ang2+1.54532952);setcolor(RED);

line(i,j+22,x1,y1);line(x1,y1,x11,y11);setcolor(GREEN);line(i,j+22,x2,y2);
line(x2,y2,x22,y22);
 x1=i-15+60*cos(ang1);  x2=i-15+60*cos(ang2);
 y1=j+115-60*sin(ang1); y2=j+115-60*sin(ang2);
 x11=x1+60*cos(var1); x22=x2+60*cos(var2);
 y11=y1-60*sin(var1); y22=y2-60*sin(var2);

line(i-13,j+115,x1,y1);line(x1,y1,x11,y11);setcolor(RED);line(i-13,j+115,x
2,y2);line(x2,y2,x22,y22);
 ang1=ang1+c1; ang2=ang2+c2;
 var1=var1+d1; var2=var2+d2;if(i==0) a=x22;
 if(ang1<=3.839724354){c1=0.05;var1=2.967059728;d1=0.072;}

if(ang1>=5.585053606){c1=-0.05;var1=5.410520681;d1=-0.072;a=x11+10;s=2.356
19449;}
 if(ang2<=3.839724354){c2=0.05;var2=2.967059728;d2=0.072;}
 if(ang2>=5.585053606){
c2=-0.05;var2=5.410520681;d2=-0.072;a=x22+10;s=2.35619449;}
 i=a+150*cos(s)+50;j=320-150*sin(s)-20;s=s-0.045;
 delay(speed);if(k!=1)cleardevice();
 }
 i=0;k--;
 }
getch();
}


Il programma online non funzionerà ovviamente, basta copiare il file di testo all'interno dell'IDE di CodeBlocks e il gioco sarà fatto.

Buon Divertimento...