
Hey Rails, nice Rack! - pius
http://brainspl.at/articles/2008/04/25/hey-rails-nice-rack
======
kirubakaran
Interesting how the domain is shown here with an extra period at the beginning
"Hey Rails, nice Rack! _(.brainspl.at)_ ". I am guessing it must be coz it is
a bare domain (no www) and pg is working his way backwards from the first
single / (or eol) and he expects at least three parts: TLD, domain name and
subdomain name and puts "." between each.

Update: Did a quick test.

Submitted: <http://127.0.0.1/this/that>

Showed up as: (1.0.0.127) !

Wow that is totally not what I expected.

~~~
raghus
That caught my eye too kirubakaran.

When I submit <http://127.0.0.1:3000>, I got "0.1:3000"

I submitted <http://localhost:3000> and ended up with ".localhost:3000"

Going with <http://192.168.1.104:3000>, I ended up with "1.104:3000"

When I go with a bare <http://127.0.0.1>, I also get the unexpected
"1.0.0.127"

~~~
kirubakaran
I am wondering what code could have this effect.

Off topic: I just signed up for FeedFlix. Looks really cool! Great job!
(update: submitted it to yc news)

~~~
raghus
Actually, someone suggested I look at the source code rather than submit a ton
of URLs and try to reverse-engineer the logic by looking at the results.
Here's the relevant code fron news.arc:

(defmemo sitename (url) (let toks (parse-site url) (if (isa (saferead (car
toks)) 'int) (tostring (prall toks "" ".")) (let (t1 t2 t3 . rest) toks (if
(or (mem t1 multi-tld-countries _) (and t3 (mem t2 long-domains_ ))) (string
t3 "." t2 "." t1) (string t2 "." t1))))))

; Minor bug: can have both google.at and google.co.at. Same for jp.

(= multi-tld-countries* '("uk" "jp" "au" "in" "ph" "tr" "za" "my" "nz" "br"
"mx" "th" "sg" "id" "pk" "eg" "il" "at"))

(= long-domains* '("blogspot" "wordpress" "livejournal" "blogs" "typepad"
"weebly" "blog-city" "com"))

~~~
kirubakaran
Thanks. I was being lazy too :)

