avaticon 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- data/ChangeLog +4 -0
- data/README.rdoc +37 -0
- data/Rakefile +142 -0
- data/lib/avaticon.rb +104 -0
- data/lib/siteinfo.json +66 -0
- data/test/avaticon_test.rb +48 -0
- data/test/html/flickr_kusaker +829 -0
- data/test/html/github_kzys +631 -0
- data/test/html/hatena_swdyh +67 -0
- data/test/html/lastfm_youpy +1666 -0
- data/test/html/nowa_yuiseki +524 -0
- data/test/html/turnyournameintoaface_ucnv +32 -0
- data/test/html/twitter_swdyh +1172 -0
- data/test/html/wassr_kotoriko +1276 -0
- data/test/test_helper.rb +3 -0
- metadata +88 -0
data/ChangeLog
ADDED
data/README.rdoc
ADDED
@@ -0,0 +1,37 @@
|
|
1
|
+
|
2
|
+
= avaticon
|
3
|
+
|
4
|
+
A library for getting web service user icon.
|
5
|
+
|
6
|
+
== Description
|
7
|
+
|
8
|
+
|
9
|
+
== Installation
|
10
|
+
|
11
|
+
=== Archive Installation
|
12
|
+
|
13
|
+
rake install
|
14
|
+
|
15
|
+
=== Gem Installation
|
16
|
+
|
17
|
+
gem sources -a http://gems.github.com (you only have to do this once)
|
18
|
+
sudo gem install swdyh-avaticon
|
19
|
+
|
20
|
+
== Features/Problems
|
21
|
+
|
22
|
+
|
23
|
+
== Synopsis
|
24
|
+
|
25
|
+
avt = Avaticon.new
|
26
|
+
|
27
|
+
# get icon
|
28
|
+
icon_url = avt.get_icon 'twitter', 'swdyh'
|
29
|
+
|
30
|
+
# search by url
|
31
|
+
icon_url = avt.search_by_url 'http://twitter.com/swdyh'
|
32
|
+
|
33
|
+
== Copyright
|
34
|
+
|
35
|
+
Author:: swdyh http://mailhide.recaptcha.net/d?k=01AhB7crgrlHptVaYRD0oPwA==&c=L_iqOZrGmo6hcGpPTFg1QYnjr-WpAStyQ4Y8ShfgOHs=
|
36
|
+
Copyright:: Copyright (c) 2008 swdyh
|
37
|
+
License:: The MIT License
|
data/Rakefile
ADDED
@@ -0,0 +1,142 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'rake'
|
3
|
+
require 'rake/clean'
|
4
|
+
require 'rake/testtask'
|
5
|
+
require 'rake/packagetask'
|
6
|
+
require 'rake/gempackagetask'
|
7
|
+
require 'rake/rdoctask'
|
8
|
+
require 'rake/contrib/rubyforgepublisher'
|
9
|
+
require 'rake/contrib/sshpublisher'
|
10
|
+
require 'fileutils'
|
11
|
+
include FileUtils
|
12
|
+
|
13
|
+
NAME = "avaticon"
|
14
|
+
AUTHOR = "swdyh"
|
15
|
+
EMAIL = ""
|
16
|
+
DESCRIPTION = "A library for getting web service user icon."
|
17
|
+
RUBYFORGE_PROJECT = "avaticon"
|
18
|
+
HOMEPATH = "http://#{RUBYFORGE_PROJECT}.rubyforge.org"
|
19
|
+
BIN_FILES = %w( )
|
20
|
+
VERS = "0.0.6"
|
21
|
+
|
22
|
+
REV = File.read(".svn/entries")[/committed-rev="(d+)"/, 1] rescue nil
|
23
|
+
CLEAN.include ['**/.*.sw?', '*.gem', '.config']
|
24
|
+
RDOC_OPTS = [
|
25
|
+
'--title', "#{NAME} documentation",
|
26
|
+
"--charset", "utf-8",
|
27
|
+
"--line-numbers",
|
28
|
+
"--main", "README.rdoc",
|
29
|
+
"--inline-source",
|
30
|
+
]
|
31
|
+
|
32
|
+
task :default => [:test]
|
33
|
+
task :package => [:clean]
|
34
|
+
|
35
|
+
Rake::TestTask.new("test") do |t|
|
36
|
+
t.libs << "test"
|
37
|
+
t.pattern = "test/**/*_test.rb"
|
38
|
+
t.verbose = true
|
39
|
+
end
|
40
|
+
|
41
|
+
spec = Gem::Specification.new do |s|
|
42
|
+
s.name = NAME
|
43
|
+
s.version = VERS
|
44
|
+
s.platform = Gem::Platform::RUBY
|
45
|
+
s.has_rdoc = true
|
46
|
+
s.extra_rdoc_files = ["README.rdoc", "ChangeLog"]
|
47
|
+
s.rdoc_options += RDOC_OPTS + ['--exclude', '^(examples|extras)/']
|
48
|
+
s.summary = DESCRIPTION
|
49
|
+
s.description = DESCRIPTION
|
50
|
+
s.author = AUTHOR
|
51
|
+
s.email = EMAIL
|
52
|
+
s.homepage = HOMEPATH
|
53
|
+
s.executables = BIN_FILES
|
54
|
+
s.rubyforge_project = RUBYFORGE_PROJECT
|
55
|
+
s.bindir = "bin"
|
56
|
+
s.require_path = "lib"
|
57
|
+
s.autorequire = ""
|
58
|
+
s.test_files = Dir["test/test_*.rb"]
|
59
|
+
|
60
|
+
s.add_dependency('hpricot', '>= 0.6')
|
61
|
+
#s.add_dependency('activesupport', '>=1.3.1')
|
62
|
+
#s.required_ruby_version = '>= 1.8.2'
|
63
|
+
|
64
|
+
s.files = %w(README.rdoc ChangeLog Rakefile) +
|
65
|
+
Dir.glob("{bin,doc,test,lib,templates,generator,extras,website,script}/**/*") +
|
66
|
+
Dir.glob("ext/**/*.{h,c,rb}") +
|
67
|
+
Dir.glob("examples/**/*.rb") +
|
68
|
+
Dir.glob("tools/*.rb")
|
69
|
+
|
70
|
+
s.extensions = FileList["ext/**/extconf.rb"].to_a
|
71
|
+
end
|
72
|
+
|
73
|
+
Rake::GemPackageTask.new(spec) do |p|
|
74
|
+
p.need_tar = true
|
75
|
+
p.gem_spec = spec
|
76
|
+
end
|
77
|
+
|
78
|
+
task :install do
|
79
|
+
name = "#{NAME}-#{VERS}.gem"
|
80
|
+
sh %{rake package}
|
81
|
+
sh %{sudo gem install pkg/#{name}}
|
82
|
+
end
|
83
|
+
|
84
|
+
task :uninstall => [:clean] do
|
85
|
+
sh %{sudo gem uninstall #{NAME}}
|
86
|
+
end
|
87
|
+
|
88
|
+
|
89
|
+
Rake::RDocTask.new do |rdoc|
|
90
|
+
rdoc.rdoc_dir = 'html'
|
91
|
+
rdoc.options += RDOC_OPTS
|
92
|
+
rdoc.template = "resh"
|
93
|
+
#rdoc.template = "#{ENV['template']}.rb" if ENV['template']
|
94
|
+
if ENV['DOC_FILES']
|
95
|
+
rdoc.rdoc_files.include(ENV['DOC_FILES'].split(/,\s*/))
|
96
|
+
else
|
97
|
+
rdoc.rdoc_files.include('README.rdoc', 'ChangeLog')
|
98
|
+
rdoc.rdoc_files.include('lib/**/*.rb')
|
99
|
+
rdoc.rdoc_files.include('ext/**/*.c')
|
100
|
+
end
|
101
|
+
end
|
102
|
+
|
103
|
+
desc "Publish to RubyForge"
|
104
|
+
task :rubyforge => [:rdoc, :package] do
|
105
|
+
require 'rubyforge'
|
106
|
+
Rake::RubyForgePublisher.new(RUBYFORGE_PROJECT, 'swdyh').upload
|
107
|
+
end
|
108
|
+
|
109
|
+
desc 'Package and upload the release to rubyforge.'
|
110
|
+
task :release => [:clean, :package] do |t|
|
111
|
+
v = ENV["VERSION"] or abort "Must supply VERSION=x.y.z"
|
112
|
+
abort "Versions don't match #{v} vs #{VERS}" unless v == VERS
|
113
|
+
pkg = "pkg/#{NAME}-#{VERS}"
|
114
|
+
|
115
|
+
rf = RubyForge.new
|
116
|
+
puts "Logging in"
|
117
|
+
rf.login
|
118
|
+
|
119
|
+
c = rf.userconfig
|
120
|
+
# c["release_notes"] = description if description
|
121
|
+
# c["release_changes"] = changes if changes
|
122
|
+
c["preformatted"] = true
|
123
|
+
|
124
|
+
files = [
|
125
|
+
"#{pkg}.tgz",
|
126
|
+
"#{pkg}.gem"
|
127
|
+
].compact
|
128
|
+
|
129
|
+
puts "Releasing #{NAME} v. #{VERS}"
|
130
|
+
rf.add_release RUBYFORGE_PROJECT, NAME, VERS, *files
|
131
|
+
end
|
132
|
+
|
133
|
+
desc 'Show information about the gem.'
|
134
|
+
task :debug_gemspec do
|
135
|
+
puts spec.to_ruby
|
136
|
+
end
|
137
|
+
|
138
|
+
desc 'Update information about the gem.'
|
139
|
+
task :update_gemspec do
|
140
|
+
open("#{NAME}.gemspec", 'w') { |f| f.puts spec.to_ruby }
|
141
|
+
end
|
142
|
+
|
data/lib/avaticon.rb
ADDED
@@ -0,0 +1,104 @@
|
|
1
|
+
require 'open-uri'
|
2
|
+
require 'rubygems'
|
3
|
+
require 'nokogiri'
|
4
|
+
require 'json'
|
5
|
+
|
6
|
+
class Avaticon
|
7
|
+
BASE_PATH = File.dirname(__FILE__)
|
8
|
+
DEFAULT_SITEINFO_PATH = File.join(BASE_PATH, 'siteinfo.json')
|
9
|
+
attr_accessor :siteinfo
|
10
|
+
|
11
|
+
def initialize opt = {}
|
12
|
+
@siteinfo = []
|
13
|
+
@tw_id = opt[:tw_id]
|
14
|
+
@tw_pw = opt[:tw_pw]
|
15
|
+
(opt[:siteinfo_path] || DEFAULT_SITEINFO_PATH).each do |i|
|
16
|
+
load_siteinfo i
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
def load_siteinfo path
|
21
|
+
JSON.parse(open(path).read).each do |i|
|
22
|
+
# 1.9 feature
|
23
|
+
# index = @siteinfo.index { |j| j['service_name'] == i['service_name']}
|
24
|
+
index = nil
|
25
|
+
@siteinfo.each_with_index do |j, ind|
|
26
|
+
if j['service_name'] == i['service_name']
|
27
|
+
index = ind
|
28
|
+
break
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
if index
|
33
|
+
@siteinfo[index] = i
|
34
|
+
else
|
35
|
+
@siteinfo.push i
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
def get_icon service, user_id
|
41
|
+
info = @siteinfo.find { |i| i['service_name'] == service }
|
42
|
+
if info
|
43
|
+
url = info['iconPageUrl'].gsub('{user_id}', user_id)
|
44
|
+
html = Avaticon.get_html(url, :tw_id => @tw_id, :tw_pw => @tw_pw)
|
45
|
+
icon = Nokogiri::HTML(html).at(info['iconImageElement'])
|
46
|
+
if icon
|
47
|
+
Avaticon.path2url url, icon['src']
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
def search_by_url url
|
53
|
+
@siteinfo.each do |i|
|
54
|
+
m = Regexp.new(i['url']).match(url)
|
55
|
+
if m
|
56
|
+
return get_icon(i['service_name'], m.to_a[1])
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
def services
|
62
|
+
@siteinfo.map{ |i| i['service_name'] }
|
63
|
+
end
|
64
|
+
|
65
|
+
def self.path2url url, path
|
66
|
+
#FIXME
|
67
|
+
case path
|
68
|
+
when /^http/
|
69
|
+
path
|
70
|
+
when /^\//
|
71
|
+
u = URI.parse(url)
|
72
|
+
u.path = path
|
73
|
+
u.to_s
|
74
|
+
else
|
75
|
+
# url + path
|
76
|
+
tmp = url.split('/')
|
77
|
+
(tmp[0..(tmp.size - 2)] << path).join('/')
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
81
|
+
def self.get_html url, opt = {}
|
82
|
+
open(url).read
|
83
|
+
# if /twitter.com/ === url
|
84
|
+
# Avaticon.get_tw_html url, opt
|
85
|
+
# else
|
86
|
+
# open(url).read
|
87
|
+
# end
|
88
|
+
end
|
89
|
+
|
90
|
+
def self.get_tw_html url, opt = {}
|
91
|
+
require 'mechanize'
|
92
|
+
agent = WWW::Mechanize.new
|
93
|
+
agent.user_agent_alias = 'Mac Safari'
|
94
|
+
page = agent.get'http://twitter.com/login'
|
95
|
+
login_form = page.forms.find { |i|
|
96
|
+
i.action == 'https://twitter.com/sessions'
|
97
|
+
}
|
98
|
+
login_form.fields.find { |i| i.name == 'session[username_or_email]'}.value = opt[:tw_id]
|
99
|
+
login_form.fields.find { |i| i.name == 'session[password]'}.value = opt[:tw_pw]
|
100
|
+
login_form.submit
|
101
|
+
agent.get(url).body
|
102
|
+
end
|
103
|
+
end
|
104
|
+
|
data/lib/siteinfo.json
ADDED
@@ -0,0 +1,66 @@
|
|
1
|
+
[
|
2
|
+
{
|
3
|
+
"service_name": "twitter",
|
4
|
+
"url": "^http:\/\/twitter\\.com\/([^.\/]+)",
|
5
|
+
"iconPageUrl": "http:\/\/twitter.com\/{user_id}",
|
6
|
+
"iconImageElement": "\/\/img[@id=\"profile-image\"]",
|
7
|
+
"exampleUrl": "http:\/\/twitter.com\/swdyh",
|
8
|
+
"exampleImageUrl": "http:\/\/s3.amazonaws.com\/twitter_production\/profile_images\/51990802\/IMAG8174_bigger.JPG"
|
9
|
+
},
|
10
|
+
{
|
11
|
+
"service_name": "wassr",
|
12
|
+
"url": "^http:\/\/wassr\\.jp\/user\/([^.\/]+)",
|
13
|
+
"iconPageUrl": "http:\/\/wassr.jp\/user\/{user_id}",
|
14
|
+
"iconImageElement": "\/\/div[@class=\"image\"]\/a\/img",
|
15
|
+
"exampleUrl": "http:\/\/wassr.jp\/user\/kotoriko",
|
16
|
+
"exampleImageUrl": "http:\/\/wassr.jp\/user\/kotoriko\/profile_img.png.128.1212746583"
|
17
|
+
},
|
18
|
+
{
|
19
|
+
"service_name": "hatena",
|
20
|
+
"url": "^http:\/\/[^.]+\\.hatena.ne\\.jp\/([^.\/]+)",
|
21
|
+
"iconPageUrl": "http:\/\/www.hatena.ne.jp\/{user_id}\/",
|
22
|
+
"iconImageElement": "\/\/img[@class=\"profile-image\"]",
|
23
|
+
"exampleUrl": "http:\/\/www.hatena.ne.jp\/swdyh\/",
|
24
|
+
"exampleImageUrl": "http:\/\/www.hatena.ne.jp\/users\/sw\/swdyh\/profile.gif"
|
25
|
+
},
|
26
|
+
{
|
27
|
+
"service_name": "nowa",
|
28
|
+
"url": "^http:\/\/([^.\/]+)\\.nowa\\.jp\/profile\/",
|
29
|
+
"iconPageUrl": "http:\/\/{user_id}.nowa.jp\/profile\/",
|
30
|
+
"iconImageElement": "\/\/div[@class=\"basic-information\"]\/img",
|
31
|
+
"exampleUrl": "http:\/\/yuiseki.nowa.jp\/profile\/",
|
32
|
+
"exampleImageUrl": "http:\/\/image.nowa.jp\/icon\/00000011c1be13a9decc002ed6f1505814cae91870a1759-o.jpg"
|
33
|
+
},
|
34
|
+
{
|
35
|
+
"service_name": "lastfm",
|
36
|
+
"url": "^http:\/\/www\\.lastfm\\.jp\/user\/([^.\/]+)",
|
37
|
+
"iconPageUrl": "http:\/\/www.lastfm.jp\/user\/{user_id}",
|
38
|
+
"iconImageElement": "\/\/span[@class=\"userImage\"]\/img",
|
39
|
+
"exampleUrl": "http:\/\/www.lastfm.jp\/user\/youpy",
|
40
|
+
"exampleImageUrl": "http:\/\/userserve-ak.last.fm\/serve\/126\/936583.jpg"
|
41
|
+
},
|
42
|
+
{
|
43
|
+
"service_name": "flickr",
|
44
|
+
"url": "^http:\/\/www\\.flickr\\.com\/people\/([^.\/]+)\/",
|
45
|
+
"iconPageUrl": "http:\/\/www.flickr.com\/people\/{user_id}\/",
|
46
|
+
"iconImageElement": "\/\/td[@class=\"Buddy\"]\/a\/img",
|
47
|
+
"exampleUrl": "http:\/\/www.flickr.com\/people\/kusaker\/",
|
48
|
+
"exampleImageUrl": "http:\/\/farm1.static.flickr.com\/128\/buddyicons\/39255132@N00.jpg?1169585056#39255132@N00"
|
49
|
+
},
|
50
|
+
{
|
51
|
+
"service_name": "github",
|
52
|
+
"url": "^http:\/\/github\\.com\/([^.\/]+)",
|
53
|
+
"iconPageUrl": "http:\/\/github.com\/{user_id}",
|
54
|
+
"iconImageElement": "\/\/div[@class=\"identity\"]\/img",
|
55
|
+
"exampleUrl": "http:\/\/github.com\/kzys",
|
56
|
+
"exampleImageUrl": "http:\/\/www.gravatar.com\/avatar\/7828b45f8396aa361d85cead01fd99ca?s=50&d=http%3A%2F%2Fgithub.com%2Fimages%2Fgravatars%2Fgravatar-50.png"
|
57
|
+
},
|
58
|
+
{
|
59
|
+
"service_name": "turnyournameintoaface",
|
60
|
+
"url": "^http://turnyournameintoaface.com/\\\?name=([^.\/]+)",
|
61
|
+
"iconPageUrl": "http://turnyournameintoaface.com/?name={user_id}",
|
62
|
+
"iconImageElement": "\/\/p[@class=\"image\"]\/img",
|
63
|
+
"exampleUrl": "http://turnyournameintoaface.com/?name=ucnv",
|
64
|
+
"exampleImageUrl": "http://turnyournameintoaface.com/face/10100311.png"
|
65
|
+
}
|
66
|
+
]
|
@@ -0,0 +1,48 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/test_helper.rb'
|
2
|
+
|
3
|
+
require "test/unit"
|
4
|
+
require 'mocha'
|
5
|
+
|
6
|
+
REMOTE_TEST = ENV['REMOTE_TEST'] == 'true'
|
7
|
+
MOCK_HTML_DIR = File.join 'test', 'html'
|
8
|
+
|
9
|
+
class AvaticonTest < Test::Unit::TestCase
|
10
|
+
|
11
|
+
def prepare_stubs service, user_id
|
12
|
+
unless REMOTE_TEST
|
13
|
+
path = File.join(MOCK_HTML_DIR, [service, user_id].join('_'))
|
14
|
+
Avaticon.stubs(:get_html).returns(IO.read(path))
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
def test_siteinfo_example_url
|
19
|
+
avt = Avaticon.new
|
20
|
+
avt.siteinfo.each do |s|
|
21
|
+
m = Regexp.new(s['url']).match(s['exampleUrl'])
|
22
|
+
assert m
|
23
|
+
assert_equal 2, m.to_a.size
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
def test_get_icon
|
28
|
+
avt = Avaticon.new
|
29
|
+
avt.siteinfo.each do |s|
|
30
|
+
m = Regexp.new(s['url']).match(s['exampleUrl'])
|
31
|
+
service = s['service_name']
|
32
|
+
user_id = m.to_a[1]
|
33
|
+
prepare_stubs service, user_id
|
34
|
+
icon_url = avt.get_icon service, user_id
|
35
|
+
assert_equal s['exampleImageUrl'], icon_url
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
def test_search_by_url
|
40
|
+
avt = Avaticon.new
|
41
|
+
s = avt.siteinfo[0]
|
42
|
+
m = Regexp.new(s['url']).match(s['exampleUrl'])
|
43
|
+
user_id = m.to_a[1]
|
44
|
+
prepare_stubs s['service_name'], user_id
|
45
|
+
assert_equal s['exampleImageUrl'], avt.search_by_url(s['exampleUrl'])
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
@@ -0,0 +1,829 @@
|
|
1
|
+
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title>Flickr: kusaker</title>
|
5
|
+
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
6
|
+
<meta name="keywords" content="photography, digital photography, cameraphones, camera, hobby photography, photo, digital camera, compactflash, smartmedia, cameras, canon, nikon, olympus, fujifilm, video">
|
7
|
+
<meta name="description" content="Flickr is almost certainly the best online photo management and sharing application in the world. Show off your favorite photos and videos to the world, securely and privately show content to your friends and family, or blog the photos and videos you take with a cameraphone.">
|
8
|
+
<meta http-equiv="imagetoolbar" content="no">
|
9
|
+
<meta name="viewport" content="width=820" />
|
10
|
+
<link href="http://l.yimg.com/g/css/c_flickr.css.v59787.14" rel="stylesheet" type="text/css">
|
11
|
+
<link rel="shortcut icon" type="image/ico" href="/favicon.ico">
|
12
|
+
<link href="http://l.yimg.com/g/css/c_profile.css.v35667.14" rel="stylesheet" type="text/css" />
|
13
|
+
<link href="http://l.yimg.com/g/css/c_contacts.css.v45805.14" rel="stylesheet" type="text/css" />
|
14
|
+
<link href="http://l.yimg.com/g/css/c_search.css.v57483.14" rel="stylesheet" type="text/css" />
|
15
|
+
|
16
|
+
<!--[if LT IE 7]>
|
17
|
+
<style type="text/css">
|
18
|
+
.trans_png {
|
19
|
+
behavior: url('/javascript/pngbehavior2.htc');
|
20
|
+
border:0;
|
21
|
+
}
|
22
|
+
</style>
|
23
|
+
<![endif]-->
|
24
|
+
|
25
|
+
<link href="http://l.yimg.com/g/css/intl/c_en-us.css.v33225.14" rel="stylesheet" type="text/css">
|
26
|
+
|
27
|
+
<script type="text/javascript">
|
28
|
+
var global_magisterLudi = '48c6bbc703d6a02e51ff6591490f941a',
|
29
|
+
global_auth_hash = '89d44653b4f795eb9de5f5e64856b86e',
|
30
|
+
global_auth_token = '',
|
31
|
+
global_flickr_secret = 'b06793b1c5ccb653',
|
32
|
+
global_slideShowVersion = '6708',
|
33
|
+
global_slideShowCodeVersion = '34351',
|
34
|
+
global_slideShowVersionV2 = '33427',
|
35
|
+
global_slideShowCodeVersionV2 = '49745',
|
36
|
+
global_slideShowTextVersion = '58886',
|
37
|
+
global_slideShowVersionV3 = '59913',
|
38
|
+
global_nsid = '',
|
39
|
+
global_ispro = 0,
|
40
|
+
global_dbid = '',
|
41
|
+
global_name ='',
|
42
|
+
global_expire ='',
|
43
|
+
global_icon_url ='http://l.yimg.com/g/images/buddyicon.jpg#',
|
44
|
+
global_tag_limit = '75',
|
45
|
+
global_collection_depth_limit = 5,
|
46
|
+
global_stewartVersion = '60247',
|
47
|
+
global_contact_limit = '3000',
|
48
|
+
global_eighteen = 1,
|
49
|
+
global_group_limit = 10,
|
50
|
+
global_photos_ids_limit = 20,
|
51
|
+
disable_stewart = 0;
|
52
|
+
disable_geo = 0;
|
53
|
+
var global_rper = 0;
|
54
|
+
|
55
|
+
var global_intl_lang = 'en-us';
|
56
|
+
|
57
|
+
var _photo_root = 'http://farm.static.flickr.com/';
|
58
|
+
var _site_root = 'http://www.flickr.com';
|
59
|
+
var _images_root = 'http://l.yimg.com/g/images';
|
60
|
+
var _intl_images_root = 'http://l.yimg.com/g/images/en-us';
|
61
|
+
|
62
|
+
|
63
|
+
var do_bbml = 0;
|
64
|
+
|
65
|
+
</script>
|
66
|
+
|
67
|
+
|
68
|
+
<script type="text/javascript" src="http://l.yimg.com/g/javascript/global.js.v58474.14"></script>
|
69
|
+
|
70
|
+
<script type="text/javascript">
|
71
|
+
|
72
|
+
</script>
|
73
|
+
|
74
|
+
|
75
|
+
|
76
|
+
|
77
|
+
|
78
|
+
|
79
|
+
|
80
|
+
|
81
|
+
|
82
|
+
|
83
|
+
|
84
|
+
|
85
|
+
|
86
|
+
|
87
|
+
|
88
|
+
|
89
|
+
|
90
|
+
|
91
|
+
|
92
|
+
|
93
|
+
|
94
|
+
|
95
|
+
|
96
|
+
|
97
|
+
|
98
|
+
|
99
|
+
|
100
|
+
|
101
|
+
|
102
|
+
|
103
|
+
<script type="text/javascript" src="http://l.yimg.com/g/javascript/fold_main.js.v48851.48851.48851.48851.48851.38771.48851.48851.60501.38771.38771.49635.38771.38771.38771.39083.55689.53587.38771.57388.38771.60180.14"></script>
|
104
|
+
<script type="text/javascript" src="http://l.yimg.com/g/javascript/video.js.v55944.14"></script>
|
105
|
+
<script type="text/javascript" src="http://l.yimg.com/g/javascript/swfobject.js.v55944.14"></script>
|
106
|
+
|
107
|
+
|
108
|
+
<script type="text/javascript" src="http://l.yimg.com/g/javascript/slideshow3.js.v59253.14"></script>
|
109
|
+
|
110
|
+
<link href="http://l.yimg.com/g/css/c_sharing.css.v57426.14" rel="stylesheet" type="text/css">
|
111
|
+
|
112
|
+
<script type="text/javascript" src="http://l.yimg.com/g/javascript/s_output_en-us.js.9cd45e469cef593118863d07b30f5c95"></script>
|
113
|
+
|
114
|
+
<script type="text/javascript">
|
115
|
+
|
116
|
+
YAHOO.util.Event.addListener(window, 'load', F._window_onload);
|
117
|
+
YAHOO.util.Event.addListener(window, 'resize', F._window_onresize);
|
118
|
+
YAHOO.util.Event.addListener(window, 'blur', F._window_onblur);
|
119
|
+
YAHOO.util.Event.addListener(window, 'focus', F._window_onfocus);
|
120
|
+
YAHOO.util.Event.addListener(window, 'unload', F._window_onunload);
|
121
|
+
|
122
|
+
</script>
|
123
|
+
|
124
|
+
|
125
|
+
|
126
|
+
<script type="text/javascript">
|
127
|
+
var global_joinDate = F.convert_unix_time_stamp('');
|
128
|
+
var global_time_stamp = '080926164740';
|
129
|
+
|
130
|
+
|
131
|
+
fixMaxWidth_getWidth = (navigator.userAgent.match(/MSIE 6/i)?function(el) {
|
132
|
+
return el.currentStyle['max-width'];
|
133
|
+
}:function(el){
|
134
|
+
return el.currentStyle['maxWidth'];
|
135
|
+
});
|
136
|
+
|
137
|
+
fixMaxWidth = function(el) {
|
138
|
+
try {
|
139
|
+
el.runtimeStyle.behavior = 'none';
|
140
|
+
var mw = fixMaxWidth_getWidth(el);
|
141
|
+
var nmw = parseInt(mw,10) || 10000;
|
142
|
+
var cW = parseInt(el.offsetWidth);
|
143
|
+
var cH = parseInt(el.offsetHeight);
|
144
|
+
var ratio = (cH/cW);
|
145
|
+
if (el.offsetWidth>nmw) {
|
146
|
+
el.style.width = (nmw+'px');
|
147
|
+
if (!isNaN(cH) && cH) {
|
148
|
+
el.style.height = (Math.ceil(nmw*ratio)+'px');
|
149
|
+
}
|
150
|
+
}
|
151
|
+
} catch(e) {
|
152
|
+
// oh well
|
153
|
+
}
|
154
|
+
}
|
155
|
+
|
156
|
+
|
157
|
+
|
158
|
+
// Dean Edwards/Matthias Miller/John Resig
|
159
|
+
|
160
|
+
/* for Mozilla/Opera9 */
|
161
|
+
if (document.addEventListener) {
|
162
|
+
document.addEventListener("DOMContentLoaded", F._window_onload_dom, false);
|
163
|
+
}
|
164
|
+
|
165
|
+
/* for Internet Explorer */
|
166
|
+
/*@cc_on @*/
|
167
|
+
/*@if (@_win32)
|
168
|
+
document.write("<script id=__ie_onload defer src=javascript:void(0)><\/script>");
|
169
|
+
var script = document.getElementById("__ie_onload");
|
170
|
+
script.onreadystatechange = function() {
|
171
|
+
if (this.readyState == "complete") {
|
172
|
+
F._window_onload_dom(); // call the onload handler
|
173
|
+
}
|
174
|
+
};
|
175
|
+
/*@end @*/
|
176
|
+
|
177
|
+
/* for Safari */
|
178
|
+
if (/WebKit/i.test(navigator.userAgent)) { // sniff
|
179
|
+
F.onload_dom_timer = setInterval(function() {
|
180
|
+
if (/loaded|complete/.test(document.readyState)) {
|
181
|
+
F._window_onload_dom(); // call the onload handler
|
182
|
+
}
|
183
|
+
}, 10);
|
184
|
+
}
|
185
|
+
|
186
|
+
|
187
|
+
|
188
|
+
</script>
|
189
|
+
|
190
|
+
<!--[if IE]>
|
191
|
+
<style type="text/css">
|
192
|
+
|
193
|
+
img.notsowide {
|
194
|
+
behavior:expression(fixMaxWidth(this));
|
195
|
+
}
|
196
|
+
|
197
|
+
</style>
|
198
|
+
<![endif]-->
|
199
|
+
|
200
|
+
|
201
|
+
|
202
|
+
|
203
|
+
<body>
|
204
|
+
|
205
|
+
<div id="beacon"><img src="http://geo.yahoo.com/f?s=792600091&t=d8c6117929c5cfcb968455ebbc3262d5&fl_ev=0&lang=en&intl=us" width="0" height="0" alt="" /></div>
|
206
|
+
|
207
|
+
<a name="top"></a>
|
208
|
+
|
209
|
+
|
210
|
+
|
211
|
+
|
212
|
+
|
213
|
+
|
214
|
+
|
215
|
+
|
216
|
+
<div class="TopBar" id="TopBar">
|
217
|
+
<table cellspacing="0" class="Header" border="0">
|
218
|
+
<tr>
|
219
|
+
<td class="FlickrLogo">
|
220
|
+
<a href="/"><img src="http://l.yimg.com/g/images/flickr_logo_gamma.gif.v59899.14" id="FlickrLogo" width="98" height="26" alt="Flickr logo. If you click it, you'll go home" />
|
221
|
+
</a>
|
222
|
+
</td>
|
223
|
+
<td class="Status">
|
224
|
+
|
225
|
+
|
226
|
+
|
227
|
+
You aren't signed in
|
228
|
+
|
229
|
+
<a href="/signin/">Sign In</a>
|
230
|
+
|
231
|
+
<a href="/help/">Help</a>
|
232
|
+
</td>
|
233
|
+
</tr>
|
234
|
+
</table>
|
235
|
+
<table cellspacing="0" class="NavBar" border="0">
|
236
|
+
<tr>
|
237
|
+
<td class="Primary">
|
238
|
+
|
239
|
+
<div id="candy_nav_button_bar" class="candy_button_bar">
|
240
|
+
<ul class="site_nav_menu_buttons">
|
241
|
+
|
242
|
+
<li class="no_menu_li"><span><a href="/">Home</a></span></li>
|
243
|
+
|
244
|
+
|
245
|
+
<li class="no_menu_li"><span><a href="/tour/" alt="Take the Flickr tour">The Tour</a></span></li>
|
246
|
+
|
247
|
+
<li class="no_menu_li"><span><a href="/signup/" alt="Sign Up for a Free Account">Sign Up</a></span></li>
|
248
|
+
|
249
|
+
|
250
|
+
|
251
|
+
<li class="menu_li" id="candy_nav_button_explore"><span><a href="/explore/" alt="Explore Flickr">Explore</a> <img src="http://l.yimg.com/g/images/site_nav_caret_split_default.png" class="nav_button_caret" width="18" height="15" alt="More options"></span>
|
252
|
+
<div class="candy_menu" id="candy_nav_menu_explore">
|
253
|
+
<a href="/explore/">Explore Page</a>
|
254
|
+
<a href="/explore/interesting/7days/">Last 7 Days Interesting</a>
|
255
|
+
<a href="/photos/tags/">Popular Tags</a>
|
256
|
+
<a href="/explore/interesting/2008/09/">Calendar</a>
|
257
|
+
<a href="/photos/">Most Recent Uploads</a>
|
258
|
+
<a href="/explore/video/">Video on Flickr</a>
|
259
|
+
<a href="/analog/">Explore Analog</a>
|
260
|
+
<!--<a href="/explore/interesting/2007/09/">A Year Ago Today</a>-->
|
261
|
+
|
262
|
+
<a title="Photos and videos on a map" href="/map/" class="menu_item_line_above">World Map</a> <a href="/places/">Places</a>
|
263
|
+
<a href="/commons/" class="menu_item_line_above">The Commons</a>
|
264
|
+
<a href="/creativecommons/">Creative Commons</a>
|
265
|
+
|
266
|
+
<a href="http://blog.flickr.com/" class="menu_item_line_above">FlickrBlog</a>
|
267
|
+
<a href="http://code.flickr.com/">code.flickr</a>
|
268
|
+
<a href="/services/">Flickr Services</a>
|
269
|
+
|
270
|
+
<a href="/do/more/" class="menu_item_line_above">Do More, Order Prints</a>
|
271
|
+
<a href="/cameras/">Camera Finder</a> </div>
|
272
|
+
</li>
|
273
|
+
|
274
|
+
</ul>
|
275
|
+
</div>
|
276
|
+
<script type="text/javascript">F.decorate(_ge('candy_nav_button_bar'), F._nav_button_bar).bar_go_go_go();</script>
|
277
|
+
|
278
|
+
|
279
|
+
|
280
|
+
</td>
|
281
|
+
|
282
|
+
|
283
|
+
|
284
|
+
|
285
|
+
|
286
|
+
<td id="search_header_form_td">
|
287
|
+
<form action="/search/" method="get" onsubmit="_do_header_search('', 'tags', '/search/', '', '');return false;" id="headersearchform">
|
288
|
+
<input name="q" id="header_search_q" type="text" class="Box" value="">
|
289
|
+
<input name="w" type="hidden" value="">
|
290
|
+
<input name="m" type="hidden" value="tags">
|
291
|
+
<input name="s" type="hidden" value="">
|
292
|
+
<input name="mt" type="hidden" value="">
|
293
|
+
<span id="headersearchbutton1"><input value="Search" type="image" src="http://l.yimg.com/g/images/header_search_button.png" /></span>
|
294
|
+
</form>
|
295
|
+
</td>
|
296
|
+
<td id="search_header_button_td" width="82">
|
297
|
+
|
298
|
+
<div id="candy_search_button_bar" class="candy_button_bar" style="">
|
299
|
+
<ul class="site_nav_menu_buttons">
|
300
|
+
<li class="menu_li" id="candy_nav_button_search"><span><a href="/search/" onclick="_do_header_search('', 'tags', '/search/', '', '');return false;">Search</a> <img src="http://l.yimg.com/g/images/site_nav_caret_split_default.png" class="nav_button_caret" width="18" height="15" alt="More options"></span>
|
301
|
+
<div class="candy_menu" id="candy_nav_menu_search">
|
302
|
+
<a title="Everyone's Uploads" href="/search/" onclick="_do_header_search('all', null, null, null, ''); return false;"><b>·</b> Everyone's Uploads</a>
|
303
|
+
<a title="Groups" href="/search/groups/" onclick="_do_header_search('', '', '/search/groups/'); return false;">Groups</a>
|
304
|
+
<a title="Flickr Members" href="/search/people/" onclick="_do_header_search('', 'names', '/search/people/'); return false;">Flickr Members</a>
|
305
|
+
<a title="For a Location" href="/map/" onclick="_do_header_search('location', '', '/map/'); return false;">For a Location</a>
|
306
|
+
</div>
|
307
|
+
</li>
|
308
|
+
</ul>
|
309
|
+
</div>
|
310
|
+
|
311
|
+
<script type="text/javascript">F.decorate(_ge('candy_nav_button_search'), F._nav_button).button_go_go_go();</script>
|
312
|
+
|
313
|
+
<script type="text/javascript">
|
314
|
+
var b1 = _ge('headersearchbutton1');
|
315
|
+
b1.parentNode.removeChild(b1);
|
316
|
+
|
317
|
+
_ge('search_header_form_td').style.paddingBottom = '2px';
|
318
|
+
|
319
|
+
_ge('candy_search_button_bar').style.display = 'block';
|
320
|
+
|
321
|
+
|
322
|
+
var f = _ge('headersearchform');
|
323
|
+
|
324
|
+
if (f.q.value == '') f.q.style.color = '#999';
|
325
|
+
|
326
|
+
f.q.onfocus = function() {
|
327
|
+
if (this.value == '') this.value = '';
|
328
|
+
this.style.color = '#222';
|
329
|
+
if (window.ymap) ymap._disableKeys = true;
|
330
|
+
}
|
331
|
+
|
332
|
+
f.q.onblur = function() {
|
333
|
+
if (this.value != '') return;
|
334
|
+
this.style.color = '#999';
|
335
|
+
this.value = '';
|
336
|
+
if (window.ymap) ymap._disableKeys = false;
|
337
|
+
}
|
338
|
+
|
339
|
+
var _do_header_search = function(w, m, action, s, mt) {
|
340
|
+
var f = _ge('headersearchform');
|
341
|
+
if (f.q.value == '') f.q.value = '';
|
342
|
+
f.q.value = f.q.value.trim();
|
343
|
+
|
344
|
+
|
345
|
+
// do location search if the location search window is open, or if w == 'location'
|
346
|
+
if (w == 'location' || (_ge('loc_search_div') && _ge('loc_search_div').style.display != 'none')) {
|
347
|
+
if (!_ge('loc_search_div')) {
|
348
|
+
// create the location search crap!
|
349
|
+
var div = document.createElement('div');
|
350
|
+
div.id = 'loc_search_div';
|
351
|
+
document.body.appendChild(div);
|
352
|
+
|
353
|
+
var page_type = 'site';
|
354
|
+
F.decorate(div, F._loc_search_div).div_go_go_go(page_type);
|
355
|
+
}
|
356
|
+
try {_ge('loc_search_div').div_do_loc_search()} catch(err) {writeDebug(err)};return false;
|
357
|
+
return;
|
358
|
+
}
|
359
|
+
|
360
|
+
|
361
|
+
|
362
|
+
|
363
|
+
f.w.value = w;
|
364
|
+
f.m.value = (m) ? m : '';
|
365
|
+
f.s.value = (s) ? s : '';
|
366
|
+
f.mt.value = (mt) ? mt : '';
|
367
|
+
f.action = (action) ? action : '/search/';
|
368
|
+
|
369
|
+
if (f.m.value == 'tags' && f.q.value && f.q.value.indexOf(' ') == -1) {
|
370
|
+
var alias = '';
|
371
|
+
alias = (alias) ? alias : f.w.value;
|
372
|
+
var turl = '/photos/';
|
373
|
+
if (f.w.value == 'all') {
|
374
|
+
turl+= 'tags/'+encodeURIComponent(f.q.value);
|
375
|
+
} else {
|
376
|
+
turl+= alias+'/tags/'+encodeURIComponent(f.q.value);
|
377
|
+
}
|
378
|
+
document.location = turl;
|
379
|
+
return;
|
380
|
+
}
|
381
|
+
|
382
|
+
var qsA = ['q='+encodeURIComponent(f.q.value)];
|
383
|
+
if (f.w.value) qsA.push('w='+encodeURIComponent(f.w.value));
|
384
|
+
if (f.m.value) qsA.push('m='+encodeURIComponent(f.m.value));
|
385
|
+
if (f.s.value) qsA.push('s='+encodeURIComponent(f.s.value));
|
386
|
+
if (f.mt.value) qsA.push('mt='+encodeURIComponent(f.mt.value));
|
387
|
+
|
388
|
+
var surl = f.action+'?'+qsA.join('&');
|
389
|
+
document.location = surl;
|
390
|
+
}
|
391
|
+
|
392
|
+
|
393
|
+
</script>
|
394
|
+
|
395
|
+
</td>
|
396
|
+
</tr>
|
397
|
+
</table>
|
398
|
+
</div>
|
399
|
+
|
400
|
+
<div id="Main" >
|
401
|
+
|
402
|
+
<div class="vcard">
|
403
|
+
|
404
|
+
|
405
|
+
|
406
|
+
<table width="800" cellspacing="0" id="SubNav">
|
407
|
+
<tr>
|
408
|
+
<td class="Buddy">
|
409
|
+
<a href="/photos/kusaker/"><img src="http://farm1.static.flickr.com/128/buddyicons/39255132@N00.jpg?1169585056#39255132@N00" alt="to kusaker's photostream page" width="48" height="48" class="logo" /></a>
|
410
|
+
</td>
|
411
|
+
<td class="Section">
|
412
|
+
<h1>
|
413
|
+
About <span class="nickname">kusaker</span>
|
414
|
+
<span class="RealName">/ <span class="fn n"><span class="given-name">kusaker</span></span></span> </h1>
|
415
|
+
<p class="Links">
|
416
|
+
<a href="/photos/kusaker/" rel="me">← Photostream</a>
|
417
|
+
|
418
|
+
|
419
|
+
</p>
|
420
|
+
</td>
|
421
|
+
|
422
|
+
</tr>
|
423
|
+
</table>
|
424
|
+
|
425
|
+
|
426
|
+
|
427
|
+
|
428
|
+
|
429
|
+
<table id="ProfileInfo" cellspacing="0" width="100%">
|
430
|
+
<tr valign="top">
|
431
|
+
<td id="Left">
|
432
|
+
|
433
|
+
<!-- ############################### -->
|
434
|
+
|
435
|
+
<div class="About">
|
436
|
+
<p class="note"><img class="notsowide" src="http://gyazo.com/2d43ccb535344e4e9672ad415afdb446.png" /><br />
|
437
|
+
<br />
|
438
|
+
<strong>Activity: </strong><br />
|
439
|
+
<a href="http://tako3.com/http://flickr.com/photos/kusaker/">http://tako3.com/http://flickr.com/photos/kusaker/</a><br />
|
440
|
+
<br />
|
441
|
+
<strong>Hardware: </strong><br />
|
442
|
+
<a href="http://www.flickr.com/cameras/canon/powershot_sd550/">IXY Digital 700</a> Canon</p>
|
443
|
+
<p>
|
444
|
+
I'm <strong>Male</strong>.
|
445
|
+
|
446
|
+
|
447
|
+
</p>
|
448
|
+
<p>
|
449
|
+
<span class="adr"><span class="locality">Kodaira / Yokohama</span>, <span class="country-name">Japan</span></span>
|
450
|
+
</p>
|
451
|
+
</div>
|
452
|
+
|
453
|
+
<!-- ############################### -->
|
454
|
+
|
455
|
+
|
456
|
+
<h3>
|
457
|
+
kusaker's contacts
|
458
|
+
(<a href="/people/kusaker/contacts/" rel="me">80</a>)
|
459
|
+
</h3>
|
460
|
+
|
461
|
+
|
462
|
+
<div class="RecentContacts">
|
463
|
+
<p>
|
464
|
+
<a href="/photos/umelabo/" rel="contact">
|
465
|
+
<img src="http://farm4.static.flickr.com/3208/buddyicons/7754708@N08.jpg?1215610488#7754708@N08" alt="umelabo" width="48" height="48" /><br />
|
466
|
+
umelabo</a>
|
467
|
+
</p> <p>
|
468
|
+
<a href="/photos/30348100@N08/" rel="contact">
|
469
|
+
<img src="http://farm4.static.flickr.com/3236/buddyicons/30348100@N08.jpg?1220760343#30348100@N08" alt="fujishirolie" width="48" height="48" /><br />
|
470
|
+
fujishirolie</a>
|
471
|
+
</p> <p>
|
472
|
+
<a href="/photos/25386005@N02/" rel="contact">
|
473
|
+
<img src="http://l.yimg.com/g/images/buddyicon.jpg#25386005@N02" alt="nanigashi" width="48" height="48" /><br />
|
474
|
+
nanigashi</a>
|
475
|
+
</p> <p>
|
476
|
+
<a href="/photos/27211277@N04/" rel="contact">
|
477
|
+
<img src="http://farm4.static.flickr.com/3164/buddyicons/27211277@N04.jpg?1212232596#27211277@N04" alt="sioameumai" width="48" height="48" /><br />
|
478
|
+
sioameumai</a>
|
479
|
+
</p> <p>
|
480
|
+
<a href="/photos/hrykm169/" rel="contact">
|
481
|
+
<img src="http://farm3.static.flickr.com/2336/buddyicons/90939917@N00.jpg?1192787253#90939917@N00" alt="怪獣ヒロン" width="48" height="48" /><br />
|
482
|
+
怪獣ヒロン</a>
|
483
|
+
</p> <p>
|
484
|
+
<a href="/photos/kagawa/" rel="contact">
|
485
|
+
<img src="http://farm1.static.flickr.com/34/buddyicons/19717110@N00.jpg?1206735041#19717110@N00" alt="kagawa3" width="48" height="48" /><br />
|
486
|
+
kagawa3</a>
|
487
|
+
</p> <p>
|
488
|
+
<a href="/photos/8331703@N04/" rel="contact">
|
489
|
+
<img src="http://l.yimg.com/g/images/buddyicon.jpg#8331703@N04" alt="dig-t" width="48" height="48" /><br />
|
490
|
+
dig-t</a>
|
491
|
+
</p> <p>
|
492
|
+
<a href="/photos/kuzirawhale/" rel="contact">
|
493
|
+
<img src="http://farm1.static.flickr.com/224/buddyicons/55623505@N00.jpg?1178033907#55623505@N00" alt="kuzirawhale" width="48" height="48" /><br />
|
494
|
+
kuzirawhale</a>
|
495
|
+
</p> <p>
|
496
|
+
<a href="/photos/h3f3f/" rel="contact">
|
497
|
+
<img src="http://farm1.static.flickr.com/23/buddyicons/63211198@N00.jpg?1121084879#63211198@N00" alt="h3f3f" width="48" height="48" /><br />
|
498
|
+
h3f3f</a>
|
499
|
+
</p> <p>
|
500
|
+
<a href="/photos/notohiro/" rel="contact">
|
501
|
+
<img src="http://farm4.static.flickr.com/3163/buddyicons/24112745@N07.jpg?1219129128#24112745@N07" alt="notohiro" width="48" height="48" /><br />
|
502
|
+
notohiro</a>
|
503
|
+
</p>
|
504
|
+
<p class="MoreContacts">
|
505
|
+
<a href="/people/kusaker/contacts/" rel="me">More...</a>
|
506
|
+
</p>
|
507
|
+
</div>
|
508
|
+
<br clear="all" />
|
509
|
+
|
510
|
+
<h3>kusaker's public groups</h3>
|
511
|
+
|
512
|
+
<table class="Stats">
|
513
|
+
<tr>
|
514
|
+
<td width="50%">
|
515
|
+
<ul>
|
516
|
+
<li>
|
517
|
+
<a href="/groups/rightasrain/">Right as Rain</a>
|
518
|
+
</li>
|
519
|
+
<li>
|
520
|
+
<a href="/groups/11947580@N00/">Night Images</a>
|
521
|
+
</li>
|
522
|
+
<li>
|
523
|
+
<a href="/groups/japanese-food/">Japanese Food</a>
|
524
|
+
</li>
|
525
|
+
<li>
|
526
|
+
<a href="/groups/20077958@N00/">Museum</a>
|
527
|
+
</li>
|
528
|
+
<li>
|
529
|
+
<a href="/groups/34062645@N00/">iPodCentral</a>
|
530
|
+
</li>
|
531
|
+
<li>
|
532
|
+
<a href="/groups/greenisbeautiful/">Green is Beautiful</a>
|
533
|
+
</li>
|
534
|
+
<li>
|
535
|
+
<a href="/groups/reflections/">Reflections</a>
|
536
|
+
</li>
|
537
|
+
<li>
|
538
|
+
<a href="/groups/fireworks/">Fireworks</a>
|
539
|
+
</li>
|
540
|
+
<li>
|
541
|
+
<a href="/groups/78418589@N00/">Yokohama</a>
|
542
|
+
</li>
|
543
|
+
<li>
|
544
|
+
<a href="/groups/79171409@N00/">subway</a>
|
545
|
+
</li>
|
546
|
+
<li>
|
547
|
+
<a href="/groups/jlandscape/">Japanese Landscape - 日本の風景写真 -</a>
|
548
|
+
</li>
|
549
|
+
<li>
|
550
|
+
<a href="/groups/68004195@N00/">Full Moon</a>
|
551
|
+
</li>
|
552
|
+
<li>
|
553
|
+
<a href="/groups/tokyo-sky/">TOKYO SKY</a>
|
554
|
+
</li>
|
555
|
+
<li>
|
556
|
+
<a href="/groups/tokyoimages/">Tokyo Images</a>
|
557
|
+
</li>
|
558
|
+
<li>
|
559
|
+
<a href="/groups/windowsnaps/">Just Windows!</a>
|
560
|
+
</li>
|
561
|
+
<li>
|
562
|
+
<a href="/groups/towerblock/">tower block</a>
|
563
|
+
</li>
|
564
|
+
<li>
|
565
|
+
<a href="/groups/geotagging/">GeoTagging Flickr</a>
|
566
|
+
</li>
|
567
|
+
<li>
|
568
|
+
<a href="/groups/64605954@N00/">Kanji</a>
|
569
|
+
</li>
|
570
|
+
<li>
|
571
|
+
<a href="/groups/95576359@N00/">Reflections of...</a>
|
572
|
+
</li>
|
573
|
+
<li>
|
574
|
+
<a href="/groups/processing/">Processing.org</a>
|
575
|
+
</li>
|
576
|
+
<li>
|
577
|
+
<a href="/groups/sunsetpix/">SUNSET&RISEPIX</a>
|
578
|
+
</li>
|
579
|
+
<li>
|
580
|
+
<a href="/groups/wiring/">wiring / 配線</a>
|
581
|
+
</li>
|
582
|
+
<li>
|
583
|
+
<a href="/groups/hitomoji/">Hito Moji</a>
|
584
|
+
</li>
|
585
|
+
<li>
|
586
|
+
<a href="/groups/highways_ramps/">highway overpasses & ramps</a>
|
587
|
+
</li>
|
588
|
+
</ul>
|
589
|
+
</td>
|
590
|
+
<td width="50%">
|
591
|
+
<ul>
|
592
|
+
<li>
|
593
|
+
<a href="/groups/50167249@N00/">I Love Tokyo Tower</a>
|
594
|
+
</li>
|
595
|
+
<li>
|
596
|
+
<a href="/groups/aperture_users/">Aperture Users</a>
|
597
|
+
</li>
|
598
|
+
<li>
|
599
|
+
<a href="/groups/train_station/">Train、Station & Terminal</a>
|
600
|
+
</li>
|
601
|
+
<li>
|
602
|
+
<a href="/groups/japan_directory_nihon/">JAPAN [directory] 日本</a>
|
603
|
+
</li>
|
604
|
+
<li>
|
605
|
+
<a href="/groups/ilovetrains/">I Love Trains</a>
|
606
|
+
</li>
|
607
|
+
<li>
|
608
|
+
<a href="/groups/slow/"> Slow Shutter Speed</a>
|
609
|
+
</li>
|
610
|
+
<li>
|
611
|
+
<a href="/groups/views100/">Views: 100</a>
|
612
|
+
</li>
|
613
|
+
<li>
|
614
|
+
<a href="/groups/48652386@N00/">JAPANESE TRAIN RAILS</a>
|
615
|
+
</li>
|
616
|
+
<li>
|
617
|
+
<a href="/groups/peopleinpublictransport/">People in Public Transport</a>
|
618
|
+
</li>
|
619
|
+
<li>
|
620
|
+
<a href="/groups/ixy700/">Canon IXY 700</a>
|
621
|
+
</li>
|
622
|
+
<li>
|
623
|
+
<a href="/groups/japanese-typography/">Japanese Typography</a>
|
624
|
+
</li>
|
625
|
+
<li>
|
626
|
+
<a href="/groups/muji360/">MUJI / 無印良品</a>
|
627
|
+
</li>
|
628
|
+
<li>
|
629
|
+
<a href="/groups/1000views-of-tokyotower/">東京タワー千景 (1000 Views of Tokyo Tower)</a>
|
630
|
+
</li>
|
631
|
+
<li>
|
632
|
+
<a href="/groups/japanrail/">[JR] Japan Rail</a>
|
633
|
+
</li>
|
634
|
+
<li>
|
635
|
+
<a href="/groups/night_reflections/">Night Reflection</a>
|
636
|
+
</li>
|
637
|
+
<li>
|
638
|
+
<a href="/groups/japanesesigns/">Japanese Signs / 日本語の標識</a>
|
639
|
+
</li>
|
640
|
+
<li>
|
641
|
+
<a href="/groups/dejavuphotos/">Deja Vu (Two photos that look the same despite being different)</a>
|
642
|
+
</li>
|
643
|
+
<li>
|
644
|
+
<a href="/groups/60179787@N00/">World from a train</a>
|
645
|
+
</li>
|
646
|
+
<li>
|
647
|
+
<a href="/groups/tanuki/">狸</a>
|
648
|
+
</li>
|
649
|
+
<li>
|
650
|
+
<a href="/groups/weihnachten/">weihnachten? ist mir doch egal</a>
|
651
|
+
</li>
|
652
|
+
<li>
|
653
|
+
<a href="/groups/kanji/">Kanji 漢字</a>
|
654
|
+
</li>
|
655
|
+
<li>
|
656
|
+
<a href="/groups/49527651@N00/">the colour of the sky</a>
|
657
|
+
</li>
|
658
|
+
<li>
|
659
|
+
<a href="/groups/346041@N23/">Seibu Railways of Tokyo and Saitama (西武線), Japan.</a>
|
660
|
+
</li>
|
661
|
+
<li>
|
662
|
+
<a href="/groups/24flickr/">24 hours of Flickr</a>
|
663
|
+
</li>
|
664
|
+
</ul>
|
665
|
+
</td>
|
666
|
+
</tr>
|
667
|
+
</table>
|
668
|
+
|
669
|
+
|
670
|
+
<h3>A bit more about kusaker...</h3>
|
671
|
+
<table class="Stats">
|
672
|
+
<tr>
|
673
|
+
<td width="25%">Hometown:</td>
|
674
|
+
<td>Shinagawa</td>
|
675
|
+
</tr>
|
676
|
+
<tr>
|
677
|
+
<td width="25%">Occupation:</td>
|
678
|
+
<td class="title">University student</td>
|
679
|
+
</tr>
|
680
|
+
</table>
|
681
|
+
|
682
|
+
</td>
|
683
|
+
<td id="Right">
|
684
|
+
<h3>Testimonials </h3>
|
685
|
+
|
686
|
+
|
687
|
+
|
688
|
+
<p>kusaker doesn't have any testimonials yet.</p>
|
689
|
+
|
690
|
+
|
691
|
+
|
692
|
+
<!-- IF ISN'T IGNORED -->
|
693
|
+
|
694
|
+
|
695
|
+
|
696
|
+
<img src="http://l.yimg.com/g/images/spaceball.gif" alt="spacer image" width="200" height="1" />
|
697
|
+
|
698
|
+
</td>
|
699
|
+
</tr>
|
700
|
+
</table>
|
701
|
+
|
702
|
+
</div>
|
703
|
+
|
704
|
+
|
705
|
+
</div>
|
706
|
+
|
707
|
+
<br id="MainFooterClear" clear="all" />
|
708
|
+
|
709
|
+
<div id="FooterWrapper">
|
710
|
+
<div class="Footer">
|
711
|
+
|
712
|
+
<table class="Jump" cellspacing="0">
|
713
|
+
|
714
|
+
<tr>
|
715
|
+
<th class="To">
|
716
|
+
You
|
717
|
+
</th>
|
718
|
+
<td>
|
719
|
+
<a href="/signin/">Sign in</a> |
|
720
|
+
<a href="/signup/">Create Your Free Account</a>
|
721
|
+
</td>
|
722
|
+
</tr>
|
723
|
+
<tr>
|
724
|
+
<th class="To">
|
725
|
+
<a href="/explore/" class="Plain">Explore</a>
|
726
|
+
</th>
|
727
|
+
<td>
|
728
|
+
<a href="/places/">Places</a> |
|
729
|
+
<a href="/explore/interesting/7days/">Last 7 Days</a> |
|
730
|
+
<a href="/explore/interesting/2008/09/">This Month</a> |
|
731
|
+
<a href="/photos/tags/">Popular Tags</a> |
|
732
|
+
<a href="/commons/">The Commons</a> |
|
733
|
+
<a href="/creativecommons/">Creative Commons</a> |
|
734
|
+
<a href="/search/">Search</a>
|
735
|
+
</td>
|
736
|
+
</tr>
|
737
|
+
<tr>
|
738
|
+
<th class="To">
|
739
|
+
<a href="/help/" class="Plain">Help</a>
|
740
|
+
</th>
|
741
|
+
<td>
|
742
|
+
<a href="/guidelines.gne">Community Guidelines</a> |
|
743
|
+
<a href="/help/forum/">The Help Forum</a> |
|
744
|
+
|
745
|
+
<a href="/help/faq/">FAQ</a> |
|
746
|
+
<a href="/sitemap.gne">Sitemap</a> |
|
747
|
+
<a href="/help/contact/">Help by Email</a>
|
748
|
+
</td>
|
749
|
+
</tr>
|
750
|
+
</table>
|
751
|
+
<div class="Delicious">
|
752
|
+
<a href="http://del.icio.us/post"
|
753
|
+
onclick="window.open('http://delicious.com/save?partner=flickr&v=5&noui&jump=close&url='+encodeURIComponent(location.href)+'&title='+encodeURIComponent(document.title), 'delicious','toolbar=no,width=550,height=550'); return false;"><img src="http://l.yimg.com/g/images/add_to_delicious.gif.v1" width="10" height="10" /> Save to Delicious</a>
|
754
|
+
</div>
|
755
|
+
|
756
|
+
<p class="About">
|
757
|
+
|
758
|
+
<span class="yahoo_logo">
|
759
|
+
<a href="http://www.yahoo.com"><img src="http://l.yimg.com/g/images/logo_yahoo_company.gif.v11691.14" width="99" height="11" alt="Flickr, a Yahoo! Company" /></a>
|
760
|
+
</span>
|
761
|
+
|
762
|
+
<a href="http://blog.flickr.net/">Flickr Blog</a> |
|
763
|
+
<a href="/about/">About Flickr</a> |
|
764
|
+
<a href="/terms.gne" onClick="window.open('/terms.gne','TOC','status=yes,scrollbars=yes,resizable=yes,width=600,height=480'); return false">Terms of Use</a> |
|
765
|
+
<a href="/privacy_policy.gne">Your Privacy</a> |
|
766
|
+
<a href="http://docs.yahoo.com/info/copyright/copyright.html" target="_blank">Copyright/IP Policy</a> | <a id="ft-report-abuse" href="/report_abuse.gne">Report Abuse</a>
|
767
|
+
|
768
|
+
<p class="LanguageSelector">
|
769
|
+
|
770
|
+
|
771
|
+
<span>
|
772
|
+
<a href="/change_language.gne?lang=zh-hk&magic_cookie=89d44653b4f795eb9de5f5e64856b86e" class="image_link" id="lang_zh-hk"><img src="http://l.yimg.com/g/images/lang_zh-tw_11px_default.png" width="45" height="13" id="langselect_zh-hk" alt="繁體中文"></a> <b>|</b>
|
773
|
+
<a href="/change_language.gne?lang=de-de&magic_cookie=89d44653b4f795eb9de5f5e64856b86e" >Deutsch</a>
|
774
|
+
<b>|</b>
|
775
|
+
<a href="/change_language.gne?lang=en-us&magic_cookie=89d44653b4f795eb9de5f5e64856b86e" class="selected">English</a>
|
776
|
+
<b>|</b>
|
777
|
+
<a href="/change_language.gne?lang=es-us&magic_cookie=89d44653b4f795eb9de5f5e64856b86e" >Español</a>
|
778
|
+
<b>|</b>
|
779
|
+
<a href="/change_language.gne?lang=fr-fr&magic_cookie=89d44653b4f795eb9de5f5e64856b86e" >Français</a>
|
780
|
+
<b>|</b>
|
781
|
+
<a href="/change_language.gne?lang=ko-kr&magic_cookie=89d44653b4f795eb9de5f5e64856b86e" class="image_link" id="lang_ko-kr"><img src="http://l.yimg.com/g/images/lang_ko-kr_11px_default.png" width="23" height="13" id="langselect_ko-kr" alt="한글"></a> <b>|</b>
|
782
|
+
<a href="/change_language.gne?lang=it-it&magic_cookie=89d44653b4f795eb9de5f5e64856b86e" >Italiano</a>
|
783
|
+
<b>|</b>
|
784
|
+
<a href="/change_language.gne?lang=pt-br&magic_cookie=89d44653b4f795eb9de5f5e64856b86e" >Português</a>
|
785
|
+
</span>
|
786
|
+
|
787
|
+
<script type="text/javascript">if (_ge('langselect_zh-hk')) F.decorate(_ge('langselect_zh-hk'), F._link_button).button_go_go_go();</script>
|
788
|
+
<script type="text/javascript">if (_ge('langselect_ko-kr')) F.decorate(_ge('langselect_ko-kr'), F._link_button).button_go_go_go();</script>
|
789
|
+
Copyright © 2008 Yahoo! Inc. All rights reserved.
|
790
|
+
</p> </p>
|
791
|
+
|
792
|
+
|
793
|
+
<br />
|
794
|
+
|
795
|
+
|
796
|
+
</div>
|
797
|
+
</div>
|
798
|
+
<div style="background: #000; color: #0f0; text-align: left; font-family: "Courier New", Courier, monospace;"></div>
|
799
|
+
|
800
|
+
|
801
|
+
|
802
|
+
|
803
|
+
|
804
|
+
<script type="text/javascript">
|
805
|
+
try{
|
806
|
+
if (window.personmenu_init) personmenu_init(0);
|
807
|
+
} catch(er) {}
|
808
|
+
|
809
|
+
</script>
|
810
|
+
|
811
|
+
|
812
|
+
|
813
|
+
|
814
|
+
<!-- page generated by www21 (in mud) at 16:47:40 09/26/08 in 418ms -->
|
815
|
+
|
816
|
+
|
817
|
+
<script src="http://us.adserver.yahoo.com/a?f=792600091&p=flickr&l=FOOT9&c=r"></script>
|
818
|
+
|
819
|
+
|
820
|
+
|
821
|
+
|
822
|
+
|
823
|
+
|
824
|
+
|
825
|
+
|
826
|
+
|
827
|
+
|
828
|
+
</body>
|
829
|
+
</html>
|