I ringraziamenti vanno a Carlos per la versione originale e alla comunità Ruby Italia per la traduzione.
La versione italiana è praticamente tradotta, ma è ancora da revisionare. Se volete partecipare ai lavori fate riferimento al wiki e al progetto su Github.
In modo analogo è partito dal forum un'iniziativa per creare della documentazione in italiano su git.
Chi avrà visto qualche screencast su Mac OSX avrà notato che esiste un modo per visualizzare i tasti premuti sullo schermo.
L'utilità non è fondamentale, ma è utile per chi vuole imparare qualcosa di più.

(ctrl + s, per salvare)
Queste notifiche dovrebbero essere gestite tramite Growl e anche su Linux abbiamo le nostre alternative (notify e mumbles), il problema maggiore rimane: come prendere tutti i tasti premuti dall'utente?
~$ cat /dev/input/event1
Putroppo (e per fortuna, vedi keylogger) per accedere a questo device bisogna essere root, ma è possibile fare qualcosa di analogo anche su Linux.

Git è il VCS, secondo Linus Torvalds, che è stato scelto per Linux, Freedesktop, Ruby on Rails e altri progetti importanti.
Il perché si può riassumere in prestazioni e decentramento. Git è molto veloce e permette di mantenere traccia delle modifiche senza essere online.
cd mio-progetto/
git init # crea la configurazione in .git/
git add . # aggiunge tutti i file presenti
git commit -m "progetto iniziale"
git clone git://sitoweb.com/mio-progetto.git
git checkout -b nuova_feature_x
# Fai ora le tuo modifiche sensazionali
git status # vedi cosa hai modificato
git commit -m "ottimizzo qui, ottimizzo lì"
# ... altre modifiche
git checkout master # torno nel ramo principale
git pull # prendo eventuali modifiche fatte da altri su master
git checkout nuova_feature_x
# .. altri adattamenti e modifiche
git checkout master
git merge nuova_feature_x # il nuovo ramo viene unito a master
git push # aggiorna il repository remoto
git format-patch master --stdout > tutte-modifiche-del-mio-ramo-su-master.diff
..e inviarla a qualcuno.
Per annullare le modifiche locali:
git checkout -f
Gedit sta diventando sempre più il "Textmate per Linux". Un nuovo plugin che vale la pena di segnalare è Line Tools.
Una volta abilitato potrete gestire le linee di codice in modo molto più semplice.
Sul wiki di Ubuntu si trovano alcune "vie" per installare Ruby on Rails, ma dopo averlo installato vi renderete conto che non basta qualche articolo o screencast per saperlo usare.
La documentazione ufficiale è fatta abbastanza bene ed disponibile online, ma per svariate ragioni potrebbe essere utile averla offline o comunque all'ultima versione possibile.
Quindi:
rails progetto-di-prova
cd progetto-di-prova
Se avete installato rails con rubygems usate:
rake rails:freeze:gems
Altrimenti o se volete l'ultima versione disponibile in svn
rake rails:freeze:edge
Adesso potete usare il comando
rake doc:rails
Dopo un po' di tempo trovere in doc/api tutta la documentazione che cercate. Vi conviene spostarla altrove e pulire il progetto.
rake rails:unfreeze
Diamo uno sguardo a Bazaar (il VCS di Ubuntu) e a come utilizzarlo per gestire un progetto fatto con Ruby on Rails.
Si tratta di uno strumento molto utile per gestire le modifiche fatte ai file (VCS) e le sue caratteristiche principali sono l'essere:

