Category: Internet (page 1 of 11)

호스팅 서비스를 이전

호스팅 서비스를 변경했다. 원래 Site5에서 호스팅을 받고 있었는데, 여기는 한 달에 $5이고 2년에 $120을 내야 한다. 서비스 자체는 매우 만족스러웠기 때문에 굳이 옮길 필요가 없다는 생각이었지만 2년마다 $120을 내는 것이 좀 부담스러웠다. 더군다나 요즘은 홈페이지나 블로그에 큰 관심을 쏟지 못하고 있기 때문에.

그래도 홈페이지를 아예 닫는 것보다는 좀더 저렴한 가격에 유지를 하는 것이 좋겠다는 생각이 들어서 업체를 알아봤다. 역시나 한국의 업체들 중에서 이 정도의 조건을 가지고 있는 업체를 찾는 것은 불가능했다. 이미 용량 무제한, 대역폭 무제한, 손쉬운 프로그램 설치, IMAP 방식의 이메일 등에 너무 익숙해져 있었기 때문에, 용량 제한이 있다던가 POP3 방식의 이메일 계정만 한두개 제공한다던가 하는 제한을 가지고 있는 국내 업체들의 경우 아예 고려 대상이 될 수가 없었다.

구글 검색을 통해 여러 호스팅 업체에 대한 정보를 찾아본 후에 최종적으로 결정한 업체는 Mochahost였다. 이 업체의 linux business plan의 경우 cpanel을 제공한다거나 용량과 대역폭 무제한을 제공한다거나 하는 점은 모두 동일하지만, 가격은 $2.45로서 이전 site5의 절반에 불과했다. Site5의 경우에도 (다른 호스팅 업체들도 대부분 동일하다) 할인된 가격으로 가입할 수는 있지만 할인된 가격은 보통 첫번째 지불에서만 적용되고 그 이후부터는 모두 제 가격을 내야 하는데 반해서, mochahost에서는 가입시 할인된 가격을 계속해서 적용받을 수 있다는 점이 가장 좋았고 이 페이지에 실려있는 모든 프로그램들을 간단하게 설치할 수 있다는 장점이 있다.

이전 자료를 백업하고 다시 복원하는 과정에서 내가 얼마나 많은 잡동사니들을 내버려둔 채로 있었는지를 새삼 깨달을 수 있었고, 오래된 짐을 정리하는데는 이사를 하는 것이 가장 좋은 방법이라는 사실 또한 깨달을 수 있었다. 워드프레스나 도쿠위키 같은 것들은 이미 백업과 복원에 대한 좋은 방법을 가지고 있기 때문에 거의 시간을 들이지 않고도 쉽게 사이트 이전을 마칠 수 있었다. 다만 오래 전에 RapidWeaver로 작성해 두었던 홈페이지는 이제 더 이상 유지할 필요가 없을 것 같아 이 부분만 손을 보면 호스팅 이전은 완전히 끝나는 셈.

도쿠위키에 대해 알게 된 몇 가지 (2)

오늘 도쿠위키에 대해 알게 된 점 몇 가지 추가

  1. 스팸을 막으려면 captcha 플러그인을 쓰자.
    ACL을 설정했음에도 불구하고 많은 위키스팸이 달린 것으로 보아 사용자 권한 관리만으로는 안되는 것 같다.

  2. 키보드 단축키를 쓰자.
    사용하는 브라우저에 따라 어떤 modifier 키를 쓰는지 외워두고 (윈도우즈 FF와 크롬은 alt+shift, 맥용 FF와 크롬은 ctrl+opt, 인터넷 익스플로러는 alt 키) h는 홈페이지, e는 편집 모드 진입, s는 편집 저장, x는 인덱스 페이지 정도 외워두면 좋고, 편집 모드에서 b는 bold, i는 italic, u는 underline 같은 것도 예상대로 작동한다.

  3. 스팸단어차단 기능은 좋지 않다.
    사이트에서 추천하는대로 chonqed.org 사이트에서 conf/wordblock.conf 파일을 저장하면, 글 저장할 때 정규식 관련 에러가 난다. 인터넷으로 대충 찾아보니 해당 파일의 크기가 너무 커서 생기는 에러 같은데, 위에 언급한 captcha 플러그인이 잘 동작한다면 굳이 이런 걸 쓸 필요는 없을 것이다. 만약 꼭 써야 하는 경우가 있다면 wordblock.local.conf 파일을 편집하는 것으로 하자.

Momolog 데이터를 Momento로 옮기기

20120228-165648.jpg

