장사

super program 두대에 저감도, 고감도 필름을 각각 끼워서 사용하다가 kx, mz-3의 조합으로 바꾸고나서 잘쓰던 super program 두대를 장터에 내 놓았다. kx + k55.8, mz-3 각각 12만원, 18만원이 들어간지라 최대한 빨리 super program을 처분해서 들어간 돈을 메꾸려 했으나… 상황이 생각대로만 되지 않는다. super program + a50.4 23만원, super program 12만원, 공제그립 tg-10 7만원에 내놓았는데, 50mm 렌즈 팔라는 쪽지만 두번 오고 바디 문의는 아예 들어오지도 않는구먼.
있는 그대로 단점들을 사진 찍어서 보여주고 얘기했는데, 아무래도 그게 마이너스 요인이 된듯 하다. 문제가 있는 바디로 생각하고 아예 문의조차 않는 듯. 너무 비싼가? 좋은 사진들 많이 맹글어준 녀석들인데 헐값에 후려치기엔 너무 맘이 아프다. 만원씩만 깎아서 다시 내보야겠다.

장사수완이라는거, 아니, 장사라는거 쉽지 않은 일이다. 단점들만 솔직하게 얘기할게 아니라 장점들도 그럴싸하게 잘 포장해줘야는데 장점 홍보가 많이 부족했다. 이런거 보면 난 장사하면 망할지도? 일요일 오후에 물건 내놓으면서 저녁쯤엔 적어도 하나는 팔리겠지 했지만 예상이 완전 빗나갔다.
어떤이는 문제점은 구체적으로 언급하지 않고 그냥 상태 좋다고만 하고 물건 올려놓은 사람들도 있다. 물론 이런 물건들은 금방 팔려가긴 하지만, 사가는 사람도 나중에 맘 상하고, 판매자와 구매자간에 안좋은 상황으로 간 경우도 몇번 봤다. 적어도 동호회 장터가 장사하는데는 아니지 않은가… 하지만 상황은 그리 돌아가지 않는것이 싫다.

방어 코딩

퇴근 무렵, 윤아가 실시간 검색어가 업데이트가 안된다고 한다. 마지막 갱신시간을 봤더니 오전 7시 몇분. 헉… 순간 땀이 삐질. 모니터링 쉘은 계속 돌고 있는데 이상하게 데이터를 생성해주는 프로그램의 프로세스가 안보인다. 일단 오늘자 쿼리 로그 파일을 열어봤다. 아… 양이 너무 많다. 이래서는 알 수가 없다. 의심가는 부분에 디버깅 메시지를 집어넣고 하나씩 따라가 봤다.

query-20060830.log
:
181930, 211.45.66.200, 이런n
182031, 211.45.66.200, 젠장n
:

로그 파일의 포맷은 대충 저러하다. 시간, 아이피, 쿼리가 각 라인을 구성하고 있으며, 프로그램은 한줄씩 로그를 읽어서 쿼리의 빈도수를 카운트 후, 정렬해서 높은 순위부터 출력하는 비교적 간단한 프로그램이다.

char szBuff[1024] = {0x00, };
:
while(fgets(szBuff, 1023, pFile))  <== 첫번째 실수
{
  ST_LOG stItem;
  :
  memset(&stItem;, 0, sizeof(ST_LOG));
  iReturn = get_info(szBuff, &stItem;);
  if (iReturn)
  {
    memset(szBuff, 0x00, 1024);
    continue;
  }
  :
  memset(szBuff, 0x00, 1024);
}

한줄씩 읽는 부분이다. 버퍼 사이즈가 1024 바이트인데 1023 바이트 까지만 읽기 때문에 문제가 될 게 없다. 그렇게 로그파일에서 읽은 로그는 파싱 함수에게 넘겨져 정보를 구조체에 집어넣게된다.

int get_info(char* pszBuff, ST_LOG* pstLog)
{
  char szDate[20] = {0x00, };
  char* pszToken = NULL;
  :
  pszToken = strtok(pszBuff, LOG_SEPARATOR));
  if (pszToken == NULL)
    return 1;

  strcpy(szDate, pszToken);  <== 두번째 실수
  :
}

