June 2011
1 post
6 tags
Dual boot Linux SATA HD and Windows IDE HD with...
Ok vediamo come fare: Creiamo un file /etc/grub.d/11_windows come segue: #!/bin/sh -e echo "Found Windows XP" >&2 cat << EOF menuentry "Window XP" { drivemap (hd0) (hd1) drivemap (hd1) (hd0) set root=(hd1,1) chainloader +1 } EOF Ricordate che in grub2 la mappatura degli HD e delle partizioni e` cambiata: sda1 => hd0,1 sda2 => hd0,2 sdb1 => hd1,1 sdc2 => hd2,2 ...
Jun 25th
21 notes
February 2011
1 post
4 tags
init.d script to run Apache SOLR
Copiate il seguente script in /etc/init.d/solr #!/bin/sh PATH=/opt/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin NAME=solr DESC=apache-solr VERSION=1.4.1 SOLR_PATH=/opt/solr-$VERSION COMMAND=/usr/bin/java OPTIONS="-Dsolr.solr.home=$SOLR_PATH/solr -Djetty.home=$SOLR_PATH -jar $SOLR_PATH/start.jar" PIDFILE=/var/run/$NAME.pid test -x $COMMAND || exit 0 test -f...
Feb 25th
1 note
January 2011
1 post
Goobalize3 Goobalize3 (Google + Globalize3) is useful to auto translate the attributes of your activerecord models. If you have a model with some attributes translated with Globalize3 you can in easy way auto translate them via Google Translate. Installation As gem: put gem 'goobalize3' in your Gemfile As plugin: run rails plugin install git@github.com:pioz/goobalize3.git Requirements ...
Jan 24th
December 2010
1 post
2 tags
Ruby pre-defined variables
$! The exception information message set by ‘raise’. $@ Array of backtrace of the last exception thrown. $& The string matched by the last successful match. $` The string to the left of the last successful match. $' The string to the right of the last successful match. $+ The highest group matched by the last successful match. $1 ...
Dec 21st
1 note
November 2010
1 post
4 tags
Use Ruby like PHP
E se volessimo usare Ruby come PHP? Senza Rails o qualche strano framework? Vediamo come fare con Apache… Per prima cosa installiamo Apache2 apt-get install apache2 Andiamo ad abilitare l’esecuzione dei CGI con i seguenti comandi: a2enmod cgid a2enmod actions Modifichiamo il file /etc/apache2/sites-available/default e aggiungiamo: <Directory /var/www/> AddHandler...
Nov 17th
1 note
October 2010
1 post
4 tags
Run a rake task with Capistrano
Beh aggiungiamo una ricetta al nostro deploy.rb desc "Run a task on a remote server." task :invoke do if ENV['task'] run("cd #{deploy_to}/current && rake #{ENV['TASK']} RAILS_ENV=production") else puts 'usage: cap invoke TASK=task_name' end end A questo punto possiamo lanciare il rake task sul server remoto: cap invoke TASK=asset:packager:build_all
Oct 21st
August 2010
1 post
2 tags
Shared repository with git
Per creare una repository condivisa (read+write permissions) da piu` utenti appartenenti allo stesso gruppo createla col seguente comando: git init --shared=true Per condividere una repository gia` esistente: git repo-config core.sharedRepository true
Aug 4th
July 2010
5 posts
MacPorts memo
Update MacPorts sudo port selfupdate List all avaiable ports port list Display installed ports port installed Display outdated ports port outdated Search ports port search gtk Get info of a port port info rb-gtk2 Install a port sudo port install rb-gtk2 Deletes all intermediate files that MacPorts creates while building a port sudo port clean --all rb-gtk2 Upgrade a...
Jul 29th
4 tags
Check PageRank of a website with Ruby
Vediamo un’ottima gemma per Ruby per verificare il PageRank di Google di un sito web. La gemma in questione si chiama pageranker e la potere installare nel classico modo: sudo gem install pageranker Una volta installata potete usarla nei seguenti due modi: $ pageranker 'pioz.it' oppure da integrare nel vostro codice: irb(main):001:0> require 'rubygems' =>...
Jul 21st
3 tags
Jul 21st
3 tags
Recursive call: Ruby vs Python
Facciamo un piccolo test: calcoliamo Fibonacci ricorsivamente in Ruby (v1.9.1) e in Python (v2.5.1) e vediamo chi vince Ruby Fibonacci code (f.rb) def fib(n) if n == 0 || n == 1 n else fib(n-1) + fib(n-2) end end 36.times { |i| fib(i) } Python Fibonacci code (f.py) def fib(n): if n == 0 or n == 1: return n else: return fib(n-1) + fib(n-2) for i in range(36): ...
Jul 16th
4 tags
Ruby script to rename and reorder by date your...
Di seguito uno script che rinomina le foto con estensione jpg o JPG con numero crescente, esempio cimg0285 -> 001.jpg cimg0342 -> 002.jpg .... cimg1078 -> 121.jpg Inoltre ordina le foto in base alla data di scatto della foto. Come dipendenza installate la gemma exifr per leggere i metadati di un file JPEG: sudo gem install exifr Di seguito il codice: #!/usr/bin/ruby # Script by...
Jul 1st
June 2010
1 post
Youtube flv 2 mp3
Vediamo come convertire un video flv di Youtube in mp3 usando ffmpeg. Per prima cosa dobbiamo ottenere l’URL esatto del video per poter scaricare l’flv. Per far cio` ci serve un token che cambia nel tempo ma che possiamo ottenere dal file video_info; scarichiamolo: http://www.youtube.com/get_video_info?video_id=VugK063j0Zo Questo file contiene una serie di valori in stile...
Jun 7th
May 2010
3 posts
Create apt repository
Vediamo come creare una repository apt. Per far cio` usiamo l’utiliti reprepro: sudo apt-get install reprepro ora creiamo una directory di lavoro e il file di configurazione: mkdir -p repository/conf nano repository/conf/distributions Il file distributions sara` una cosa del genere: Origin: Company name Label: Pioz's debian repository Suite: stable Codename: debian SignWith:...
May 14th
GIMDB - GTK graphical interface for the Internet...
gimdb e` un programma che ti permette di esplorare l’Internet Movie DataBase di Amazon. E` scritto in Ruby e usa la libreria grafica GTK. gimdb scarica le informazioni dei film che richiedi e le salva in un database sqlite3 locale. Puoi creare utenti e salvare per ognuno di loro i film da vedere, i film visti e i film preferiti. gimdb puo` anche lavorare in modalita` offline cercando i...
May 8th
Scrolling with trackpad with Thinkpad on Ubuntu...
Con questo trick riuscirete a scrillare le pagine usando il trackpad del vostro Thinkpad tenendo premuto il tasto centrale. Create il nuovo file /usr/lib/X11/xorg.conf.d/20-thinkpad.conf e incollateci il seguente: Section "InputClass" Identifier "Trackpoint Wheel Emulation" MatchProduct "TrackPoint" MatchDevicePath "/dev/input/event*" Driver "evdev" Option "EmulateWheel"...
May 6th
March 2010
5 posts
Set Gtk::Label wrap dinamically
Ahime` come si sa` le Gtk::Label non supportano il wrapping dinamico su resize. Vabbe`, estendiamo Gtk::Label e iimplementiamo il wrap dinamico. Ecco la classe in Ruby: require 'gtk2' class WrapLabel < Gtk::Label def initialize(s = '') super() self.wrap = true self.wrap_mode = Pango::WRAP_WORD_CHAR self.set_alignment(0.0, 0.0) self.text = s ...
Mar 25th
Balloon widget in GTK
Bello vero?? Magari un giorno spieghero` come creare un widget GTK personalizzato manipolando la renderizzazione con Cairo…
Mar 15th
Switching ruby1.8 to ruby1.9 in MacOSX
Allora se usate MacOSX e avete installato XCode avrete anche Ruby 1.8. Ora vediamo come installare anche Ruby 1.9 e switchare tra le due versioni. Per prima cosa usando Macports installiamo Ruby 1.9 sudo port install ruby19 Adesso possiamo questo semplice script in bash per switchare tra le due versioni #!/usr/bin/env bash rbv=$(ruby -v) rv=${rbv:5:3} function r18 () { ln -s...
Mar 12th
GTK ruby application with Glade
Vediamo oggi come creare un’applicazione GTK in ruby utilizzando la potenza di Glade, il disegnatore di interfacce. Per prima cosa installiamo glade e le librerie necessarie per il tutto: sudo apt-get install glade sudo apt-get install libgnome2-ruby sudo apt-get install libglade2-ruby Bene ora apriamo Glade e disegnamo la nostra interfaccia. Salviamola e generaimo il template...
Mar 10th
2 tags
Create Facebook application in Ruby on Rails
Vediamo come creare una semplicissima app per facebook in Rails che stampa ‘Hello NOME_UTETE_FACEBOOK COGNOME_UTETE_FACEBOOK’ Per prima cosa installiamo la gemma facebooker sudo gem install facebooker Poi creiamo un’app vuota rails myfaceapp e il plugin facebooker per rails ./script/plugin install git://github.com/mmangino/facebooker.git Ok creiamo un controller,...
Mar 5th
February 2010
2 posts
Streaming link Radio 105
http://shoutcast.unitedradio.it:1101 http://shoutcast.unitedradio.it:1301 invece e` Radio Virgin.
Feb 24th
Customize Globalize2 to return default locale when...
Globalize2 (fantastico plugin per Ruby on Rails per globalizzare la nostra applicazione [tradurre il contenuti nel DB]) ritorna nil se non trova una traduzione per un campo del DB. Questo in molti casi e` un pacco e sarebbe bello che ritornasse il valore del locale di default. Per fare cio` andiamo ad modificare globalize2. Prendiamo il file in...
Feb 2nd
January 2010
2 posts
4 tags
Send mail with attachment via ruby SMTP
Vediamo come inviare una mail con allegato usando l’API di Ruby per SMTP. Di seguito il codice: def send_newsletter body = "Testo del messaggio" filecontent = File.read("allegato.pdf") encodedcontent = [filecontent].pack("m") # base64 marker = "AUNIQUEMARKER" # Define the main headers. part1 =<<EOF From: from@mail.com <Pioz> To: <to@mail.it> Subject: Oggetto...
Jan 18th
Inline RJS on controller
Beh, renderizziamo un rjs direttamente dal controller… easy: def index @polli = Polli.all render(:update) { |page| page.alert('Yeah') } end
Jan 5th
December 2009
1 post
10 tags
Multi domain mail server with Postfix, Dovecot and...
Allora in questa guida vedremo come installare e configurare un mail server professionale. Il tutto e` stato testato in una Debian 5.0 stable. Con questo server mail sara` possibile gestire piu` domini e quindi per esempio allo stesso tempo mantenere mail del tipo @pioz.it e @barison.org. Il tutto avverra` dando la possibilita` all’utente se utilizzare comunicazioni criptate (come SSL o...
Dec 11th
November 2009
9 posts
4 tags
TwinView with nvidia Xorg
Vediamo come collegare la TV al nostro PC, piu` precisamente alla nostra scheda video nvidia. Ovviamente la TV deve essere collegata col cavo SVIDEO e i driver nvidia installati e funzionanti. Configureremo la TV in modalita` clone. Apriamo col nostro editor preferito il file di configurazione: $ nano /etc/X11/xorg.org Alla fine della sezione screen aggiungiamo le seguenti righe Option...
Nov 24th
5 tags
Sound Notify: a Pidgin plugin
Sound Notify e` un plugin per Pidgin (per me il migliore client di IM) che permette di notificare l’utente, riproducendo un determinato file audio, quando un determinato contatto diventa online. E` molto bello perche` ad ogni vostro contatto potete associare un file audio diverso che verra` riprodotto ogni volta che quel contatto diventa online. Per prima cosa scarichiamo il plugin: ...
Nov 20th
1 tag
Distinguish database field from method with same...
Non so se vi e` mai capitato… Supponiamo di avere un modello, per esempio News con un campo nel database public_on che indica la data di pubblicazione della news. Ora se quando viene creata la news non viene impostato nessun valore per public_on esso risulta nullo e quindi se chiamiamo my_news.public_on otteniamo nil. E` veramente un pacco ogni volta fare un if per verificare se questo campo...
Nov 13th
2 tags
Include rjs in rjs
Se volete includere un rjs in un altro rjs potere usare questa linea di codice: page << render(:file => "path/del/vostro.js.rjs")
Nov 12th
2 tags
PDF in rails
Vediamo come generare PDF in un’app Rails. Per la generazione utilizziamo Prawn e per l’integrazione con Rails il plugin Prawnto. Installiamoli: $ sudo gem install prawn $ ./script/plugin install git://github.com/thorny-sun/prawnto.git Ok, ora supponiamo di voler manipolare un modello Clienti e quindi abbiamo un modello (client.rb) un controller (clients_controller.rb) e delle...
Nov 11th
1 tag
List directory in Ruby
# List recusirvely all not hidden files and directories in /home/foo files = `find /home/foo \\( ! -regex '.*/\\..*' \\)` files.each do |f| puts f end
Nov 6th
1 tag
ListenAdoro gli AC/DC… Ascoltate questa canzone:...
Nov 5th
Nov 5th
Hi all
Hi all, this is my first post. So, I can write only one thing: HELLO WORLD. Dato che ci sono pochi blog in italiano che parlano di Rails penso che scrivero` nella mia lingua madre sperando possa essere utile a qualcuno.
Nov 5th