Momento는 일종의 일기장 프로그램이다. 이미 Momolog어썸노트
를 가지고 있기 때문에 사실상 이 프로그램에 대한 필요를 느끼지 못했었는데 (둘 다 매우 훌륭한 프로그램이고 업데이트도 꾸준히 되고 있을 뿐만 아니라 모두 한국인 개발자의 작품이다), 이번에 2.0으로 업그레이드가 되면서 여기저기서 이야기가 되길래 좀 자세히 살펴봤다. 놀라운 것은, 이 프로그램이 트위터, 유튜브, 플리커, 페이스북 등 다양한 종류의 SNS들을 한군데 모아준다는 점이었다. 어느 방식으로 글을 쓰던 상관없이 나의 모든 온라인 기록들을 한 군데에서 관리할 수 있다는 것이다. 이 점은 Momolog나 어썸노트가 가지고 있지 못한 특징인데, 이 때문에 이 프로그램으로 옮겨갈 생각을 하게 되었다.

문제는, 이미 momolog에 많은 글을 올려두었는데, 이걸 어떻게 Momento로 옮기느냐 하는 것이다. Momento의 지원 페이지에도 바로 이 질문이 올라와 있는데, 제작자의 답변은 ‘현재 지원하지 않으며, 앞으로 지원할 수 있을지의 여부도 알 수 없다’는 것이었다.

Momento가 백업/리스토어 기능을 지원한다는 점에 착안하여 일단 백업을 한 후, 백업 파일을 손 보는 방법이 가장 직관적인 방법이라고 생각되었다. 문제는 백업 파일의 형식을 알아낼 수 없다는 것. 이래서는 성공할 수가 없다. 깔끔하게 포기.

이런 경우에 보통 사용자라면 그냥 포기를 하거나 기존의 프로그램에 그대로 매여있을 수 밖에 없을 것이다. 그러나, 나는 이미 프로그래밍을 할 줄 아는 프로그래머가 아니던가. 누군가 만들어주지 않는다면 내 손으로 만드는 수 밖에!

일단 momolog의 모든 메모는 csv 파일 형태로 내보내기가 가능하다. 그러므로, 일단 모든 메모들을 text 형태의 파일로 다운로드를 받는다. 문제는 이 파일이 UTF16을 사용한 도스 형식의 파일인데다가, 파일 이름은 csv이지만 실제 column separator로는 tab을 사용했다는 것이다. 게다가 메모의 특성상 한 개의 메모가 여러 줄로 이루어질 수 있기 때문에 개념적으로 csv 파일이라고 볼 수는 없다.

우선 dos2unix를 이용해 CRLF를 LF로 바꾸어준 후, 인코딩을 UTF8으로 변환하였다. 이렇게 소스 파일이 준비되고 나면 이제는 간단한 ruby 파일을 사용하면 될 일.

require 'rss/maker'

data = File.read("data.txt")
chunks = data.split(/(d{4}-d{2}-d{2}s{1}d{2}:d{2}:.+00:00)/)
chunks.delete_at(0)

content = RSS::Maker.make("2.0") do |m|
  m.channel.title = "Momolog"
  m.channel.link = "http://lordmiss.com"
  m.channel.description = "Momolog backup"
  m.items.do_sort = true

  (0..310).each do |n|
    i = m.items.new_item
    i.title = "momolog"
    i.link = ""
    i.description = chunks[2*n+1].split("t").delete_if{|x| x==""}[0]
    i.date = Time.parse(chunks[2*n])
  end
end

File.open("momo.xml", "w") do |f|
  f.write(content)
end

Ruby의 rss/maker를 이용해서 저장한 momolog 백업 파일의 내용을 모두 rss로 전환하여 아무 웹 서버에나 올려놓으면 된다. 이 소스를 Momento에서 feed로 읽은 후에 disconnect해 주면 끝.

이 과정을 통해 배운 것은, 1) ruby의 Time 클래스 사용법 2) ruby에서 정규식으로 split할 때, 정규식 매칭 부분을 array에 유지하기 등이다.

주의) 혹시라도 이 소스를 사용하고자 하시는 분들은, 소스를 그대로 사용했을 때 생기는 문제에 대해 책임질 수 없습니다. 코드의 의미를 이해하시는 분만 사용하시기 바랍니다!

MacStories 이벤트 당첨!

MacStories App Tree의 당첨자가 발표되었다.

당당하게 Money 라이센스를 받을 수 있게 되었다. 야호!!

이 블로그를 운영하는 사람이 여러 개의 맥용 및 아이폰용 어플리케이션 라이센스를 확보해 두고서는 MacStories App Tree라는 이름으로 일종의 이벤트를 벌였는데, 그 내용이라는게, 자신을 twitter에서 follow한 후 이벤트 관련 트위팅을 올리고 블로그에 댓글을 달면 되는 간단한 거였다. 댓글에 자신이 갖고 싶은 어플리케이션 이름을 적어 놓으면 random으로 추첨을 해서 라이센스를 나눠주는 방식이였다.