그런데 이따위 쓰레기 쿼리가 들어오면?

:
182209, 222.14.10.100, 네이버n
182210, 65.200.31.250, 0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000n
182312, 222.14.10.100, 다음n
:

fgets 함수는 현재 파일 오프셋부터 개행문자를 만날때까지 최대 지정한 바이트만큼 읽어서 버퍼에 저장한다. 만약 최대 지정 바이트를 읽을때까지 줄바꿈 문자가 들어 있지 않으면 어떻게 되는가? 난 개행문자 다음 바이트부터 읽을 거라 착각을 했다. 왜 그런 착각을 했을까. fgets 함수는 단순히 라인 단위로 읽어온다는 직관이 작용했나 보다. 최대 지정 바이트를 다 채울때까지 개행문자를 만나지 못하면 다음 fgets 호출때는 마지막 읽은 파일 오프셋 다음 바이트 부터 읽게 된다.

따라서 저 라인의 경우 두번째로 fgets 가 호출될때, 버퍼에는 000000000000… 가 들어 있게 된다. 그렇게 되면 파싱함수는 20바이트짜리 szDate 에 200 바이트를 복사해 넣는다. 메모리가 오염되는 순간이다. 건드려서는 안될 영역을 건드린 바보같은 나의 실시간 검색어 생성 프로그램은 얼마못가 OS에게 처절한 응징을 당하고 장렬히 전사한다.

fgets 함수가 단순히 라인 단위로 동작한다고 착각한 것이 첫번째 실수요, strncpy 를 사용하지 않고 strcpy 를 사용한 것이 두번째 실수다.

쯥… 코딩을 할때는 항상 방어 자세를 취해야 하는데 너무 느슨했다.

smarty

soojung 블로그에서 UI를 출력하는데 smarty 라는 템플릿 엔진을 사용한다. 우리 cgi 라이브러리의 form 파일과 비슷하다. 꽤 쓸만하구먼. 사용자 편의 함수들이 다양하게 준비되어 있다. 이런걸 진작에 알았으면 좋았을걸 하는 아쉬움이 든다. 역시 아는 만큼 보이고, 보는 만큼 알게 되는 것이다. 덕분에 테마 파일을 뜯어고치기가 무척 수월하다. 저번 테마하고 이번 테마 파일들은 묶어서 soojung 개발자 페이지에 올리고 테마로 등록해 달라고 할까?

아예 가로길이 제한을 없애 버렸으니 사진도 가로 800px로 리사이즈해서 올릴 예정이다. 너무 크게 하면 이미지 용량 때문에 가뜩이나 가득찬 웹호스팅 업체 디스크 용량을 다 써버리게 되서리 적당 선에서 타협을 봤다. 이 정도만 되도 볼만할 듯 하다. 어떤가?

저번 변해가네의 그 오누이다.

KX

PENTAX KX + K55.8 을 신X카메라에서 12만원에 샀다. 하판에 약간 눌린 자국이 있는 것 말고는 상태가 무척 좋다. 생각지도 않게 K렌즈가 생겼다.

생산 기간이 1975~1977로 나보다 나이를 적어도 한두살은 더 먹은 녀석이다. 혹, 동갑일수도? 동조속도 1/60, 셔터 B, 1 – 1/1000, 가로주행 기계식 포막 셔터에 심도 미리보기, 셀프타이머, 미러업까지 되는 펜탁스 기계식 수동 바디중에서 최고급 사양이다. 당시 월급쟁이들의 두세달치 월급을 줘야 살수 있는 카메라였다고 한다. 하지만 지금은 허헛, 내가 산걸 보면 알잖은가. 6, 7만원이면 살 수 있다.

