- Uno dei pregi di OS X e' la facilità con la quale si può cambiare la lingua di sistema dalle preferenze di sistema. OS X infatti contiene tutte le lingue più diffuse al suo interno ed ogni applicazione, all'interno del suo pacchetto, ha le varianti dell'interfaccia utente per ogni lingua.
- Il prezzo da pagare e' il maggior spazio su disco occupato da tutte le lingue installate.
- E' vero che adesso gli hard disk sono molto capienti, ma perché sacrificare 1 Gb di spazio per lingue che non conosciamo e che non utilizzeremo mai?
- Ho visto sul Mac App Store diverse utility a pagamento che permettono di rimuovere le lingue, ma io personalmente utilizzo un'applicazione free che e' a disposizione da diversi anni: Monolingual.
- Questa piccola applicazione permette di rimuovere le lingue dell'interfaccia, i metodi di inserimento ed infine le architetture.
- La rimozione delle lingue le eliminerà non solo dal sistema operativi, ma da tutte le applicazioni installate. I metodi di inserimento servono a gestire la scrittura in tutte quelle lingue che non utilizzano i caratteri latini, come ad esempio il cinese o l'arabo. Per finire la rimozione delle architetture permetteva di rimuovere il codice PowerPc dalle applicazioni Universal, ma ormai penso che di codice PowerPc se ne veda davvero poco in giro.
-
Io utilizzo Monolingual solo per rimuovere le lingue e
funziona bene anche su Lion, anche se il sito ufficiale ne
garantisce il funzionamento solo con Tiger, Leopard e Snow Leopard.
Fate attenzione a non rimuovere mai l'inglese, altrimenti il vostro sistema diventerà inutilizzabile! - Altra cosa importante da considerare e' che le lingue eliminate non si possono reintrodurre se non reinstallando il sistema operativo.
Monolingual si puo scaricare dal sito ufficiale.
Le lingue selezionate verranno rimosse
martedì 20 dicembre 2011
Cura dimagrante per OS X: eliminare le lingue inutilizzate
Etichette:
Apple,
Applicazioni,
lingue,
Mac,
OS X,
OS X Lion,
Recensione
venerdì 2 dicembre 2011
Programmare con GTK+ in linguaggio C++: creare la prima applicazione!
Questo tutorial vi guiderà alla creazione di un
programma con interfaccia grafica utilizzando il linguaggio C++ e la libreria Gtkmm, ma a differenza di
molti altri tutorial sulla rete, utilizzeremo Glade
e GtkBuilder per creare l'interfaccia.
- Prima di iniziare, assicuratevi di aver installato Anjuta, Glade e la libreria libgtkmm, se non avete provveduto potete installarli tramite Ubuntu Software Center (se sei alle prime armi leggi questo ).
- Faremo un programma semplice che illustrerà l'utilizzo di tre semplici elementi dell'interfaccia utente: un'etichetta per visualizzare del testo, un campo di inserimento per inserire una stringa di testo ed un pulsante. Alla pressione del pulsante, il testo inserito nel campo verrà visualizzato nell'etichetta.
-
- La prima cosa da fare e' creare un nuovo progetto con Anjuta
- Iniziamo con lanciare Anjuta e selezionare Nuovo – Progetto nel menu File o sulla barra degli strumenti.
- Quando compare la finestra di selezione del tipo di progetto, selezionate C++ e quindi GTKmm, quindi cliccate su continua.
- Nella schermata successiva date un nome al progetto, ad esempio tutorial, quindi se volete il vostro nome ed indirizzo email. Il numero di versione non e' importante, andiamo avanti.
- Nel campo destinazione cliccate sul tasto apri e selezionate la posizione dove mettere il progetto. Vi consiglio di creare una cartella apposita.
- Le altre opzioni le lasciamo con i valori di default, assicuriamoci soltanto che sia attiva la voce “Utilizzare GtkBuilder per l'interfaccia utente”, clicchiamo su continua e successivamente su applica.
Creazione di un progetto C++ GTKmm |
- Creare l'interfaccia utente con Glade
-
- Adesso abbiamo un progetto, se proviamo ad eseguire il programma, dal menu Esegui – Esegui o dalla barra degli strumenti ( l'icona con gli ingranaggi ), si aprirà una finestra intitolata “Hello world!”. Chiudendo la finestra il programma terminerà.
- Lanciate Glade, il disegnatore di interfacce, e aprite il file che definisce l'interfaccia del vostro programma. Se avete chiamato il progetto tutorial, lo troverete in tutorial/src/tutorial.ui
- Il file contiene solo una finestra vuota. Selezionando la finestra nell'elenco in alto a destra, potrete vedere le proprietà nel riquadro in basso a destra. Il nome della finestra main_window e' quello di riferimento usato dal vostro codice per ottenere il puntatore alla finestra. Il titolo della finestra e' “Hello World!”, cambiamolo in “Tutorial 1”.
- Il nostro programma necessita di tre elementi: un'etichetta, un campo inserimento ed un pulsante. Abbiamo quindi bisogno di un contenitore che contenga tre elementi. Nella colonna a sinistra di Glade potete vedere un pannello degli strumenti. Nella sezione Contenitori, selezionate il primo contenitore, quello denominato Casella, e' un widget di tipo Gtk::Box. Adesso cliccate all'interno della finestra del vostro programma. Vi verrà chiesto il numero di elementi, inserite 3 e cliccate su Crea.
- Ora la nostra finestra può contenere tre elementi. Nel pannello degli strumenti, nella sezione Controllo e visualizzazione, selezionate Inserimento testo. La nostra finestra e' divisa in tre parti, cliccate sulla prima parte in alto, avete aggiunto il campo di inserimento testo. E' un widget di tipo Gtk::Entry.
- Ora selezionate il widget Etichetta, posta nella sezione Controllo e visualizzazione del pannello degli strumenti. Quindi cliccate nel secondo spazio libero della vostra finestra. Avete così aggiunto l'etichetta, e' un widget di tipo Gtk::Label.
- Per finire selezionate il widget Pulsante e cliccate nell'ultimo spazio libero della finestra. Il pulsante e' un widget di tipo Gtk::Button.
- Adesso la nostra interfaccia e' completa, la sua composizione e' riassumibile con questo schema:
-
finestra vuota |
aggiunto Gtk::Box di tre elementi |
aggiunto Gtk::Entry |
aggiunto Gtk::Label |
aggiunto Gtk::Button |
- Gtk::Window
- Gtk::Box
- Gtk::Entry
- Gtk::Label
- Gtk::Button
- Salvate l'interfaccia cliccando su Salva il progetto corrente nella barra degli strumenti in alto o dal menu File – Salva e tornate ad Anjuta.
-
- Creare la classe di controllo dell'interfaccia Controller
-
- Ora che avete salvato la nuova interfaccia, se provate ad eseguire il programma da Anjuta, vedrete comparire la finestra intitolata “Tutorial 1”, contenente i tre widget che avete aggiunto. Adesso dobbiamo creare una classe che si occuperà di gestire gli elementi dell'interfaccia grafica.
-
- Create una nuova classe cliccando su Nuovo – Classe nella barra degli strumenti o dal menu File – Nuovo – Classe. Selezionate la sezione Classe C++ generica, chiamate la classe Controller, quindi cliccate su Crea. Si aprira un'altra finestra intitolata “Aggiungi sorgente”, nel riquadro sotto l'etichetta “Selezionare l'obbiettivo per i nuovi file sorgente:”, aprite la cartella src cliccando sul triangolino a sinistra, quindi selezionate tutorial e cliccate su Aggiungi. Ora abbiamo una nuova classe Controller, iniziamo ad implementarla.
- Nel nostro main.cc potete vedere che viene creato un'istanza della classe Gtk::Builder leggendo il file tutorial.ui della nostra interfaccia. Dobbiamo quindi implementare un costruttore pubblico della classe Controller che riceva come parametro un puntatore a Gtk::Builder. Aggiungiamo quindi:inline Controller( Glib::RefPtr<Gtk::Builder> _bldr );
- Dimenticavo, la nostra classe Controller dovrà lavorare con gli elementi dell'interfaccia, quindi dobbiamo includere il file header di gtkmm.Aggiungiamo quindi#include <gtkmm.h>
- Controller necessita di tre variabili per contenere i puntatori degli elementi dell'interfaccia. Aggiungiamo quindi le seguenti variabili come private:Gtk::Entry *campoInserimento;Gtk::Label *campoEtichetta;Gtk::Button *pulsante;
- Il compito del costruttore e' ottenere i puntatori dei tre elementi dell'interfaccia tramite l'istanza di Gtk::Builder e memorizzarli nelle tre variabili che abbiamo dichiarato come private. Aggiungiamo in Controller.h la definizione del costruttore:inline Controller::Controller ( Glib::RefPtr<Gtk::Builder> _bldr ){
_bldr->get_widget ("entry1", campoInserimento);
_bldr->get_widget ("label1", campoEtichetta);
_bldr->get_widget ("button1", pulsante);
}get_widget(nome, puntatore) e' un metodo di Gtk::Builder che richiama l'elemento con il nome posto nella stringa usata come primo parametro e mette il puntatore dentro alla variabile fornita come secondo parametro. entry1, label1 e button1 sono i nomi dei nostri widget, se tornate in Glade e selezionate gli elementi potrete verificarne i nomi. Ovviamente se modificate i nomi ricordatevi di modificare i nomi anche nel vostro codice sorgente.
- Adesso il vostro Controller.h dovrebbe essere come questo:
-
- #ifndef _CONTROLLER_H_
- #define _CONTROLLER_H_
- #include <gtkmm.h>
- class Controller
- {
- public:
- inline Controller( Glib::RefPtr<Gtk::Builder> _bldr );
- protected:
- private:
- Gtk::Entry *campoInserimento;
- Gtk::Label *campoEtichetta;
- Gtk::Button *pulsante;
- };
- inline Controller::
- Controller ( Glib::RefPtr<Gtk::Builder> _bldr )
- {
- _bldr->get_widget ("entry1", campoInserimento);
- _bldr->get_widget ("label1", campoEtichetta);
- _bldr->get_widget ("button1", pulsante);
- }
- #endif // _CONTROLLER_H_
-
- Implementare il metodo aggiornaEtichetta
-
- Il metodo aggiornaEtichetta ha il compito di prelevare la stringa inserita nel campo di inserimento e metterla nell'etichetta, vediamo come.
-
- Dichiariamo il metodo aggiornaEtichetta come protetto nella nostra classe Controller, aggiungiamo quindi la dichiarazione:void aggiornaEtichetta ( void );Questo metodo non prende alcun parametro e non rilascia alcun valore alla sua uscita.
- Adesso implementiamo la definizione di aggiornaEtichetta nel file controller.ccvoid Controller::aggiornaEtichetta ( void ){Glib::ustring stringa = campoInserimento->get_text ();campoEtichetta->set_text ( stringa );}Il funzionamento e' banale, prende la stringa contenuta in campoInserimento con il metodo get_text() e la mette in una variabile di tipo Glib::ustring*, quindi passa la stringa al campoEtichetta con il metodo set_text().
- Collegare il pulsante al metodo aggiornaEtichetta
-
- Adesso dobbiamo fare in modo che quando si clicca sul pulsante venga chiamato il metodo aggiornaEtichetta.
-
- Andiamo a modificare il costruttore della classe Controller per aggiungere il collegamento.pulsante->signal_clicked ().connect (sigc::mem_fun (this, &Controller::aggiornaEtichetta) );Questa istruzione collega il segnale signal_clicked() del pulsante al metodo aggiornaEtichetta della nostra classe Controller.
- La nostra classe Controller e' completa, ora modifichiamo il file main.cc per utilizzarla.Prima cosa da fare e' includere il file header controller.h#include “controller.h”
- Quindi inseriamo la creazione di un'istanza di Controller invocando il costruttore che abbiamo implementato.Controller *controllo = new Controller ( builder );Dobbiamo passare al costruttore il puntatore dell'istanza di Gtk::Builder, quindi va messo dopo la creazione della stessa.Prima della fine di main() bisogna deallocare l'istanza di Controllerdelete controllo;main.cc sarà più o meno così#include <gtkmm.h>#include <iostream>#include "config.h"#include "controller.h"#ifdef ENABLE_NLS# include <libintl.h>#endif/* For testing propose use the local (not installed) ui file *//* #define UI_FILE PACKAGE_DATA_DIR"/tutorial_1/ui/tutorial_1.ui" */#define UI_FILE "src/tutorial_1.ui"intmain (int argc, char *argv[]){Gtk::Main kit(argc, argv);//Load the Glade file and instiate its widgets:Glib::RefPtr<Gtk::Builder> builder;try{builder = Gtk::Builder::create_from_file(UI_FILE);}catch (const Glib::FileError & ex){std::cerr << ex.what() << std::endl;return 1;}Gtk::Window* main_win = 0;builder->get_widget("main_window", main_win);Controller *controllo = new Controller ( builder );if (main_win){kit.run(*main_win);}delete controllo;return 0;}
- Compilazione e test del programma Tutorial
-
- Il programma e' completo, potete compilare cliccando sull'icona di compilazione nella barra degli strumenti o sul menu Genera – Compila. Lanciate il programma e provate a scrivere qualcosa nel campo di inserimento, quindi cliccherete sul pulsante, vedrete l'etichetta visualizzare la stringa che avete inserito.
Questo piccolo programma e' banale, ma penso che dia un'idea di come utilizzare Gtk::Builder.
Il programma Tutorial 1 e' completo |
Etichette:
Anjuta,
C++,
Glade,
GNOME,
GNU/Linux,
Gtk::Builder,
GTK+,
Guida,
libgtkmm,
Linux,
programmare,
programmazione,
Tutorial,
Ubuntu
mercoledì 30 novembre 2011
Stranezze della Wi-Fi: vede le reti dei vicini ma non quella di casa
Questo e' un problema che mi ha afflitto per sei mesi ed ho
risolto per caso solo un paio di giorni fa. Non riuscendo a trovare
nessuna soluzione su internet mi sono promesso di dedicare un post a
questo problema se mai lo avessi risolto.
- Vi parlo di un router Wi-Fi di Fastweb e del mio MacBook bianco del 2007 con dual boot OS X e Ubuntu 11.04 (successivamente aggiornato a 11.10 ).
- Inizialmente tutto funzionava senza problemi, entrambi i sistemi si collegavano alla rete in Wi-Fi , poi un giorno all'improvviso nessun computer a casa riesce a collegarsi in Wi-Fi. Dopo una chiamata al servizio di assistenza la rete Wi-Fi viene ripristinata, tutti gli apparati si collegano di nuovo alla rete, tranne il MacBook, o meglio solo OS X trova la rete e si collega, mentre Ubuntu non la vede.
- La cosa frustrante era che nell'elenco delle reti disponibili appaiano quelle dei vicini, ma non compare quella di casa. I tentativi per risolvere il problema sono stati tanti, ho provato a cambiare il canale della Wi-Fi, cambiare nome identificativo della rete e password, e come soluzione estrema la formattazione e installazione da zero di Ubuntu, ma niente. Gli altri computer, lo smartphone e OS X sul MacBook vedono la rete di casa, mentre Ubuntu non la vede, ma vede senza problemi quelle dei vicini e si collega ad altre reti.
- Qualche settimana fa ho aggiornato il sistema operativo del mio smart-phone Android ed anche questo non ha trovato più la rete di casa!
- Un paio di giorni fa ho quindi collegato il MacBook al router tramite cavo Ethernet e sono andato sulla pagina delle impostazioni della rete Wi-Fi. Mi sono limitato a disabilitare la Wi-Fi e poi ad abilitarla, quando ho cliccato sul tasto salva modifiche, come per magia, Ubuntu mi ha segnalato la presenza della rete! Ho staccato il cavo e mi sono collegato alla rete Wi-Fi.
- Ho provato anche con lo smart-phone e si e' collegato senza problemi.
- Non capisco il motivo del problema e ancor meno la banale soluzione, comunque ho voluto pubblicare la mia esperienza sperando di poter aiutare chi ha incontrato un problema simile.
-
Etichette:
GNU/Linux,
Linux,
Mac,
OS X,
rete senza fili,
Ubuntu,
Ubuntu 11.04,
Ubuntu 11.10,
Wi-Fi
venerdì 18 novembre 2011
Studiare la lingua giapponese su Linux con il mio progetto: Nihongo
Se vi è capitato di dare un'occhiata al mio
profilo, avrete notato che il computer e la programmazione non sono
l'unico interesse che coltivo, ci sono anche la lingua e la cultura
giapponese. Iniziato come interesse per i manga e l'animazione
giapponese, questa passione si è evoluta ed allargata alla cultura
in tutte le sue forme e soprattutto allo studio della lingua.
- Il progetto di cui voglio parlarvi oggi nasce appunto dallo studio della lingua giapponese. Ho studiato giapponese per quasi quattro anni presso l'istituto Is.I.A.O. di Milano e successivamente ho anche frequentato un corso intensivo a Tokyo. In quel periodo avevo bisogno di uno strumento che mi aiutasse a studiare, fu così che iniziai a lavorare su un programma che ho chiamato Nihongo.
- Nihongo è una parola giapponese che vuol dire appunto “lingua giapponese” (lo ammetto, non ho avuto grande fantasia nella scelta del nome). Questo programma nasce nell'ottobre del 2005 come piccolo dizionario personale dove inserire le parole utilizzate durante le lezioni, con la capacità aggiuntiva di eseguire test mnemonici. Negli anni ho perfezionato e aggiunto altre funzioni, quali gli esercizi con i kanji, i numeri, ed altri aspetti della grammatica.
- Dalla sua nascita e fino allo scorso anno, ho continuato a sviluppare Nihongo in Objective-C e solo su Mac OS X, ma quest'anno ho deciso di riscriverlo da zero in C++ per sistemi GNU/Linux in ambiente GNOME.
- L'idea sarebbe quella di rilasciarlo con licenza GPL e distribuirlo tramite l'Ubuntu Software Center il prossimo anno, commenti e suggerimenti saranno molto graditi.
- (Aggiornamento: ora il progetto nihongo lo potete trovare al seguente indirizzo: http://code.google.com/p/nihongo/ )
-
Proseguendo nello sviluppo di Nihongo pubblicherò
alcuni tutorial riguardanti il C++ e le librerie GTK+ e GTKmm.
la finestra principale con il dizionario modalità e opzioni degli esercizi con le parole
esercizio per la memorizzazione delle parole
fogli di esercitazione alla scrittura dei kanji
Etichette:
Applicazioni,
dizionario,
giapponese,
GNOME,
GNU/Linux,
GTK+,
kanji,
Linux,
Mac,
Nihongo,
OS X,
OS X Lion,
studiare,
Ubuntu
giovedì 3 novembre 2011
Doniamo il tempo inutilizzato del nostro computer per la ricerca scientifica
Oggi vi voglio parlare del
World Community Grid e di come potete contribuire alla ricerca
scientifica con il vostro computer.
La ricerca scientifica ha
bisogno di grandi capacità di calcolo ed i costi per realizzare i
super computer necessari sono molto elevati. Per
abbattere i costi e velocizzare i calcoli si e' pensato di dividere
il lavoro in tante piccole parti ed affidare i calcoli ad altrettanti
computer in rete. La missione del WCG e' creare la più grande rete
mondiale di calcolo per la ricerca scientifica e metterla a
disposizione di organizzazioni pubbliche o comunque non a scopo di
lucro. I risultati ottenuti saranno di pubblico dominio e messi a
disposizione della ricerca mondiale.
Per poter contribuire basta
registrarsi sul sito, scaricare ed installare il programma client sul
vostro computer e configurare le opzioni di funzionamento. Nei
momenti di inattività il vostro computer richiederà i dati su di
uno specifico progetto di ricerca, quindi eseguirà i calcoli e, quando terminato, invierà i risultati. Questo sistema e'
assolutamente sicuro e non comporta rischi di nessun tipo. I
pacchetti ricevuti e i risultati inviati sono pacchetti di pochi
kilobyte che non avranno nessun impatto sul vostro traffico di rete.
Inoltre potrete scegliere a quali progetti di ricerca dare il vostro
contributo e la quantità di risorse del computer da mettere a
disposizione. Lo spazio su disco necessario e' minimo, ad essere utilizzato intensamente e' il processore.
Il software utilizzato si
chiama BOINC ( Berkley Open Infrastructure for
Network Computing ). L'omonimo programma client e' scaricabile
anche dal sito ufficiale, per quanto riguarda Ubuntu, e' installabile
direttamente dall'Ubuntu Software Center. Ovviamente BOINC e'
multipiattaforma e funziona su Windows, Mac OS X e qualsiasi
distribuzione GNU/Linux.
Io personalmente sono
registrato da anni e penso sia un modo molto valido di contribuire
alla ricerca scientifica per scopi umanitari.
mercoledì 26 ottobre 2011
Il computer al centro del vostro salotto con xbmc
Oggi vi voglio
presentare un ottimo esempio di free software open-source
che non può mancare sul vostro computer: xbmc.
Che cos'è?
E' un media
player audio/video nonché centro di
intrattenimento digitale, in pratica il software ideale se il vostro
computer e' in salotto. Con xbmc potete
infatti vedere file video e ascoltare file audio di qualunque
formato, oltre a poter leggere direttamente DVD, Blu-Ray
e CD audio, nonché visualizzare le vostre foto.
La grafica a
tutto schermo trasforma il vostro computer in un elegante media
player, facile ed intuitivo.
La schermata principale |
Un altro punto
di forza di xbmc e' la capacità
di collegarsi ad internet per guardare video in streaming,
ascoltare musica e accedere a molti altri servizi online.
L'aspetto e le
funzioni sono ampiamente personalizzabili, e' possibile installare
nuove skin ed estendere le funzioni grazie
all'installazione di appositi plug-in.
Probabilmente
vorrete utilizzare questo software quando siete seduti comodamente in
poltrona, quindi sarete felici di sapere che sono supportati
un'infinità
di telecomandi.
Agli
utenti Mac
ricorda molto da vicino Front Row,
ma vi assicuro che e' fatto decisamente meglio e supporta anche il
telecomando fornito da Apple.
Dimenticavo,
xbmc
e' multi-piattaforma e disponibile per Linux, OS X e Windows.
Lo
potete scaricare direttamente dal sito ufficiale.
Per
gli utenti di Ubuntu e' possibile installarlo tramite repository,
sul
sito sono indicati i repository
da
aggiungere in base alla versione del vostro sistema.
Buon divertimento!
Etichette:
Applicazioni,
GNU/Linux,
Linux,
Mac,
OS X,
Recensione,
Ubuntu,
xbmc
venerdì 14 ottobre 2011
Il padre del linguaggio C e di Unix ci lascia all'età di 70 anni
Dennis MacAlistair Ritchie |
Insieme a Ken Thompson ha sviluppato la prima versione di Unix, successivamente ha creato il linguaggio C, ancora oggi ampiamente utilizzato nello sviluppo di applicazioni e sistemi operativi.
Famoso il libro pubblicato insieme a Brian Kernighan The C Programming Language, pubblicato in Italia con il titolo Programmare in C, ancora oggi e' considerato un testo fondamentale per tutti i programmatori ( io ne possiedo una copia edita dallo storico Gruppo Editoriale Jackson ).
L'impatto del suo lavoro e' stato enorme nell'evoluzione dell'informatica, basti pensare che Linux e BSD derivano dal kernel Unix, quindi se oggi possiamo usare Linux, FreeBSD od OS X sul nostro computer o anche Android o iOS sul nostro smartphone, lo dobbiamo anche a lui.
Un saluto ad una vera icona dell'informatica che ci ha lasciati.
giovedì 13 ottobre 2011
Come rimuovere l'icona di stato del modem dalla barra dei menu di OS X
L'icona di stato del modem, raffigurata da una cornetta
telefonica, e' un residuo del passato che indica lo stato della
connessione tramite modem alla linea telefonica.
Al giorno d'oggi quasi nessuno usa la vecchia
connessione 56k, inoltre da diversi anni i Mac non hanno più un
modem incorporato, quindi e' quasi impossibile rivedere questa icona
sulla barra dei menu.
Mi e' capitata una cosa curiosa dopo aver installato OS
X Lion, l'icona di stato del modem e' comparsa sulla barra dei menu.
La fantomatica cornetta telefonica in bella mostra sulla barra dei menu |
Per toglierla bastava andare sulle preferenze Network, selezionare il
modem e deselezionare la voce “mostra lo stato del modem sulla
barra del menu”.
Il problema e' che su un Mac senza modem incorporato
ovviamente le preferenze Network non mostrano il modem e quindi
sembra impossibile rimuovere quell'inutile icona.
La soluzione e' semplice, tenete premuto il tasto
Command e fate il Drag 'n' Drop dell'icona
indesiderata fuori dalla barra dei menu, vale a dire tenete premuto
il pulsante del mouse e trascinatela via.
lunedì 10 ottobre 2011
Iniziare a programmare con Ubuntu GNU/Linux
Prepariamo gli
strumenti necessari per programmare usando il linguaggio C/C++
Il
primo passo per iniziare a programmare e' installare gli strumenti di
sviluppo sulla nostra macchina. Aprite Ubuntu Software Center,
cliccate sulla categoria “Strumenti per lo sviluppo”, poi
sulla sotto categoria IDE e quindi su Anjuta IDE.
Installare Anjuta tramite Ubuntu Software Center |
Anjuta
e' un ambiente di sviluppo integrato, cioè un software che aiuta
i programmatori nello sviluppo del codice. In particolare e' rivolto
allo sviluppo di applicazioni in ambiente GNOME.
Una
volta selezionato Anjuta in Ubuntu Software Center,
cliccate sul pulsante “Ulteriori informazioni” ed
assicuratevi che tutti i componenti aggiuntivi siano selezionati,
quindi cliccate su “Installa”.
Al
termine dell'installazione tornate nella categoria “Strumenti
per lo sviluppo” e selezionate la sotto categoria
“Progettazione interfacce grafiche”, quindi cliccate su
Glade Interface Designer.
Installare Glade Interface Designer |
Glade
e' un software che aiuta a progettare e realizzare le interfacce
grafiche dei nostri programmi. Cliccate su “Ulteriori
informazioni” ed assicuratevi che tutti i componenti aggiuntivi
siano selezionati, quindi installatelo.
Ancora
una volta tornate alla categoria “Strumenti per lo sviluppo”
e selezionate la sotto categoria Librerie. Scrivete nel campo
di ricerca in alto a destra la parola “gtkmm”, quindi
selezionate ed installate la libreria libgtkmm-2.4-dev,
denominata “C++ wrappers for GTK+ (development files)”.
Questa
libreria e' fondamentale per poter creare applicazioni GTK+
(cioè applicazioni funzionanti in ambiente GNOME) utilizzando
il linguaggio C++.
Installare la libreria libgtkmm-2.4-dev |
Le
librerie GTK+ infatti sono scritte interamente in linguaggio
C, che e' il linguaggio di riferimento sui sistemi GNU/Linux.
Forse
vi starete chiedendo, perché non usare il C per sviluppare le
nostre applicazioni?
Utilizzare
il C e' senza dubbio la scelta più facile, ma personalmente
penso che il C++, in quanto linguaggio di programmazione
orientata agli oggetti, e' sicuramente più moderno e potente del
caro vecchio C. Tutti quelli che già sviluppano in C++,
Java od Objective-C conoscono bene le potenzialità
della programmazione orientata agli oggetti rispetto alla classica
programmazione procedurale.
Il
mio personale consiglio a chi si avvicina per la prima volta alla
programmazione e' di imparare il C, che rimane un linguaggio
fondamentale ed ampiamente utilizzato, e quindi passare al C++.
Ultima
cosa che vi consiglio di installare e' Devhelp, un programma
per visualizzare e consultare la documentazione delle librerie. Basta
scrivere “devhelp” nel campo di ricerca di Ubuntu
Software Center e lo troverete immediatamente.
Congratulazioni,
adesso la vostra macchina e' pronta ad essere utilizzata come
workstation di sviluppo!
E'
giunto il momento di creare la vostra prima applicazione per prendere
confidenza con gli strumenti di sviluppo.
Lanciate
Anjuta e selezionate la voce preferenze del menu
Modifica. Nella categoria Generale, potete configurare
i seguenti valori predefiniti:
- Directory progetto predefinita: selezionate la cartella di riferimento che conterrà i file di tutti i vostri progetti. Io, per esempio, ho creato una cartella chiamata Sviluppo nella mia home directory.
- Nome sviluppatore: verrà aggiunto automaticamente nel commento posto all'inizio di ogni file del codice sorgente.
- Indirizzo email sviluppatore: anche questo verrà aggiunto al commento iniziale di ogni file del codice sorgente. Se distribuirete liberamente il vostro codice, gli utilizzatori sapranno come contattarvi.
Adesso siete pronti a creare
un nuovo progetto, chiudete le preferenze e selezionate Nuovo →
Progetto dal menu File.
Comparirà una finestra per
la scelta del tipo di progetto da realizzare. Selezionate il
linguaggio C++ e quindi l'icona denominata GTKmm, cioè
il punto di partenza per creare un'applicazione in C++ che
utilizzi l'interfaccia grafica GTK+. L'icona C++
generico invece vi permette di creare programmi in C++ senza
alcuna interfaccia grafica, l'eventuale output del programma sarà
diretto sulla console dello standard output. Questa opzioni e' utile
per creare applicazioni da richiamare tramite Terminale o
anche per studiare ed esercitarsi con il linguaggio C++.
Creazione di un nuovo progetto C++ |
Cliccate sul pulsante
avanti, a questo punto dovete dare un nome al vostro progetto,
scrivete HelloWorld. Il vostro nome e la vostra email saranno
quelle indicate nelle preferenze, infine il campo della versione
indica il valore 0.1, lasciamolo cosi' e cliccate su avanti.
La destinazione indicata
sarà all'interno della cartella indicata nelle preferenze e verrà
creata una cartella con il nome del progetto. Potete cliccare su
avanti e quindi su applica.
Destinazione della cartella del progetto |
La finestra principale di
Anjuta e' divisa in tre parti, sulla parte sinistra in alto
abbiamo la sezione dedicata alla gestione del progetto. Nella parte
destra in alto c'è la sezione dell'editor del codice sorgente.
Infine nella sezione in basso c'e' la sezione dedicata alla console.
Guardando la sezione in alto
a sinistra, noteremo che in basso ci sono tre pulsanti:
- File: visualizza tutti i file contenuti nella cartella del progetto.
- Progetto: visualizza i file appartenenti al progetto. Questo tipo di visualizzazione e' simile a File, ma più ordinata e molto utile per gestire progetti particolarmente grandi.
- Simboli: visualizza i simboli contenuti nel progetto, i simboli possono essere nomi di variabili, oggetti, funzioni, ecc...
La finestra principale di Anjuta |
Cliccate sul pulsante File
ed aprite la cartella src. I file importanti in questa
cartella sono main.cc, che contiene il codice sorgente del
progetto, ed helloworld.ui, che definisce l'interfaccia
grafica del programma.
Con un doppio click su
main.cc potremmo aprire il file nell'editor e modificare il
codice. Con un doppio click su helloworld.ui invece si aprirà
l'editor grafico di progettazione dell'interfaccia.
Io, personalmente,
preferisco aprire i file .ui con Glade piuttosto che
aprirli all'interno di Anjuta, siete liberi di provare
entrambi i metodi.
Senza bisogno di apportare
alcuna modifica possiamo compilare questo progetto ed avviarlo.
Per compilare, cliccate
sull'icona “Genera tutto il progetto” posta nella barra
degli strumenti in alto, oppure potete selezionare la voce “Genera
progetto” nel menu Genera.
Adesso potete avviare il
programma cliccando sull'icona “Esegui il programma” nella
barra degli strumenti o selezionando la voce “Esegui” dal
menu Esegui.
Il programma crea una
finestra intitolata “Hello world!”, chiudendola si esce
dal programma e si torna ad Anjuta.
Adesso potete dare sfogo
alla vostra creatività, buon divertimento!
Etichette:
Anjuta,
Glade,
GNOME,
GNU/Linux,
GTK+,
Guida,
Installazione,
libgtkmm,
Linux,
Ubuntu,
Ubuntu 11.04,
Unity
giovedì 6 ottobre 2011
Ciao Steve
Oggi ci ha lasciato un genio, un uomo che amava il suo lavoro e che ha rivoluzionato l'informatica.
La cosa più importante che ci rimane di lui e' l'insegnamento ad avere passione per ciò che facciamo e ad avere fede nelle nostre capacita'.
Ciao Steve, grazie per averci insegnato a "pensare differente".
La cosa più importante che ci rimane di lui e' l'insegnamento ad avere passione per ciò che facciamo e ad avere fede nelle nostre capacita'.
Ciao Steve, grazie per averci insegnato a "pensare differente".
giovedì 29 settembre 2011
Disinstallare le applicazioni su OS X
Come rimuovere i file lasciati dalle applicazioni disinstallate
Uno
dei punti forti di Mac OS X e' sempre stata l'estrema semplicità con
la quale si installano le applicazioni. Nella maggior parte dei casi
e' sufficiente trascinare l'icona del programma nella cartella
Applicazioni ed il gioco e' fatto, ma disinstallare le applicazioni
e' altrettanto facile?
Spesso
abbiamo sentito dire che e' sufficiente trascinare l'icona del
programma nel cestino, ma in verità non tutti i file creati dal
programma vengono eliminati.
In
questa breve guida vedremo dove scovare i file delle applicazioni e
come rimuoverli tutti.
Generalmente
le applicazioni che utilizziamo creano dei file necessari alla loro
esecuzione all'interno della cartella Libreria nella nostra cartella
Home (cioè quella cartella che ha il nostro nome utente).
Recentemente,
con la versione 10.7 di OS X, la suddetta cartella Libreria e'
apparentemente scomparsa dalla nostra Home! In realtà e' sempre li
al suo posto ma e' nascosta alla vista del Finder. Potete
raggiungerla andando con il mouse sul menu Vai del Finder e quindi
tenere premuto il tasto alt (anche detto option) per vederla
comparire nella lista delle cartelle e quindi selezionarla.
La cartella Libreria e' invisibile! |
All'interno
di Libreria ci sono molte cartelle, quelle che generalmente
dovrebbero contenere i file delle applicazioni sono:
- Application Support (Supporto Applicazioni);
- Preferences (Preferenze);
- PreferencePanes (Pannelli delle Preferenze).
Ho
sottolineato generalmente perché non tutti gli sviluppatori
rispettano le regole.
Il contenuto della cartella Libreria |
La
cartella Application Support sta li appositamente per contenere le
eventuali cartelle create dalle applicazioni installate, ma non e'
raro trovare la cartella di un programma all'interno di Libreria e al
di fuori di Application Support. Di solito queste cartelle hanno il
nome del programma che le ha generate o il nome dello sviluppatore.
Ad esempio Firefox crea la cartella Mozilla, mentre Skype crea la
cartella Skype.
Primo
passo per disinstallare completamente un programma e' quindi quello
di scovare ed eliminare la sua cartella.
Il
secondo posto dove andare a cercare e' Preferences (o anche
Preferenze). In questa cartella ci sono i file che memorizzano le
impostazioni dei programmi. I nomi di questi file più o meno
rispettano questo schema:
com.sviluppatore.nomeDelProgramma.prefs
o anche
org.sviluppatore.nomeDelProgramma.prefs
Di solito i programmi commerciali utilizzano com. mentre
quelli open source org.
Anche l'estensione finale .prefs può variare da
programma a programma, in alcuni può essere .preferences o in altri
può essere omessa.
In realtà, la maggior parte dei file presenti in questa
cartella ha il suffisso .plist, che sta per property list (lista
delle proprietà). E' un file di pochi kilobyte che di solito
contiene le impostazioni dell'interfaccia grafica del programma, tipo
le dimensioni e la posizione delle finestre, ecc...
Questi file vengono creati e aggiornati ad ogni avvio
del programma e nel caso vengano eliminati per errore, verranno
ripristinati con i valori di default. In alcuni casi e' utile
eliminarli quando l'applicazione di riferimento presenta
un'interfaccia corrotta o inutilizzabile. Eliminare il file plist e
riavviare l'applicazione spesso risolve il problema.
Nel nostro caso stiamo disinstallando un'applicazione e
quindi, una volta scovato il suddetto file possiamo cestinarlo.
Ultimo posto dove andare a cercare e' PreferencePanes.
In questa cartella ci sono i file con estensione .prefPane che
aggiungono un pannello delle preferenze a Preferenze di Sistema.
Andate a cercare qui solo se l'applicazione disinstallata ha un
pannello di preferenze visualizzato all'interno di Preferenze di
Sistema.
Fatto questo, nel 90% dei casi avete ripulito il sistema
da tutti i file generati dall'installazione di un programma.
Ricordatevi che non tutti gli sviluppatori rispettano le regole e
potreste trovare cartelle dedicate nei posti più impensabili, anche
in bella vista all'interno della vostra cartella Home.
Alcune applicazioni forniscono un programma di
disinstallazione, se presente usate quello e non rimuovete i file
manualmente per evitare problemi.
Ultimo consiglio, se non siete sicuri di quello che fate
e' meglio non gettare niente nel cestino e lasciare le cose come
stanno.
Iscriviti a:
Post (Atom)