Riunificazione di 2 rami locali: myapp e myapp.experimental
Potete installarlo selezionando bzr e bzr-gtk da Synaptic o con
apt-get install bzr bzr-gtk
Se volete avere le ultime versioni disponibili aggiungete questo repository
deb http://bazaar-vcs.org/releases/debs/feisty ./
Per chi non lo sapesse un progetto Rails non contiene solo codice sorgente, ma anche file di configurazione, file temporanei, database, che ovviamente non vogliamo tener traccia nel VCS.
Questo utilizzo potrebbe sembrare specifico, ma problematiche molto simili sono comuni a molti altri contesti.
rails myapp
cd myapp
bzr init # Crea la cartella .bzr
bzr add # Aggiunge ricorsivamente i file presenti
script/server # Parte il server Rails, CTRL+C
Ecco uno screencast su Gedit e alcuni plugin utili per la programmazione.
Potete anche scaricare il video in alta qualità o dare uno sguardo a Gedit Textmate-like per altre informazioni e l'abilitazione della colorazione della sintassi per i file RHTML
UPDATE: A !! new version !! of this guide is avalaible.
UPDATE: This guide was for gedit 2.18.x, please upgrade to gedit 2.20.x to have an easier color scheme managing. Textmate is really a great text-editor (almost an IDE but faster), it has even the support for latest Ruby/Rails technologies like RSpec. On the GNU/Linux side there are also similar full-featured text editor and one is Gedit.
Gedit can be extended by plugins written in C or in Python, here is a tutorial how to set up a Textmate-like Gedit.
By default Gedit supports a lot of languages php, C#, java,.. and Ruby, but Ruby embedded. To enable the sintax highlight in HTML files with embedded ruby code (.rhtml) you have to add 2 files (Thanks to Bitsbam).
From the terminal:
$ wget http://grigio.org/files/x-rhtml.xml; sudo mv x-rhtml.xml /usr/share/mime/packages
$ wget http://grigio.org/files/rhtml.lang; sudo mv rhtml.lang /usr/share/gtksourceview-1.0/language-specs/
The list of the plugins avalaible is growing fast; this is a list of plugins that work well each other.

Snippets: it permits to call structures of code easly and everytime you press TAB the cursor automatically jumps to the right position
Snap Open: it opens the files that contains the word you are typing

=begin
° Introduzione
Ci sono tanti linguaggi di programmazione, il C per il "basso livello",
il Php per il web, il Visual Basic per le interfacce veloci, Java per le
applicazioni multipiattaforma, Bash per lo scripting di sistema, il Perl
per gli exploit..
Tutti simili e ognuno con le proprie peculiarità. Il C rimarrà ancora per
molto lo standard per il basso livello, ma ad alto livello ci sono state
innovazioni che non tutti i linguaggi di programmazione hanno considerato.
Questo documento non ha la pretesa di essere esaustivo sull'argomento
Avete installato GNU/Linux, lo utilizzate, ma volete andare oltre. ... Il software libero è bello anche perché c'è il codice quindi perché non approfittarne per imparare qualcosa di nuovo?
In questo howto analizzeremo in generale un caso sufficientemente specifico. L'obiettivo non è diventare dei guru della programmazione, ma raggiungere l'obiettivo conoscendo un minimo i "blocchi" che ci interessano.
Indipendente dalle capacità tecniche, chi contribuisce al software (filosoficamente) libero o (tecnicamente) Open Source lo fa per uno o più dei seguenti motivi:
- Adattare al meglio il software alle nostre esigenze
- Interesse nel campo specifico
- Lavoro / soldi
- ...
In questo caso il motivo interessato è il primo perché "Se metto uno sfondo chiaro al Desktop di GNOME(Nautilus), i caratteri non si leggono bene".
Purtroppo questo valore non si può cambiare, neanche con un tema, perché questa informazione è proprio scritta nel codice (hardcoded). Non resta quindi che mettere mano al codice e risolverlo in qualche modo.
I colori verranno poi gestiti dall'interfaccia dei temi e a seconda della tonalità del desktop, verrà usato il viola o il giallo-verdino (che ovviamente l'utente potrà cambiare).


Ovviamente questa modifica è molto semplice da fare e non è neanche detto che venga accettata, comunque è un buon esempio giusto per iniziare.
Prima di avventurarvi nel codice del programma, potrebbe interessarvi, almeno a grandi linee, come è stato strutturato. In questo modo eviterete di vagare in parti che non vi interessano.
Mi dicono..
3 hours 14 min fa
20 hours 31 min fa
23 hours 39 min fa
1 giorno 23 min fa
1 giorno 36 min fa
1 giorno 3 hours fa
1 giorno 8 hours fa
1 giorno 13 hours fa
1 settimana 2 days fa
1 settimana 4 days fa