완전 기계식인지라 전지가 다 닳아도 셔터가 작동한다. 전원은 노출계를 작동시키는데만 사용되므로 전지가 닳아 노출계가 죽더라도 경험으로 대충 노출을 잡고 촬영을 계속 할 수 있다. 셔터음이나 셀프 타이머 작동 소리를 들어보면 시계 태엽 풀리는 소리가 난다. 순전히 스프링과 톱니바퀴에 의해서만 구동이 되는 것이다. 그 옛날에 어찌 1/1000 초 셔터 속도를 구현 했는지 신기할 따름이다. 시간이 30년도 더 흘렀으니 지금은 완벽히 1/1000 초가 나오진 않겠지만 이번에 테스트로 슬라이드 필름으로 찍어본 바 크게 노출계에 오차가 있다거나 셔터가 느려졌다거나 하는 문제는 없더군.
잘 쓰던 super program을 다 팔고 kx를 사겠다고 맘 먹은것은 완전 기계식에다 미러업 기능까지 가지고 있기 때문였다. 별 사진을 한번 찍어 보고 싶어서 완전 기계식바디가 필요했는데 kx는 mx에는 없는 미러업까지 되는 것이었다. 완전 내가 원하는 기능의 종합판이었다. 더구나 이런 기능들을 다 갖고 있는 녀석이 고작 10만원도 안한다니. mx는 요즘 삼성에서 펜탁스 dslr을 가져다 파는 바람에 펜탁스 사용자가 갑자기 늘어버려서 가격이 하늘 높은 줄 모르고 오른터라 사기엔 너무 부담이 됐다. 아니, mx + m50.7 조합이 20만원을 넘기는데, 난 도저히 그 돈주고 못산다.
디지털 장비는 온도차에 민감하다. 3월에 덕유산 올라갔을때 DS2 를 가져갔는데, 산 정상서 일몰을 몇장 찍다 보니 사진이 저장이 안되는 것이었다. 겨울산에서 dslr들이 정상 작동하는 온도 범위를 넘어서면 이런 증상이 있다는 얘기는 익히 들었는데 내가 그런 일을 겪을 줄은 몰랐다. 하긴 수동 명기라는 니콘 FM2도 내부 윤활유가 얼어버리는 바람에 셔터 작동에 문제가 생겼다는 얘기를 듣긴 했지만 그건 정말 혹한의 경우였고, 단순한 기계식 수동이 예민한 디지털보다 그럴 확률은 훠얼씬 적다.

자, 아래 사진들은 충무로 샾에 가서 KX를 수령하고 근처 현상소에 필름 3롤 현상 맡기고 작업 끝나길 기다리다가 옆에 남산 한옥마을에 잠깐 가서 찍어온 사진들이다. 여기 한옥마을은 중고등학교 시절을 충무로에서 살았던 어떤 애가 자신의 어린 시절의 추억들을 얘기해주면서 여기저기 보여줬던 곳 중의 하나다. 그땐 어두운 밤이었는데, 지금 하늘은 너무나 새파랗다.

테스트에 사용한 필름이 관용도가 좀 큰 입문용 슬라이드 필름이긴 하지만, 어쨌든 슬라이드다. 크게 노출이 이상한 사진은 없는걸 보니, 노출계, 셔터, 모두 이상 없이 잘 작동한다.

super program 팔때 a50.4 렌즈를 같이 팔아버릴까 고민중이다. 50mm, 55mm 거의 비슷한 화각의 렌즈를 굳이 두개나 가지고 있을 필요는 없지…만 서도 50.4 렌즈도 무척 훌륭한 렌즈라 아쉬움이 많다.

KX, a50mm, fa100mm MACRO, tokina 19-35mm | agfa precia CT 100 | LS-30
남산 한옥 마을, 2006-08-19

남산

