All posts by sittisal

Updated: The easiest and best way to install Ruby and Rails on OS X (Mountain) Lion

Update: a new version of JewelryBox (1.3) is out and is compatible with OS X Mountain Lion. You can download it from here.
The following procedure is still working with Mountain Lion and Xcode 4.4

It’s a long time since I wrote my last article on my blog. I’m back, talking about Ruby.

I don’t want to explain you what Ruby and Rails are or do, because if you want to install them you already know everything you need (I hope…).

With early Ruby release the installation of a complete Ruby environment was not totally painless. Now, with RVM and the great graphical front-end for Mac OS X, JewelryBox things are very simple, like 2-clicks.

With this article I’ll show you the step-by-step guide to install Ruby (1.9.3-p125) on Rails (3.2) on Mac OS X Lion (10.7.3).

Let’s talk about requirements:

1) First of all, you need to install Xcode developer tools 4.3 (free from the Mac App Store);

2) Second, you need to complete the Mac development environment installing the “Command Line Tools for Xcode” (LLVM compiler, Make, linker etc.)

To install “Command Line Tools for Xcode” open Xcode -> Preferences -> Downloads -> Components -> Install (on the right of Command Line Tools).

Installing Xcode Command Line Tools

3) Download JewelryBox from Unfiniti website and install it.

Download JewelryBox

4) Open JewelryBox, and install RVM clicking into “Install” button:

One click RVM install!

5) Once installation is complete, choose “+ Add Ruby” from the upper menu selecting which Ruby version do you want to install (1.9.3-p125 is the latest stable version actually), and leave all the default options enabled.

Leave Default Options

Note that in the older versions of Ruby (1.9.3-p0 or 1.9.2) and Xcode (4.2) you needed to select the “Use Clang” flag for a successful Ruby compiling, but this caused Rails installation to warning you about missing yaml (or libyaml) support. Now everything has gone.

6) All you need is? Rails. No, Terminal. Open the OS X Lion Terminal App and type:

$ sudo gem install rails

7) You’re ready to go, if the terminal output will look like:

$ <= 1.8.6 : unsupported
$ = 1.8.7 : gem install rdoc-data; rdoc-data –install
$ = 1.9.1 : gem install rdoc-data; rdoc-data –install
$ >= 1.9.2 : nothing to do! Yay!
$ Successfully installed … [cut]
$ Successfully installed rails-3.2.1
$ 31 gems installed
$ [cut]
$ _ (blinking)

8) Follow-up…You might ask yourself: “now what?”

  • If you need a great and powerful Ruby on Rails editor: Vim (from terminal) or MacVim are my favorites with rails.vim great scripts. Alternatives are the expensive TextMate, or the free Komodo Edit .
  • If you need some great books or resource to learn Ruby and/or Rails take a look at: Try Ruby, Agile Web Development with Rails.
  • If you want to comment this post, that would definitely be a great follow-up.

Hope you enjoyed this simple guide, have a nice day.

Solira: Linux@Evening 2010

Solira è lieta di confermare l’edizione 2010 della propria iniziativa “linux@evening“. Quest’anno sono in programma una serie di seminari con tematiche legate all’Informatica e, ove pertinente, all’uso del Software Libero. L’accesso ai seminari è del tutto libero e gratuito: non è necessaria alcuna prenotazione o iscrizione.

L’attuale calendario prevede i seguenti incontri:

  • 19 Febbraio: Introduzione alla Crittografia e a GnuPG;
  • 5 Marzo: Scrivere Documenti con LaTeX;
  • 19 Marzo: Introduzione a C++ e alla Programmazione Object Oriented (OO);
  • 26 Marzo: C++ Avanzato: Template e Librerie STL;
  • 9 Aprile: Introduzione alla Shell e agli Script;
  • 23 Aprile: UNIX: Struttura ed Evoluzione dei File-System;
  • 7 Maggio: Introduzione a Python.

Gli incontri si terranno presso la sede di Solira (via Matteotti n.71 – Ragusa) e avranno inizio alle ore 18:00.

Di seguito trovate la locandina dell’iniziativa: vi chiediamo di stamparla e di darne diffusione come potete.

Locandina del linux@evening 2010

Dedicato a Claudio Sittinieri

