Uno dei problemi dell'internet attuale è che un utente scrive/utilizza/partecipa su tanti siti/servizi ma non è in grado di far interagire i vari fornitori tra loro (a meno di non ricaricare i dati).
Se più o meno tutti (i geek) sanno cos'è OpenID, ovvero uno standard per autenticare gli utenti su internet, di meno si conosce OAuth, ovvero uno standard usato da Google, Yahoo, Twitter,.. per autorizzare a terzi l'accesso ai nostri dati su un determinato servizio.
Immaginate di accedere a un sito che si occupa di stampe di foto, autorizzarlo ad accedere alle vostre foto su Flickr, selezionare quelle che vi interessano e farvele stampare. Sarà a cura dei 2 siti gestire la transazione senza farvi fare a voi nuovamente l'upload.

Il bello degli standard è che ognuno li implementa un po' come vuole, ma tra i problemi di sicurezza di OAuth 1.0 e il diffondersi di Facebook (Facebook Connect), adesso sembra che OAuth 1.0a sia qui per restare ed essere utilizzato al meglio da tutti.
Se dovete avere a che fare col sistema di pacchettizzazione multipiattaforma "gem" vi sconsiglio caldamente di usare il pacchetto "rubygems" per Debian/Ubuntu, oltre ad essere (inevitabilmente) indietro non potete autoaggiornarlo.
UPDATE: se non volete avere problemi usate ruby 1.8.7 o 1.9.1.378-1
UPDATE2: se avete ancora Timeout o Gem::RemoteFetcher::FetchError applicate questa patch. Tnx raggi su #rubygems
$ sudo gem update --system
Updating RubyGems
Updating rubygems-update
Successfully installed rubygems-update-1.3.6
Updating RubyGems to 1.3.6
Installing RubyGems 1.3.6
/usr/lib/ruby1.9/gems/1.9.0/gems/gemcutter-0.5.0/lib/gemcutter.rb:4:in `require': no such file to load -- rubygems/commands/migrate (LoadError)
from /usr/lib/ruby1.9/gems/1.9.0/gems/gemcutter-0.5.0/lib/gemcutter.rb:4:in `block in <top (required)>' ...
Il framework Rails 3.0 raggiungerà presto la versione 3.0pre, ma già ora è possibile apprezzare delle funzionalità interessanti: una su tutte la separazione tra HTML5 e Javascript (Unobstrusive Javascript - UJS). Pensate in un futuro prossimo di poter cambiare dei widget (es. Date picker) all'interno delle pagine web senza farvi venire il mal di testa e allo stesso tempo mantenere una "certa" compatibilità con i web browser sfigati.

Nonostante Ruby 1.9 sia già presente nei repository, la versione di default è ancora Ruby 1.8.7, quindi bisogna specificare se vogliamo quella nuova.
In passato abbiamo già trattato il tema un CMS modulare come Drupal per Ruby on Rails. Purtroppo quella strada non ha portato da nessuna parte.
Ora però ci sono delle interessanti novità nella comunità Ruby.

Un cms basato su Rails 2, modulare, con supporto alla localizzazione. Vi consiglio di vedere il video introduttivo, il sito ufficiale di Browser CMS, ma soprattutto il codic e su GitHub.
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
Commenti recenti
5 hours 37 min fa
4 days 8 hours fa
1 settimana 5 hours fa
1 settimana 7 hours fa
1 settimana 1 giorno fa
1 settimana 1 giorno fa
1 settimana 3 days fa
1 settimana 3 days fa
2 weeks 2 days fa
2 weeks 3 days fa