지난 금요일. 문규 대리님하고 자전거 타고 남산엘 올라갔다 왔다. 예전에 걸어 올라 갔을 때 기억으로 경사가 만만치 않았던 기억이 났는데, 아니나 다를까 환장한다. 2km 가량 되는 구간인데 경사도가 대략 20~30%, 죽을둥 살둥 하면 올라가 지긴 하는데, 문제는 정상 바로 앞에 있는 30미터 정도 되는 일명 깔딱고개라고 하는 구간이다. 얼추봐도 경사도가 40%는 족히 넘어 보이는 이 구간은 산 아래부터 올라오느라 힘이 다 빠져 결국 마지막 10미터 정도 남겨두고 포기, 끌고 갔다. 자전거에 묶여 있는 1Kg은 족히 되는 삼각대를 확 던져 버리고 싶은 충동이 순간 일었다. 내 자전거는 도로 싸이클인지라 이 따구 경사를 오르기엔 기어비가 맞지 않아 힘이 많이 든다. 아무튼… 숨이 턱밑까지 차올랐고, 이프X 한병을 단숨에 꿀꺽 해버렸다.

한숨 돌리고 제정신을 차렸다. 문규씨가 찍어준 사진.

남산까지 왔는데 증명사진 하나 찍고.

내려가는 길은 순식간였다. 좀 허무하다. 가로등이 없어서 헤드라이트가 없으면 위험하다. 다행히 문규씨 자전거에 헤드라이트가 달려있어서 잘 내려갔다.

문규씨와 반포 대교 앞에 있는 매점에서 음료수 한잔 후 헤어지고, 집에 돌아가는 길에 찍은 한강 야경. 왼쪽 동부 이촌동 아파트부터 오른쪽 동작대교까지 다섯장의 사진을 연결했다.


사진을 클릭하면 좀 더 큰 사진을 볼 수 있다.

서너번 더 올라가면 요령이 좀 붙을 것 같다. 체력을 더 키워야 겠다. 그리고, 문규씨 자전거의 기어비를 고려하더라도 문규씨의 체력은 정말 짱이다! 재작년 회사 체육대회때 이미 알아봤었다. 난 오후 마지막 순서 장거리 이어달리기까지 뛰고 나니 다리가 풀려버렸는데, 문규씨는 팔팔하더만~

그나저나 super program으로 찍은 사진은 이것까지만 될듯 하다. 주말에 상태가 좋은 kx를 구했거든. super program 샀을 때, 평생 쓰겠노라고 아이컵에 그립까지 달았건만 완전 기계식 바디인 kx로 다운그레이드(?)를 하게 됐네. super program 두 대는 팔 예정이다.

super program, 50mm | reala 100 | LS-30
2006-08-18

용문산

지난 광복절날 어머니랑 동생이랑 경기도 양평에 있는 용문산을 갔다왔다. 어머니가 교회 휴가를 얻어서 서울을 오셨거든. 동생이 복무했던 부대가 용문산 옆이었다. 갈때, 올때 차가 많이 밀린 것 말고는 산 자체는 참 좋더라. 계곡도 좋고, 산행 하기도 참 좋았다.

주차장에서 조금 올라가면 나오는 용문사. 더운지 동생 얼굴이 찌뿌둥하다.

뒤에 보이는 은행나무의 추정 수령은 무려 천백년. 용문사의 명물이다.
광각렌즈라 다리가 늘어났다. 실제는 저리 길지 않아.

용문사를 지나 계곡으로 올라가는 길에 만난 들 풀. 어무이가 이쁘다고 난리다.

계곡 무지 좋다.

저 계곡물이 고였다 가는 이 곳은 완전 수영장이다. 어무이가 등목 해줬다.

tokina 19-35mm, smc 50mm | fuji superia 100 | LS-30
용문산, 2006-08-15

토키나 19-35mm f3.5-4.5

일전에 백마를 사면서 팔아버린 28mm 광각렌즈의 빈자리를 메꾸고자 이번에 14만원을 주고 새로 구입한 광각 줌 렌즈다. 처음으로 중고가 아닌 새 렌즈를 산터라 나름대로 무척 뿌듯했고, 나중에 팔때 제 값 잘 받기 위해 보증서랑 필터 케이스를 박스 안에 잘 넣어서 서랍 앞에 보관중였다. 그런데 우리층 청소 하시는 아주머니가 여름 휴가를 가는 바람에 다른 층 아주머니가 오셔서 아침에 청소 하다가 고이 모셔둔 박스를 내다 버렸다. 아침에 출근해서 급한일 마무리 짓고 지하까지 내려 가서 엄청난 쓰레기 더미 속에서 갈기갈기 찢긴 박스 한쪼가리와 보증서만 겨우 찾아오는 우여곡절을 겪은 마음 아픈 렌즈다.

