January 2006 Archives

2005.12.25.10.34.25 Kestrel Cruising

Condor를 팔고 새로 산 Frigate 클래스의 배, Kestrel 입니다. Caldari의 Frigate 중에서는 두번째로 비싼 놈이지요.

2005.12.25.10.48.56 Kestrel Approching to New Caldari Stargate

항성간 Warp를 하는 통로인 Stargate에는 광고도 붙어있지요.

2005.12.30.16.24.44

제 Kestrel 보다 4-5배 큰 몸집을 가지고 있는 화물선이군요. 이 정도로 놀라버리면 안되겠지만.

2006.01.03.05.28.58

Station 마다 모양은 가지각색인데, 칙칙한 Station도 있는 반면, Mikiriemi Station 처럼 아주 아름다운 Station도 있습니다.

2005.12.25.07.51.14 Condor Warping to Ishisomo Stargate

처음으로 산 프리깃(Frigate) 급의 배, Condor다.

2005.12.24.15.46.33 Condor Fighting Back against Vicious Pirates   

뉴비쉽으로는 아무래도 겁이 났던 전투도 수행할 수 있게 되었다.

2005.12.25.06.29.27 Condor Wounded

하지만, 역시 저가의 프리깃이라 전투도 부담스럽다. Shield와 Armor가 모두 손상되고 불타는 Condor.


옥지영 백세주 CF, originally uploaded by Joseph Jang.

난 항상 좀 예쁜 여자애가 뿔테 안경을 쓰면 정신을 못차리는 것 같다. 그런데, 소개팅 상대들 중이나 주변의 여자들 중에는 그런 여자가 없다는 것이 문제.

최근에는 del.icio.us를 쓰고 있는데, 기존에 쓰던 링크 블로그 데이터만 덩그러니 남겨두기가 뭐해서, 간단한 ruby 스크립트를 짜서 데이터를 이전했습니다. 아시는 분은 아시다시피, MovableType은 Blogger APIMetaWeb API 뿐만 아니라, 최근에는 Atom Publishing Protocol까지 지원하고 있고, del.icio.us는 Web 2.0 계의 대표적인 서비스답게 del.icio.us API를 제공하고 있습니다. Blogger API와 MetaWeb API들은 MovableTypeWriter를 개발하면서 사용했었기 때문에 익숙했지만, del.icio.us의 API는 처음 보았습니다. XMLRPC나 REST 계열의 API만 보다가 HTTP GET을 사용한 API를 보니 좀 특이하더군요. (개인적으로는 그리 마음에 들지 않습니다.)

결과를 보시고 싶은 분은 제 del.icio.us 페이지를 한번 방문해보시죠. 반나절 정도의 노력을 들여서 완전히 다른 종류의 서비스 사이에서 데이터 이전이 가능하다는 것, 멋지지 않습니까?

다음은 migration에 사용한 코드입니다.

#! /usr/bin/ruby

require 'xmlrpc/client'
require 'net/http'
require 'uri'
require 'pp'

MT_XMLRPC_URL='http://YOUR_HOST/mt/mt-xmlrpc.cgi')
MT_BLOG_ID='YOUR_BLOG_ID'
MT_ID='YOUR_ID'
MT_PW='YOUR_PW'
NUM_POSTS=1000

DELICIOUS_ID='YOUR_DELICIOUS_ID'
DELICIOUS_PW='YOUR_DELICIOUS_PW'

# get all posts from MT

server = XMLRPC::Client.new2(MT_XMLRPC_URL)

result = server.call("metaWeblog.getRecentPosts", MT_BLOG_ID, MT_ID, MT_PW, NUM_POSTS)

result.each do |post|

description = post["title"]
url = post["mt_excerpt"]
extended = post["description"]
dt = post["dateCreated"].to_time.iso8601

print description + "\n"
print url + "\n"
print extended + "\n"
print dt + "\n"

# post it to delicious

response = Net::HTTP.get_response(URI.parse('http://del.icio.us/api/posts/add?' + 'url=' + URI.escape(url) + '&description=' + URI.escape(description) + '&extended=' + URI.escape(extended) + '&dt' + URI.escape(dt)))

Net::HTTP.start('del.icio.us') {|http|

req = Net::HTTP::Get.new('/api/posts/add?' + 'url=' + URI.escape(url) + '&description=' + URI.escape(description) + '&extended=' + URI.escape(extended) + '&dt=' + URI.escape(dt))

req.basic_auth (DELICIOUS_ID, DELICIOUS_PW)

response = http.request(req)

print response.body
}

# throttling
sleep(1)

end

About this Archive

This page is an archive of entries from January 2006 listed from newest to oldest.

December 2005 is the previous archive.

February 2006 is the next archive.

Find recent content on the main index or look in the archives to find all content.

Powered by Movable Type 4.21-en