ruby, personale, web March 30, 2007 8:03 am (Save post)
Nella comunità ruby (che ahimé, non seguo come un tempo) c’è sempre stata un sacco di gente interessante. Oddio, il SNR è peggiorato molto negli ultimi due anni ma sorvoliamo.
Tra questa gente interessante, c’è chris, che:
- programma da dio
- in una dozzina di linguaggi
- mi ha fatto scoprire che si può implementare call/pc con call/cc in un linguaggio imperativo
- ha sense of humor
- è dannatamente più giovane di me e ne sa il quadruplo, di tutto
Oggi, innalzo le lodi di chris blogs, il suo blog che compie tre anni, e dei due anni di Anarchaia, l’insalata mista più bella della rete.
Eh già, perché è stato lui ha inventare i tumblelog, per quanto credo che il nome l’abbia inventato _why. D’altronde ora c’è tumblr che ha un sacco successo, ma io ho sempre pensato che il tuo tumblelog devi scriverlo da te
E siccome io ne ho scritt una dozzina e poi non li ho mai pubblicati, e siccome ne avevo uno che mi son dimenticato di postare nel’ultimo anno, eccovi il mio tumblelog minimale, che si ottiene mettendo questo codice in rub.rb in un’applicazione nitro.
Non so se funzioni ancora. Forse funziona con Ramaze.
require \'nitro_and_og\'
require \'glue/timestamped\'
require \'skin\'
require \'nitro/helper/feed\'
require \'part/admin\'
class Thing
is Og::SchemaInheritanceBase, TimestampedOnCreate
property :text, :control=>:textarea
property :title
def to_href
\"/thing/#{oid}\"
end
def to_html
%(<p class=\"thing\">#{text}</p>)
end
end
def thing(p, &block)
Class.new(Thing) do
property p, String
define_method :to_html, block
end
end
Quote = thing(:author) {\"<blockquote>%s</blockquote>\"%text}
Irc = thing(:channel) {\"<pre>%s</pre><p>on %s</p>\"%[text,channel]}
Snippet = thing(:language) {\"<pre>%s</pre>\"%text}
Image = thing(:url) {\'<img src=\"%s\" alt=\"%s\"/><p> %s</p>\'%[url,title,text]}
Link = thing(:url) {\'<a href=\"%s\">%s</a>, %s\'%[url,title,text]}
Og.setup # default sqlite
class Home < Nitro::Controller
helper :feed, :pager
def atom
response.content_type = "application/atom+xml"
build_atom Thing.latest,
:title => "Tum! Atom Feed",
:base=> "http://my.domain.info"
end
def login(pass)
session[:ADMIN]=true if pass == 'password'
end
end
Nitro.run(Home)