smc 렌즈에 비해 역광에서 플레어가 있다고 하는데 역광 사진은 아직 안 찍어봐서 잘 모르겠고, smc와 비슷한 색감을 내주는데다 필름 바디에서 19mm 라는 엄청난 광각을 보여줘서 무척 마음에 든다.

지난 주 일요일에 몇가지 마무리좀 하려고 오후에 출근해서 찍은 샘플 사진 몇장이다.

국민연금관리공단 쪽 회의실에서 옆에 서 있는 롯데 캐슬 쪽을 찍었다. 건물 조감도 삘이 나는구먼.

퇴근 전에 개발팀 쪽으로 찍은 복도

집에 가는 길에 청담 대교.

좀 어두운 렌즈긴 하지만 뭐 이 가격에 이 정도 성능이면 아주 훌륭하다.

변해가네

동생을 챙기던 누이는 자라서 누군가를 오빠라 부르며 그에게 챙김을 받게 될 것이고,

이 따위 약속, 저 모래성처럼 곧 무너져버릴 걸.

이젠 짧은 머리였던 때의 내 모습도 기억나질 않아…

50mm, 135mm | agfa vista 100 | LS-30
지난 2006년 7월 어느 초여름 날 찍은 필름 스캔

목포

경주 여행을 끝내고 남은 여름 휴가 기간중 3일을 목포 부모님 뵈러 다녀왔다. 8시가 좀 넘은 시간에 목포에 도착했던 듯 하다. 목포가서는 흑백필름과 컬러 네거필름을 같이 사용했다.

목포역 플랫폼. 갈수록 이 플랫폼은 낯설어져만 간다.

목포역을 벗어나 집으로 걸어가는 길에 구시가지에 루미나리에를 조성해 놓은것을 보게 되었다. 구시가를 살리기 위해 시에서 많은 노력중인가보다.

다음날.

아버지가 좁은 마당의 화단에 그물 침대를 걸어놓고 신선놀음 중이시다.

삼각대 세워놓고 옆에 쪼그리고 앉아 한장 찍었다.

2층 베란다에서 멍멍 개짖는 소리가 나길래 2층으로 올라가 봤다.

반갑다 새끼야~ 마치 이러는 듯 하다. 이 녀석은 처음 보는 녀석이다. 집 아래 세탁소가 유기견 센터인데 거기 아저씨가 주었다고 한다.

작년 겨울에 원래 키우던 강아지가 교통 사고로 죽은 후 새로 집에 들어온 녀석. 전에도 한번 봤을 것이다. 짜식, 오랫만이다.

낮엔 할머니 댁에 다녀왔다. 예전엔 사촌동생들과 같이 지내셨는데 동생들이 시집가고, 직장구하러 타지로 가고 해서 지금은 할머니 혼자 계신다. 용돈 3만원을 쥐어 드렸더니 니가 뭔 돈이 있다고 그러냐… 하시면서 되려 그 돈으로 다시 돼지고기 만원 어치를 사시더니 집에 가서 김치에 볶아 묵어라 하시면서 쥐어 주신다. 못내 아쉬우신지 오늘 자고 가지 그러냐… 하신다. 90이 넘으셨지만 이가 빠지신것 말고는 허리도 꼿꼿하고 정말 정정하시다. 오래오래 사셔서 손주며느리도 보셔야지요.

할머니 사진 한장 찍어요~ 했더니 그럼 옷입어야제~ 하면서 벗어놓은 저고리를 다시 입으신다.

할머니 댁에 다녀와서 저녁에 유달산에 잠깐 올라갔다 왔다. 날이 어두워져가는지라 이등바위만 갔다.

이등바위에서 바라본 다도해. 섬이 많아 당최 수평선으로 해가 떨어지는 모습을 볼 수가 없다.

