Archive for April, 2006

정태영

맥주를 쏟아 키 몇 개가 인식이 되지 않던 파워북을 위해 e-bay, paypal 계정을 만든 보람이 있었네요. 아침에 소포가 도착했다는 인터폰을 듣고 뛰어내려가봤더니 역시 해외 배송된 제 파워북용 키보드였습니다. 두근두근 거리는 마음으로 12인치 파워북을 꺼내서 나사를 푸르고 키보드를 갈아끼고 나니 정상 작동하는군요. 다행히도 키보드에만 문제가 생겼던 게 맞았나 봅니다.

1.67Ghz 짜리에 익숙해진 상태에서 다시 0.8Ghz 짜리 파워북을 쓰려니 반응이 살짝 살짝 느리긴 하지만 그래도 역시 누워서 배 위에 올려놓고 쓰기는 12인치가 훨씬 좋네요. 오랫만에 방을 살짝 치우고 사진을 몇 장 찍어봤는데 염장 샷이 될 지도 모르겠군요.

다른 사진들은 아래 url 에서 ;)
http://mytears.org/resources/etc/photo/optio_230/powerbook

p.s) 저 한테만 그런지는 모르겠지만 키 가운데에 영문만 딸랑 찍혀있는 게 그리 이쁘진 않네요 -_-;

정태영

SCSI HDD 같은 경우야 뭐 오래써도 별 문제가 안생기니까… 이제 겨우 일년 정도밖에 안 쓴 제 서버 하드를 걱정할 일은 아니지만… 그래도 세상일은 어떻게 될 지 모르기 때문에… 귀찮다고 미루고 미루던 백업 스크립트를 작성하게 됐습니다.

shell script 의 고수 분들이야 find 등 도 뭔가 멋지게 쓰고 하는 거 같지만! 전 초보 이기 때문에… 그냥 3일 이상 지난 파일의 경우엔 tmpwatch 가 정리하도록 처리를 해버렸네요… 흐흐

혹시나 제 백업 스크립트가 궁금하신 분들은 more 버튼을 클릭하시길…
(more…)

정태영

오랫만에 코드가 손에 잡히길래… 몇 일 전에 구상해 놨던 spam filter 를 실제 구현해봤습니다. php 와 pecl-mailparse 덕분에 아주 간단히 구현할 수 있었습니다.

  1. text/html, text/plain 뽑아내기 (base64_decode, qprint_decode 는 자동으로 됨)
  2. urldecode
  3. convert to utf-8
  4. decode html entities

딱 위에 얘기한 대로만 구현했습니다. 실제 적용 사례는 아래 링크를…

http://mytears.org/resources/mysrc/php/Parsemail.phps
http://mytears.org/procmailrc

현재는 메일 내용을 full buffering 하고 있는데, 몇십 메가씩 되는 메일들을 처리하게 되면 메모리를 엄청나게 쓸 지도 모르겠군요. tempnam 등을 이용해서 임시파일을 만드는 방법으로 천천히 전환해야겠네요 흐흐흐

정태영

Mail.app 로 메일을 확인하던 중 hanmail.net 의 메일주소를 사칭한 메일을 선택하고, 아무 생각없이 command + option + u 를 눌렀다. (메일 헤더등을 전혀 해석하지 않고 그대로 보기) 어라!? spf 가 softfail 이네? 도대체 언제부터 spf 를 지원한거지?

뭐 하튼 spf 가 softfail 난 것들 중에 msn.com, dreamwiz.com, mytears.org, unfix.net, hotmail.com 등에서 오는 것들만 drop 시키도록 설정해놨었는데, 이제 이런 제한도 없이 softfail 인 건 모두 drop 시켜버리기로 결심했다.

스팸들아 많이 그리울거야…

정태영

불량 단어 목록을 만들고 procmail 을 통해 무식하게 matching 시키는 방법을 사용하고 있다보니, 첨부파일이 있는 경우 스팸이 아닌데도 불구하고 스팸으로 판단되는 경우가 너무 잦은 것 같습니다.

sex, viagra, … 등의 불량단어 목록을 대소문자 구별없이 매칭을 시켜서 거르고 있는데, 첨부파일이 BASE64 로 인코딩된 경우에 저런 단어들이 포함될 확률이 상당히 높나 봅니다. 보내는 사람 관련해서 white list 를 만들어서 어떻게든 피해나가고 있긴 하지만 이건 답이 아닌 거 같네요.

시험이 끝나고 나면 꼭!! 시간을 내서 스팸 필터를 조금 더 개선시켜야 겠습니다.

  1. 본문을 fetch

    multipart/alternative, multipart/mixed 인 경우 … text/html, text/plain 인 것들만 fetch

  2. %2digit 형식으로 된 것들을 디코드

    [php:urldecode] 를 이용

  3. utf-8 로 변환

    php 의 [php:iconv] function 들은 conversion 도중에 에러가 발생했는지 알기 힘드므로 다른 프로그램을 이용…

  4. &#digit; 형식으로 된 것들을 디코드

    [php:html_entity_decode]

  5. 불량단어 목록과 매칭

  6. 매칭 결과 리턴

대강 위와 같은 기능을 하는 filter 를 작성하고 procmail 과 연동해서 필터링을 해볼까 싶습니다. 다만 귀차니즘 때문에 언제나 구현할 지 모르겠군요. (백업 스크립트는 도대체 언제 짤건데!!)

정태영

복학하고 별로 하는 것도 없는데 시간은 흐르고 흘러서 벌써 중간고사 시즌이 돌아왔네요 :) 그래도 요번엔 시험 보는 과목이 그리 많지 않아서… 시험 때문에 스트레스 받다 지쳐 잠드는 일은 없을 듯 하네요.

  • 4/20 교양영어
  • 4/21 게임프로그래밍
  • 4/24~28 사이에 벤쳐창업론
  • 4/29 전자회로

대강 저렇게 될 듯 해서… 그리 큰 부담은 되지 않네요 ;) 이제 학기도 반 정도 지난 듯 하니, 방학이 슬슬 눈 앞에 보이면서 희망이!!… 캬캬캬캬

정태영

한 달쯤 전에 powerbook 12′ 키보드 부분에 맥주를 쏟는 바람에 … 키 몇 개가 인식이 되질 않습니다. 뭐 물론 더 사랑스런 powerbook 15′ 가 생겼기 때문에 조금 덜 아쉽긴 하지만! 침대에 누워서 간단히 웹서핑 및 채팅을 하기에 15′ 는 살짝 커서 자세가 안나오는군요 -_-!

keyboard A/S 는 14만 원이란 거금이 들길래… jenix 의 조언대로 그냥 e-bay 에서 질러보기로 했습니다. 대략 즉시구매를 해버려도 배송료 포함 7만원이면 되더군요… e-bay ID 도 만들고 paypal 계정도 만들고 해서 드디어 e-bay 에 발을 퐁당 빠뜨렸습니다.

헛! 생각보다 어렵지 않더군요. -_-; 얼른 paypal 비밀번호를 잊어버리지 않으면 안되겠다 싶은 생각이 살짝 뒤통수를 치고 지나갔습니다. 뭔가 열면 안되는 판도라의 상자를 연 기분이에요 지금!! 헉헉! 이러다가 정말 마루서 뒹굴거리는 14′ sens p10 의 cpu 가 1.8Ghz 로 확 바껴있는 게 아닐 지 걱정되는군요.