Tracce
Tracce
…quanti deserti hai attraversato… un anno è trascorso… la scansione del tempo si è persa, nel nulla. Le ore non battono, mentre trascorre l’eterenità come in un sogno. Le piste perdute ora a te sono chiare. I tuoi percorsi, le tue vie, ci parlano ancora di possibile “attraversabilità” anche dei tracciati impraticabili e senza riferimenti. Noi…nel provarci ci siamo persi. Non conosciamo il tuo spazio e siamo alla deriva, dove i sentimenti d’amicizia diventano deboli perché si colmano d’oblio. Indicaci ancora la pista allorché si configuri anche per noi come viaggio di conoscenza. Dopo un anno ti chiediamo la nostra identità: indefiniti, mutabili, sparsi, soggiogati dai nostri interessi, ciò nonostante ti vogliamo pensare, ricordare come ci apparivi, dolce e disponibile. Sui nostri cuori è rimasta incisa la tua perdita ma nella mente rinneghiamo la tua scomparsa. Il tuo tempo vissuto… troppo breve. L’istante della tua eclisse ci aiuta ad interiorizzare la tua passione e per fare che in noi il deserto diventi la metafora del mondo. Il gusto della terra che tu hai assaggiato prima di noi, nell’assentarti ci coglie impreparati, come bambini al freddo in attesa di un disastro collettivo. Alchimia di pensieri feroci sopiti dalla dolce fragilità del ricordo del tuo spirito mansueto. Ancora deserto, metafora della sofferenza e della morte, luogo dove il caos ed il disordine autorizza il rigenerarsi in uomini nuovi. Pensiamo ai tuoi figli, a tua moglie Maria Grazia ancora flagellati dalla sofferenza. Del ricordo. Dal senso di fine… immagine di un presente doloroso. Le ferite inflitte ai loro corpi sono riferimenti per nobili percorsi futuri, come valori rigeneranti nella indicazione di strade più giuste, utili in difesa delle continue sconfitte che presenta la vita…

Grazie Claudio!

Marino Alberto Zecchini

Kde 4 e l’usabilità…

…siamo sicuri che sia il giusto modo di procedere?

Smanettando su una macchina virtuale creata appositamente per testare gli sviluppi di Kubuntu Intrepid Ibex 8.10 ho analizzato diverse schermate del nuovo KDE 4.1.1.

La prima che vi propongo e’ quella relativa alla configurazione di Kontact, la suite PIM appena integrata nel branch 4.1.x di KDE:

A dirvi la verità mi sono trovato un po’ spaesato! Ed io che volevo solo configurare l’account di posta…

Questa invece è la schermata relativa alla scelta del layout di tastiera. Per impostare la tastiera italiana, un utente dovrebbe scegliere nell’elenco di sinistra la lingua, spostare la voce nell’elenco di destra e cambiare l’ordine dell’elenco di destra impostando come prima lingua quella appena passata. Un po’ scomodo no?

4 passi per impostare la lingua italiana? mmm…

Per il resto non ho notato ancora molto, ma vi prometto che vi terrò aggiornati. Comunque questo KDE4 mi dà ancora l’impressione di essere un continuo work-in-progress, e rimmarrà tale finche non metteranno un punto a livello di sviluppo di nuove funzionalità e cercheranno di rendere consistente e pulito l’ambiente allo stato attuale. Per il momento se dovessi consigliare ad un newbie di utilizzare Linux, l’usabilità, la semplicità e l’ergonomia di GNOME (da ieri alla 2.24) lo rendono attualmente il miglior desktop environment open source.

Vi lascio ancora con questa immagine secondo me *brutta* relativa alle icone della System Tray di KDE4. Faccio notare che questo “problema” persiste dalle primissime release alpha.

Resto in attesa di obiezioni, commenti eccetera…

linux@evening: Ragusa 18 giugno alle 18.00

Interessantissima conferenza organizzata da Solira in stile “amichevole” per iniziare ad utilizzare Ubuntu 8.04 e a svolgere le operazioni preliminari per essere subito operativi dal punto di vista della gestione del sistema, della connessione ad internet e della installazione dei programmi.

Scarica la locandina dell'evento!

I relatori saranno Mario Di Raimondo, Nunzio Brugaletta e Salvatore Sittinieri. Vi aspettiamo alle 18.00 >>QUI<< .

E’ possibile scaricare da qui le slide della mia presentazione (Comunicare con il resto del mondo).

Ciao Papà.

Il vento che ti ha perseguitato durante il tuo ultimo viaggio in Tunisia, quel vento che al passaggio muove montagne di sabbia, agita gli oceani… come eri solito tu, papà, smuovere, divertire, far gioire le vite di chi ti stava a fianco.

Il vento, che tanto avevi odiato, era dentro di te e adesso è libero. E con la facilità con cui solleva i sottili e millenari granelli di sabbia del Sahara, adesso tu risollevaci dai nostri dolori ed accompagnaci per sempre.

Salvo.

Configurare NetBeans per sviluppare con le OpenCV

La seguente guida e’ orientata a chi vuole impostare l’ambiente di sviluppo NetBeans per lavorare ad un progetto C/C++/OpenCV. La guida e’ applicabile in ambienti Linux, o Mac OS. Su Windows questa guida ha senso solo se e’ installato il compilatore GNU per C e C++ (dipende da Cygwin).

Il primo prerequisito da soddisfare consiste nell’installare le librerie OpenCV di Intel, disponibili nei repository ufficiali della propria distribuzione Linux, o installabili su Mac OS X tramite MacPorts. Il secondo prerequisito e’ l’IDE NetBeans scaricabile gratuitamente all’indirizzo http://www.netbeans.org .

NetBeans e’ il mio IDE preferito per via della sua completezza in materia di linguaggi di programmazione e tecnologie supportate. Da Java e Java EE (definibili come linguaggi preferiti di NetBeans) a svariati Database e Application Server ad altri linguaggi e sintassi quali HTML, JSP, Ruby, Phyton, C e C++ e perfino UML.