등을 돌려 시내도 한장 찍었다. 내가 떠난 10년 사이에 저 너머 산 뒤로 대규모 아파트 단지도 들어서고 오른편엔 대형 조선소도 들어 왔다. 더디지만 조금씩 발전해 가긴 한다.

오른편의 유달산 일등바위. 오른쪽 귀퉁이에 불빛이 보이는 곳은 삼호조선소이다.

날이 어두워져서 산을 내려오는데 유달산 문화의 집이 시끌벅적하다. 무슨 행사를 하나보다. 들어가서 잠깐 구경을 했다.

Mo’Better Blues 를 멋들어지게 연주하던 퓨전밴드 오감. 국악과 양악이 썩 잘 어울린다.

저녁엔 어머니와 여동생이랑 집 아래 유황오리탕집 가서 오리전골을 먹고 시내 산보를 갔다. 가서 루미나리에를 배경으로 한장 찍었는데… 그 사진은 안타깝게 망쳐버렸더군. 노출 부족으로 얼굴이 안보인다. 이번 추석엔 가서 가족사진을 한장 찍어 와야겠다.

다음날 오전 11시 기차를 타고 서울로 돌아왔다. 고향엘 가도 고향에 왔다는 편안함은 언제부터인지 사라졌고, 그렇다고 서울은 외롭기만 하니 중간에 붕 뜬 기분이다. 그래서 자꾸 여행을 하고 떠돌고 싶어지나 보다.

백마 사다

일명 구형 백마, 정식 명칭은 smc PENTAX-FA 1:2.8 100mm MACRO 인 렌즈를 샀다. 27만 5천원. 매크로 렌즈의 비수기인 여름인데다(백마의 성수기는 봄, 가을이다), 신형 백마(PENTAX-DFA)가 나온지 일년이 넘은지라 구형 백마값이 요즘 똥값이거든. 하지만 가격이 똥값이라고 성능도 똥값이냐. 절대 그렇지 않다. 각 메이커별 100mm 매크로 렌즈는 50mm 표준 렌즈와 더불어 최고의 광학적 성능을 갖고 있기 마련이다.

퇴근해서 집에 오니 마땅히 찍을 만한 것이 없어서 초저녁에 떠있는 달을 찍었다.

135mm로 항상 찍던 한강 야경.

자, 여기까지는 일반적인 100mm 망원렌즈의 기능이고, 이제 매크로 렌즈의 기능인 접사를 보자.

백마

50미리 표준

각각 최소 초점거리(백마 30cm, 표준 45cm)에서 찍은 사진이다. 아래 사진에서 보이는 추처럼 보이는 것의 실제 크기는 100원짜리 동전보다 살짝 크고 500원짜리 동전보다는 살짝 작다. 저 풍경의 실제 크기가 대충 짐작이 되는가. 1:1 배율의 매크로 렌즈를 1.5배 크랍 디지털 바디에 물리니 효과가 더욱 크다. 이번 경주 여행때 매크로 렌즈가 없음이 얼마나 안타까웠던지… 이 렌즈를 사느라 a135mm/f2.8, a28mm/f2.8 두 렌즈를 팔고, 거기에 만원을 더 보태 산 렌즈지만, 추가비 만원이 주는 만족감은 100만원 어치다. AF렌즈인지라 MF렌즈보다 가격이 비싸지만 MF 1:1 매크로 렌즈는 매물이 거의 안나오는지라, 조급한 마음에 AF를 샀다. 다음 여행갈때 즈음엔 팔아버린 28mm 광각렌즈의 빈자리를 채워줄 헝그리 광각 렌즈를 구하고 있겠지만, 묻지마표 헝그리 28mm는 3만원 정도면 살수 있기 때문에 그때 가서 구하지 뭐.

저 극악한 심도 보이는가? 심도가 무척 얕기 때문에 조금만 흔들려도 초점이 나간다. 삼각대가 필수이다. 매크로 렌즈인지라 인물 사진을 찍으면 얼굴의 땀구멍까지 잡히는 부작용도 있긴 한데 헛… 그건 그때 가서 생각하자.

자자, 이제 연꽃 찍으러 가자!!!