댓글을 달기 전에 찬찬히 위에 이미 올라와 있는 댓글들을 살펴보았다. 원칙은 한 사람 당 한 개의 댓글만 달 수 있고, 자신이 좋아하는 어플리케이션의 이름을 적어야 한다는 것이었다. 일단 내가 탐나는 어플리케이션을 꼽아보니 Path FinderMoney 두 가지였다. 하나만 적는 것이 아무래도 유리할 것 같다는 생각이 들어서 과감하게 Path Finder를 포기하고 (내게는 ForkLift가 있으니까) Money를 적었다. 무려 $39짜리인데다가, 이미 아이폰에서 아이폰용 어플을 쓰고 있는 터였고, 30일 트라이얼도 해 보고 마음에 들었었지만 선뜻 구매는 못하고 있었던 어플리케이션이다. 덕분에 재무 관리를 좀더 타이트하게 할 수 있을 것 같다.

가만히 보니, 이 사이트의 운영자는 굉장히 열심히 맥과 관련된 이야기들을 포스팅하고 있었다. 모든 포스팅들이 상당히 내용이 알차다. RSS를 등록해놓고 봐야겠다는 생각을 하게 되었다.

어쨌든 멋진 크리스마스 선물을 받게 되어 기분이 좋다.

Readability – 웹사이트 내용에 집중하여 읽기

종이보다 인터넷에서 훨씬 많은 정보를 접하게 되는 요즘, 인터넷 페이지들을 보다보면 내용에 집중을 하기가 쉽지 않다. 여러 가지 광고들이나 글 내용과는 상관없는 다른 요소들이 눈을 잡아 끌면서 글 자체에 집중하는 것을 방해하기 때문이다. 다행히 RSS로 전문을 지원하는 경우라면 RSS 리더 프로그램에서 자신이 원하는 모습을 글을 볼 수 있지만, 대부분의 매체들은 (당연히) 전체 RSS를 지원하지 않기 때문에 결국은 브라우저를 열어서 봐야 한다.

이런 문제를 해결하는 방법 중의 하나는 Firefox의 부가 기능인 greasemonkey를 쓰는 것이다. 다만 문제는 사이트마다 설정을 해 주어야 한다는 점, 그리고 오직 Firefox에서만 가능하다는 점이다.

그러다가 내가 찾은 방법이 바로 Readability라는 북마크릿이다.

홈페이지를 보면 이렇게 되어 있다.

Readability: Intro

읽는 내용과 상관 없는 부분들을 모두 제거해 줌으로서 읽는 것을 편하게 만들어주는 도구라는 설명이다. 이 도구를 이용하는 방법은 간단하다.

우선 셋팅을 정한다. 쉽게 말하면 테마를 정한다고 보면 되겠다. 내게는 고정폭 글꼴로 출력이 되는 Terminal이 가장 보기 좋았지만, 사람마다 선택은 다를 것이고 어차피 테마가 네 개 뿐이니 적당한걸 고르면 된다.

Readability: Step 1

그리고는 가운데 보이는 Readability 버튼을 북마크 도구에 끌어다 놓는다. 이런 식으로 자바스크립트로 북마크를 만드는 경우는 많이 있으니 그렇게 어려운 일은 아닐 것이다.

Readability: Step 2

이제, 실험을 해 봐야 하지 않을까? 그래서 내가 가끔 들르는 사이트인 프레시안에 들어가 보았다. 오늘 대문 기사를 클릭하고 나서 보이는 화면은 아래와 같다.

Original site - Pressian

그런데 Readability 버튼을 누르고 나서는 이렇게 변했다.

Readability: Example

무지 깔끔하다!! 왼쪽 상단에 보이는 세 개의 버튼은 그림으로 그 기능을 쉽게 알 수 있다. 첫번째 버튼은 원래 사이트 모양으로 돌아가는 버튼, 두번째는 출력 버튼, 세번째는 이메일로 전송하는 버튼이 되겠다. 브라우저에서 본 내용을 EagleFiler 프로그램에 잘 스크랩해 놓는 나로서는 이 상황에서 프린트 버튼을 통해 바로 pdf로 스크랩을 할 수 있으니 편한 일이 아닐 수 없다. 그렇지만 무엇보다도 내용 자체에 집중해서 글을 읽을 수 있다는 것이 가장 큰 장점이다. 휘황찬란한 웹 디자인을 보는 것이 고역이라고 생각하고 무엇보다 내용에 집중할 수 있기를 원하는 사람들에게 이 북마크릿을 강력하게 추천한다.