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
2 notes
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