Inoltre e’ OpenSource e disponbile per tutte le piattaforme (Windows, Mac OS, Linux, Solaris).

Attualmente ad esempio sto lavorando ad un progetto di Computer Vision (in C e C++) e contemporaneamente ad una piattaforma di Business Intelligence in Java Enterprise.
Grazie a NetBeans posso lavorare a due progetti differenti, scritti in codici diversi che utilizzano tecnologie e piattaforme diverse con un unico strumento.

Adesso veniamo a noi…

Per iniziare a preparare l’ambiente e adattarlo alla programmazione C/C++ bisogna scaricare il modulo di Netbeans atto a svolgere tale compito:

  • Apriamo NetBeans e andiamo su Tools->Plugins.
  • Nella scheda “Available Plugins” segniamo C/C++ e aspettiamo che NetBeans scarichi per noi i pacchetti necessari all’installazione della funzionalità.

Adesso nella voce File->New Project tra le “Categories” troveremo la cartella C/C++ e potremo cosi’ creare un nuovo progetto C/C++.

  • Creiamo una nuova applicazione e andiamo avanti fino ad ottenere la schermata principale di NetBeans con il nuovo progetto nella scheda Projects.
  • Clicchiamo col destro sul nodo principale del progetto (che corrisponde al nome assegnato al progetto) e scegliamo proprietà.

Aggiungiamo adesso il supporto per le OpenCV:

  • Nella categoria C/C++, espandiamo C compiler e scegliamo la scheda General.
  • Clicchiamo sul pulsante (…) alla destra di “Include Directories” e impostiamo il percorso degli include delle OpenCV (/usr/local/include/opencv o /opt/local/include/opencv su Mac OS se avete installato le OpenCV con MacPorts).
  • Ripetete la stessa procedura per la categoria C++ compiler.

Adesso impostiamo il linker alle librerie dinamiche di OpenCV:

  • Nella categoria Linker, nella voce Libraries clicchiamo sulla (…) alla destra di Libraries, clicchiamo su Add Library File, ed aggiungiamo le librerie libcv.so, libcvaux.so, libcxcore.so e libhighgui.so (Linux su /usr/local/lib) oppure libcv.dylib, libcvaux.dylib, libcxcore.dylib e libhighgui.dylib (Mac OS su /opt/local/lib se avete installato le OpenCV con MacPorts).
  • Sempre nella categoria Linker nella voce General clicchiamo sulla (…) alla destra di Additional Library Directories ed aggiungiamo il percorso delle librerie (/usr/local/lib su Linux, /opt/local/lib su Mac OS X)

Applichiamo le impostazioni e adesso il vostro progetto dovrebbe essere pronto ad utilizzare le librerie OpenCV.

Imparare a programmare con Apple: Objective C, Cocoa ed Xcode

Non riuscendo assolutamente a stare fermo durante il tempo libero, ho iniziato un percorso di apprendimento alla programmazione e allo sviluppo sul mondo Mac.

Mac OS X e’ un sistema operativo potente, pulito, consistente e molto organizzato, e queste proprietà derivano direttamente dalla qualità del Framework che Apple ha consolidato da diversi anni (a partire da NextStep).

Come per ogni nuova tecnologia da imparare ed assimilare, la curva di apprendimento puo’ essere in certi casi molto lunga e poco efficiente.

Lo scopo di questo post e’ quello di condividere il mio percorso di apprendimento con i visitatori del sito.

Pertanto ecco di seguito i passi da seguire per chi vuole inziare a sviluppare software per Mac OS X :

1) Iniziate a leggere questo fantastico libro, utile anche a chi e’ agli esordi della programmazione: Become an Xcoder (scaricabile gratuitamente in inglese); è disponibile anche la versione italiana tradotta da Xcodeitalia.com: Diventare un Xcoder.

2) Dopo aver familiarizzato con C, Objective C ed Xcode, potete subito mettere in atto quanto appreso dallo studio effettuato, tramite una bella esercitazione guidata direttamente da Apple: Start Developing Mac Apps Today o la versione iOS Start Developing iOS Apps Today.

Dopo questi due passi sarete in grado di scrivere codice in Objective C, creare interfacce grafice e far interagire le due cose. A questo punto dovreste essere in grado di camminare da soli grazie alla valanga di documentazione che Apple mette a disposizione su http://developer.apple.com.

3) Per approfondire Objective C potete consultare: Programming with Objective-C.

4) Per approfondire Cocoa: What Is Cocoa?

A questo punto non mi resta che augurarvi buon divertimento, e un grosso in bocca al lupo per tutti i segmentation fault, i warning e gli errori di compilazione che incontrerete nel vostro “path”.

Buone feste

Un augurio personale di buon Natale e felice anno nuovo ai navigatori erranti che per caso o volutamente transitano su questo blog nel periodo festivo piu’ bello dell’anno. Divertitevi, rilassatevi e godetevi l’amore, la famiglia, gli amici e le passioni.

Un tocco informatico: sotto, l’immagine di natalizia di Google, come al solito semplice e spiritosa!

holiday07_4.gif