2012/06/26

침체기를 이해하고 상황을 보는 새로운 시각을 얻기

빨간 사과로부터 아래로 떨어지는 굵은 빨간 물방울이 그려진 <거대한 침체>는 21세기의 다양한 사회 현상이 언제부터 어떤 이유로 발생하게 되었고, 이 문제를 풀어가기 위한 하나의 담론을 제시합니다.

도서에서 분석하고 비판하고 있는 내용을 다룬 국가는 "미국"입니다. 사실 "한국"에서 보아도 별 차이가 없는 내용이기도 합니다.

본 도서에서 책을 가로지르는 하나의 주제는 "쉽게 따는 과일" 입니다. 저자는 이런 쉽게 따는 과일을 통해 개인과 정부, 기업이 크게 성공했다고 주장합니다.

이런 주장이 크게 틀렸다고 말하기는 어렵습니다. 한국에서도 쉽게 따는 과일이 있었기 때문입니다. 동 출판사의 <경제학자의 인문학서재>에서 언급되었던 <난장이가 쏘아올린 작은공>에서 보이다 싶이 저임금의 문제와 1960-70년대의 낮은 비용의 토지, 낮은 학력은 정부가 쉽게 이용할 수 있었습니다.

그와 같은 이유로 한국사회에서도 1970-80년대 정치적인 것과는 별개로 산업이 급속도로 성장했으며, 많은 사람들의 고학력화가 진행되었습니다. 도서에서 언급하는 것과 같이 이런 쉽게 따는 과일로 한국정부도 급속적으로 성장했지요.

동 출판사의 <탱고경영>에서 마켓의 버전별 진화를 나타내었다면 타일러 코웬도 경제를 과거의 경제와 신경제로 나누어 현재의 상황을 설명합니다.

하지만 이런 측면에서 철저하게 살펴봐야 하는건 객관적 측정이 불가능한 정부 지출, 의료서비스, 교육에 대해 현실을 이야기합니다.

이런 이야기는 한국에서도 쉽게 찾아볼 수 있습니다.

정부 지출 : 복지 비용 및 4대강 공사와 도로 통행료 등..
의료 서비스 : 포괄수가제 논란
교육 : 공교육과 자율형 사립고, 대학 통폐합

정부 지출은 아마 유래를 찾기 어려울 정도로 정확한 추정이 되지 않는 지출로 불립니다. 정부가 지출하는 비용은 초기 투자에선 인프라를 구축하고 하는 것은 그 효용성이 크지만, 이미 건설된지 오래된 제1 경인고속도로의 통행료 징수처럼 투자 비용을 모두 회수한 도로에 대해서 최소한의 비용을 투입하면서 통행료를 징수하고 있는 것처럼요.

4개당 공사도 치수와 수질 개선이 목적이라곤 하지만 실상의 공사 결과는 이와는 정반대의 결과로 가고 있기도 합니다.

복지에 대한 지출도 그 효용성을 판단하기가 가장 까다롭습니다.

개인적으로 아는 지인 분중에 의사 직업을 가지고 계신 분이 있습니다. 그분 뿐만 아니라 대부분의 의사들이 요즘 정부에서 시행하려고 하는 포괄수가제에 대해 강력히 반발하고 있습니다. 왜 의사들이 정부의 포괄수가제 정책을 강력히 막고 있는 것일까요?

포괄수가제는 환자에게 의사가 일정 이상의 비용을 받지 못하도록 강제하는 것입니다. 현재의 행위별 수가제는 환자에게 의료서비스에 돈을 많이 투자해도 그만큼의 결과를 얻지 못한다는 탁상 공론에서 시작된 이야기가 아닐까 싶습니다.

환자에게 마냥 좋아보이기만 한 포괄수가제는 역으로 함정을 가지고 있습니다. 의사가 환자에게 꼭 써야 할 약이나 도구를 쓰지 못한다면 그것만큼 환자에게 큰 피해를 가져오는 것도 없을 것입니다.

하지만 우리가 일을 함으로서 받는 비용처럼 의사들도 땅파서 진료하는 것이 아니니만큼 작은 수익이라도 남기려면 그만큼 저렴한 비용과 도구를 선택할 수 밖에 없을 것이며 결과적으로 의료질의 저하를 가져올 수 있을 것입니다.

교육적인 측면에서도 한국에선 아이들의 성장에 좋다며 조기 영어 교육에 열을 올립니다. 독자도 90년대 중반에 중학교를 다니기 이전에 한달 가량 영어 학원에서 수강을 들은 적이 있습니다.

그런데 이렇게 투자한다고 해서 아이들의 영어 실력이 급속도로 성장할까요? 마찬가지로 국영수로 불리우는 사교육 3종 세트는 지난 이십여년동안 학부모들의 애를 태우고, 아이들의 심장을 멍들게 했습니다.

공교육에서도 이런 사교육에 길들여진 탓인지 밑빠진 독에 물을 붓는 것처럼 아이들에게 사교육을 전제로 한 교육을 하고 있기도 합니다.

무엇보다 이렇게 교육을 한다고 해도 모든 사람들이 초등학교부터 고등학교를 지나 대학교까지 안정적으로 다니고 졸업하는 것은 아닙니다. 어떤 사람들은 범법 행위로 죄를 지어 학교를 자퇴하거나 퇴학 당하기도 하며, 개인적인 사정에 의해 학업을 중단하기도 합니다.

이렇게 펼쳐놓고 보면 정부 지출과 의료서비스, 교육은 비용을 지출한 만큼의 효과를 볼 수 없는 것은 자명한 일입니다.

이런 신경제 사회에서 우리는 인터넷이란 달콤한 열매를 받아들였습니다. 적은 비용으로 고효율을 내고자 하는 것이죠. 독자도 IT 업종에 근무하고 있지만 이러한 IT 일이 기업의 고용을 촉진한다고 생각하진 않습니다.

무엇보다 인터넷이 대부분 무료로 제공되며 지나치게 수익성을 배제하기 때문입니다. 이와 같은 논란에 대해서는 한국정부가 표방하는 녹색 정부. IT를 이용해서 종이 사용량을 줄인다거나 하는 등의 정책을 장려하고 있지만 실제 IT 정책은 표류하고 있는 것을 보셔도 좋은 사례가 되지 않을까 싶습니다.

타일러 코웬은 이보다 좀 더 나아가 인터넷이 경기 침체에 대해 잠시동안 시간을 지연해주는 마취약으로 봅니다. 어쩌면 이미 고성장은 끝났고 저성장이 시작된지 한참 되었음에도 인지하지 못하는 것이 바로 인터넷 때문이라고 보는 것이죠.

쉽게 따는 과일에 대해선 앞서 잠시 언급했었습니다. 이런 쉽게 따는 과일을 가장 먼저 차지한 이는 다름 아닌 민간 기업이고, 이어서 정부였습니다.

정부는 이런 쉽게 따는 과일을 먹고 진보주의자는 복지에 대한 비용을 늘리자고 하고 보수주의자는 줄어든 비용만큼 감세를 하자고 주장합니다.

어느쪽이든 복지는 그 비용이 확대될 수 밖에 없습니다. 늘어나는 인구만큼 비용이 확대되지 않으면 그만큼 논란이 발생될 소지가 있음은 자명합니다. 무엇보다 GDP에서 차지하는 정부 지출이 최소 20%에 이르는것을 감안한다면 복지 비용을 전담해서 지출하는 정부 입장에선 복지 비용을 줄이고 싶어하기도 하며 복지에 대한 경제 효과의 계산이 어려운 것도 하나의 문제에 속합니다.

그렇다고 해서 보수주의자들이 주장하는 바와 같이 늘어난 정부 지출을 감소화하고 개인의 GDP 생산량을 늘리기 위해서 감세하자는 주장은 그 나름대로의 문제가 존재합니다.

세율을 낮추면 세입이 늘어난다고 주장한 미 상원의장 출신의 미치 맥코넬의 이야기와 달리 세율 감소가 오히려 세수 감소로 정부 비용 확보에 실패한 사례가 그것입니다.

한국에서도 여전히 이런 문제는 논란의 중심에 서 있는 이야기입니다.

그렇다면 쉽게 따는 과일을 향유할 수 있도록 만들어주었던 주요한 계기는 무엇이었을까요? 타일러 코웬은 운송, 산업생산, 전자통신, 과학적 관리의 총 4가지 기술적 흐름을 뽑아내어 이야기합니다.

미국처럼 거대한 땅을 하나로 묶기 위해서 때마침 나타난 철도의 도움을 받았으며 대량의 물건을 값싸게 생산할 수 있었던 산업생산 시설은 너무나 쉽게 큰 세금과 규제의 대상이 되기도 했습니다.

전자통신의 발전은 아무리 멀리 떨어져 있어도 바로 지척에 있는 것처럼 서로를 묶어주었습니다. 이런 전자통신 매체를 가장 잘 활용한 미 대통령은 프랭클린 루스벨트인데, 한국에서는 누구를 뽑을 수 있을까요? 개인적으론 이승만 대통령이라고 생각하지만 그는 6.25 사변 당시 전자매체를 말도 안되게 쓰고 말았지요(흩어지면 죽고 뭉치면 산다 라는 말로 말입니다).

독일 전체주의 국가로 이끌었던 독재자인 히틀러가 수많은 유대인을 가스시설에 넣어 사상시킨일은 유래를 찾아볼 수 없을 정도로 가장 잔인하고 끔찍한 일입니다.

그가 아무리 유대인에 대한 좋지 않은 감정을 가지고 있다고 해도 정부의 서류 관리가 되지 않았다면 불가능한 이야기였을 것입니다. 타일러 코웬은 바로 이런점에서 19세기 이전엔 어떤 큰 정부도 개인의 정보를 체계적으로 관리하기 어려웠다고 말합니다.

한국에서는 비교적 빠르게 이런 과학적 관리가 도입된 편이지만 잦은 외세의 침략으로 대부분의 문서가 불타거나 해외로 강제 반출되는 수모를 입기는 했지만 중간중간 드라마에서 나오는 것처럼 한국의 정부에선 문서 관리가 잘되는 편에 속하기는 했습니다.

타일러 코웬이 고백하듯이 현재의 IT기술로 과학적 관리가 훨씬 더 조직적으로 쉬워졌습니다.

본 도서를 관통하는 또 다른 키워드인 저성장 시대는 현재의 금융위기를 단적으로 표현해주는 적절한 단어가 아닐까 싶은데요. 동 출판사의 <눈먼 자들의 경제>와 <화이트칼라의 범죄자들>에서 언급되듯 경제 위기의 시작은 아직도 경제가 고성장으로 알고있는 은행가들과 이를 미끼로 사람들을 교묘히 속인 금융 범죄자들에 대해서도 잠시 살펴볼 필요가 있습니다.

방금 언급한것처럼 이미 쉽게 따는 과일은 모두 따버렸고 우리가 살고 있는 경제시대는 저성장 시대를 가고 있습니다. 그럼에도 불구하고 AIG를 파괴한 조셉 카사노, 세상을 파괴한 남자. 마크 드레이어, 잘나가던 금융 중개사에서 피라미드 사기자로 전락한 버나드 메이도프까지 모두 아직도 경제가 고성장이었다고 믿으며 사람들을 교묘히 속였습니다.

이런 금융 범죄로 인해서 수많은 사람들이 목숨을 끊거나 거리로 내몰리게 된것은 두말할 나위도 없습니다.

하지만 이런 금융 범죄가 발생할 수 있도록 단초를 제공했던 서브프라임 대출, 금융 파생상품 문제가 동시에 발생할 수 있었던 것일까요?

타일러 코웬은 여기에 대해 다음과 같이 이야기합니다.

"사람들이 실제보다 부유하다고 생각한다"

독자도 사실 개인 명의로 된 집을 소유하고 있습니다. 하지만 주택을 소유한 여러 이유 중 하나는 집에 대한 가치가 늘어날 것이라는 생각이 있었기 때문이었습니다.

미국에서는 서브프라임 대출이 한국에서와 같이 주택에 대한 가치 상승으로 인한 주택 가격 상승 기대와 달리 미 정부가 돈이 없는 사람들에게도 정부가 무자본을 가진 사람들에게 100% 대출을 해주면서까지 서브프라임 대출을 해준데에도 그 문제가 있습니다.

동 출판사 <눈먼 자들의 경제>에서 언급되듯 AIG가 파산한 것에 대해서는 자회사 AIGFP의 서브프라임 대출에 대한 지급 보증건도 하나의 이유가 되기도 했습니다.

하지만 금융위기는 비단 이런 연유에서만 발생한 것은 아닙니다. 반복되는 위기를 겪어낸 사람들이 항상 겪는 무사 안일 주의도 하나의 이유가 되기도 했습니다.

게다가 투자은행들이 지나치게 차입 비율을 높인 것도 하나의 문제가 되기도 했습니다. 이 사례와 관련해선 한국에서의 저축은행들이 하나둘씩 문 닫게 된 것을 보셔도 좋은 사례가 되겠습니다.

타일러 코웬은 마지막으로 쉽게 따는 과일을 모두 향유한 지금 거대한 침체기를 벗어나기 위해선 과학자의 우대가 필요하다고 봅니다.

그는 저성장 시대를 살아가기 위해서 우호적인 추세를 만들어 나갈 필요가 있다고 봅니다.

첫째는 인도와 중국의 과학과 공학기술에 대한 관심과 두번째는 수익성을 내기 힘든 인터넷이 수익성을 내게 될것이라는 것입니다. 이와 관련한 도서로 동 출판사의 <클라우드 혁명>을 통해 좀 더 자세히 진단해볼 수 있겠습니다. 또한 인터넷을 통해 상호간에 소통이 원활해지는 '인식의 잉여' 현상을 통해 스스로 배우게 되는 일이 늘어날 것입니다. 세번째는 미국의 교육과정에 대한 이야기인데 전반적으로 교육제도의 질과 결과 책임체제를 개선할 계획을 획기적으로 개선할 구체적인 조치를 미국 유권자들이 지지하고 있다는 점입니다.

적어고 한국에서는 공교육의 변화를 바라는 유권자가 많지 않은게 문제이지만요. 그나마 현, 서울 교육감과 경기 교육감의 당선 및 연임 사례는 무척 고무적인 일이기는 합니다.

타일러 코웬은 본 도서를 통해 다시한번 쉽게 따는 과일을 찾는 방법을 제시하는 것이 아니라 10여년 이상 장기 침체기를 겪으면서도 조금씩 발전해왔던 일본의 사례를 제시하며 과학에 대한 관심을 기울여줄 것을 당부합니다.

어쩌면 거대한 침체는 시작된지 오래된 이야기일지도 모르지만, 한 가지 확실한 것은 우리는 조금씩이라도 앞을 향해 가고 있다는 것입니다.

본 도서를 덮고 리뷰를 쓰고 나서야 마지막 장에 대한 생뚱맞은 의아스러움이 걷혔습니다. 타일러 코웬이 하고 싶은 말은 저성장 시대를 살아가기 위한 하나의 해결책이 될 수 있다는 점에 대해서 말입니다.

이 시대를 살아가는 모든 사람들에게도 현 시대를 파악하기 위한 이정표로 본 도서가 활용되기를 기대합니다.

끝으로 풍부한 식견을 가지고 시대를 짚어내는 저자에게 감탄하고, 이를 훌륭하게 번역해준 역자에게도 감사 말씀 드립니다.

고맙습니다. 

2010/09/17

2010년의 나에게

2010 년의 나에게

안녕하세요?
2010 년 무렵의 자신을 그립게 생각해냅니다.
나는 85 세에, 즉 서기 2067 년에 모두에게 지켜 보면서 인생을 마감합니다.
괴로운 일도 있었지만, 매우 멋진 인생이었다고 생각합니다.
하나만 과거의 자신에게, 즉 지금의 당신에게 전해두고 싶은 일이 있습니다.
그것은 2013 년 가을의 사건.
나는 뉴욕에 여행을 갈 수 있습니다.
그 일이 후의 인생을 크게 좌우하게됩니다.
있으면 기억하십시오.

마지막으로 한마디.
85 년간 살아보고 생각한 것은,
"잊고 싶은 추억만큼 소중한 추억이야"라는 것.

그러면, 또 언젠가.
앞으로의 인생도 챌린지를 두려워하지 않고.

Lee Sang Ho보다 2067 년의 천국에서

2010/09/06

기자가 관심이 없는건지, 전 중수부장 나으리께서 국어를 모르시는 건지..

프런티어 기사의 한 토막

대검 전 중수부장 이인규 변호사의 항변..

"그는 또 박 전 회장의 돈 흐름에 대한 질문에 "지금 야당에서 활발하게 활동하는 정치인도 최소한 1만달러를 박 전 회장한테 받았다고 내가 개런티(보증)할 수 있다"라고도 폭로했다."

개런티는 사전적 뜻으로 출연료를 말하는데..

개런티가 아니라 워런티(보증)으로 써야 한다.

기자가 정신이 없던걸까 아니면 전 중수부장 나으리께서 국어에ㅔ 관심이 없으신걸까. 그런데 영어로 써도 안 헷갈리겠다 ㅋ.


2010/09/03

다시 안 볼줄 알았던 PHP..

한 때 웹 사이트를 만들고 그 안에서 사용자와 인터랙션 하는 것을 만들기 위해서 PHP라는 스크립트 언어를 사용했었습니다. 한국에선 2000년대 초반 무척이나 많이 쓰였고 PHP의 라이선스가 GPL를 따르고 있어서 GPL과 함께 인식되는 리눅스는 그 세를 같이 입어 한참을 유행했었지요.

그러던 PHP를 저도 배웠었고 그 당시엔 훌륭하다 라는 말 밖에 못했었지요. 2002년 까지만 하더라도 어떤 종류라도 프로그램을 만들지 못하던 제가 PHP로 말미암아 본격적은 아닐지라도 프로그램을 만들 수 있게 되었던 고마운 언어였습니다.

그리고 시간이 좀 흘러서 2004년 저는 파이썬을 알게 되면서 6년이 지난 지금까지도 파이썬에 매달려고 살고 있습니다만, 그 당시 같은 이유로 PHP를 버리게 되었습니다. 사실 PHP가 너무 싫은 건 아니었습니다. PHP 레파지토리라 할 수 있는 Pear나 많은 사람들이 만들고 공개하고 또 판매한 솔루션이 많았으니까요.

그런데 등을 돌리게 된건 PHP가 함수 기반 언어이고 파이썬이 객체 기반 언어였다는 것이었습니다. 요즘 나날이 객체의 특성을 더해가는 PHP를 보면서 파이썬은 저런 부분은 아직인데.. 라는 생각 많이 합니다. 어쩌면 부럽지만요.

파이썬은 저한테 프로그램은 이렇게 만드는 것이구나를 알게 해준 언어였습니다. 코드를 프린트해서 보는 것만 아니라면 훌륭한 언어였지요. 단 몇줄만으로 제가 원하는 일을 할 수 있었으니까요..

그래서 PHP를 접었습니다. 관심있어 사둔 PHP책은 아무의미 없이 되어버렸지요. 원서를 비롯해서 제법 책이 있는데..

PHP에 대한 제 개인적 사과라고 해야 하나요? 요즘은 Oreilly의 Programming PHP라는 책을 보고 있습니다. php 창시자인 Rasmus Lerdorf 가 직접 저술한 책인데, PHP로 먹고 살고 있을 땐 내가 참 못했구나. 우물안 개구리였구나 생각하게 해주는 책입니다.

정말 더한 사과의 의미라고 하긴 어렵지만 잠시나마 PHP가 불편한 언어라고 생각했던 것에 대해 PHP와 제 자신에게 사과합니다.

감사합니다. PHP

2010/07/30

타블로 학력논란, 가족으로 비난의 화살 돌리나.

몇해전 동국대 교수였던 신정아의 학력 위조 이후 공공연하게 연예계에 학력 논란이 발생하고 있다.
그룹 에픽하이의 타블로씨가 최근엔 가장 좋지 않게 사태가 커진 상황이다.
그런데 시간이 지나고 보니 이 위조 논란이 그의 가족에게까지 퍼지고 있다.
타블로씨의 형인 이선민씨, 그의 누나와 아버지, 어머니까지 학력 논란을 불러 일으키고 있는 것이다.
당사자들은 정말 어이없는 논란에 그들의 인적사항을 모두 공개했으나 일부 정말 몰지각한 네티즌들은 이해하지 못하는 모양이다.
당사자들이 받을 상처는 아랑곳하지 않은가? 왜 그들이 증거 자료를 제시함에도 불구하고 믿어주지 않은가.
혹시 이런 학력 위조 논란을 퍼뜨리고 있는 네티즌 스스로 "나는 학력을 돈주고 샀다"를 감추기 위해 죄 없는 사람을 공격하는 것인가?
하기는 "나는 군대 면제 받았다", "나는 학생활동 경력이 있다", "나는 서민 출신이다", "나는 미국이 존경스럽다" 라고 말하는 모 국가 대통령과 모 국가 모 당의 최고위원님들과 대표님은 각성하셔야 한다.
죄없는 사람은 공격 당하고 자기들처럼 죄 많은 사람은 감동적이지도 않고 슬프지도 않은 과거 이야기를 시시콜콜 털어놓으며 참 힘들었습니다. 라고 말하며 정작 힘 없는 자의 아픔은 이해하지도 못하면서..
저는 타블로씨와 그의 가족 모두를 믿습니다. 정작 비난 받아야 하며 죄값을 치러야 하는 사람들은 학력도 구입하고 유난히 과거를 털어놓으며 눈물짓는 사람들이어야 합니다.
네티즌 여러분. 아무리 힘들어도 자신이 살기 위해 남을 비난하지 맙시다. 언젠가 똑같이 되돌아 올겁니다.

2010/07/29

국립국어연구원에서 표준어로 제정한 누리꾼을 번역하면..

국립국어연구원에서는 몇해전에 네티즌의 순 우리말을 공모해서 가장 많은
투표 결과를 받은 누리꾼을 순 우리말로 선정했다.

누리꾼은 네티즌을 나타내기엔 다소 부적합 한데 그 이유는 다음과 같다.

누리꾼이 다음을 뜻하기 때문이다.

세 계를 뜻하는 '누리'에 사람을 나타내는 '꾼'을 보탠 말

이렇다면 세계인(외국인)은 모두 누리꾼이란 말인가? 확대해석하면 누리꾼은 인터넷을 하지 않는 외국인도 누리꾼이라는 거다.
한마디로 국어의 잘못인거다.

그래서 한번은 국립국어연구원에 누리꾼이란 단어는 재선정해야 한다 했더니 깊은 관심 가져 주셔서 감사하고 다시 바꿀수 없다 한다.

정말 이대로 네티즌이 나타내는 고유한 뜻이 누리꾼이라는 이상한 순 우리말에 끼워 맞춤 당하는 것은 아닐까 고민해야 하지 않을까?

2009/04/07

수취인불명 - 프리스타일

안되겠지 이젠



오 잘 지내니 나는 요즘 그냥 그렇게 살어

예전보다 살만한데 맘은 그렇지 않아

안본지 오래됐어 요즘에 너는 어때

나 같은거 이제는 별로 관심 없겠지만

그건 좀 어때 예전에 달고 살던 기침은

약 좀 잘 챙겨먹어 고집 부리지 말고

감기라도 걸리면 넌 무척 오래 가잖아

따뜻하게 좀 입고다녀 멋 부리지 말고

요즘 들어서 친구들이 내게 자꾸 말해

사랑은 다른 사랑으로 잊어 버리라고

안쓰러운 눈빛으로 나를 보며 말해

머리가 멍해지고 말라가는 병에 걸렸다고

길을 걷다 멈춰서 한숨만 쉴거라고

이름을 불러도 잘 듣지 못할거라고

눈만 뜨고 있지 사는게 아니라고

당분간 그 심장은 잠시 멈출 거라고



왜 이런거죠 내가 왜 이런거죠

아무렇지 않은데 왜 내가 힘들까요

내가 아픈가요 많이 아픈가요

난 아무렇지 않죠 정말 아무렇지 않죠 모든게



그래 니가 오늘하루 아무런 일도 없듯

나 역시 오늘 하루도 보통으로 살어

그런데 사람들이 나를 보며 말해

그러다 죽겠다고 이젠 좀 잊으라고

내색조차 않하려고 정말 애쓰는데

결국 아무리 숨겨봐도 나는 역시 안되

그렇지 내가 하는 일이 다 그렇지 뭐

사랑하는 사람조차 볼수 없으니까

오랜만에 니 생각나 편지한통 썼는데

그런데 마땅하게 어디로 보낼 곳이 없어

사실은 나 미치도록 니가 보고 싶고

많이 아파 너무도 힘들다고 말하려고 했어

내가 지금 뭘 어찌해야 할지 어떻게 시작할지

너에게 물어보려 해어

정말 뭐가 뭔지 대체 정말 뭐가 뭔지

나는 어떻게 너 없인 아무것도 못해



왜 이런거죠 내가 왜 이런거죠

아무렇지 않은데 왜 내가 힘들까요

내가 아픈가요 많이 아픈가요

난 아무렇지 않죠 정말 아무렇지 않죠 모든게



왜 이렇게 살아가는지 이렇게 힘든지

왜 이렇게 된거죠

아무 일도 없던 것 처럼 난 웃고 지내요

정말 아무렇지도 않게



근데 왜 이런거죠 내가 왜 이럴까요

아무렇지 않은데 왜 내가 힘들까요

내가 아픈가요 많이 아픈가요

난 아무렇지 않죠 정말 아무렇지 않죠 모든게

근데 왜 자꾸만

2007/11/29

도덕적..

불교방송 초청 토론회에 이명박 후보가 출연해 도덕적 죄를 저지른 바가 없다고 한다. 저질렀으면 어떻게 대선후보에 나갈 수 있냐고 한다.

http://kr.news.yahoo.com/service/news/shellview.htm?articleid=2007112919241760518&linkid=20&from=rank

근데 이게 웃기다. 자기 자식들을 자신이 만든 회사에 근무도 안하면서 등재시킨건 도덕적 죄가 아니고 실수라고 말을 하고 있는 거다.

돈 없는 나 같은 사람들은 그럴 생각도 못하는데 도대체 이명박 후보가 말하는 도덕적 죄라는 건 나 같은 평범한 사람 딴에서의 윤리를 말하는 건지 아니면 이명박 후보처럼 돈 많은 사람들의 세계에서 통용되는 윤리인가?

...

클린 정치란 과연 무엇인가..?

클린 정치란 과연 무엇인가?

아까 잠시 신문들을 뒤적거리다 끌리는 타이틀이 있어 본문을 읽어보았다. 근데 왠걸 재밌다.
클린 정치란 무엇일까?

깨끗한 정치..
클린이란말이 가지고 있는 영문자의 뜻은 무얼까..

(~·er; ~·est)
1. 깨끗한, 청결한; 더럽지 않은, 산뜻한; 아주 새로운, 신선한; 청결함을 좋아하는( dirty, unclean).



1. 깨끗하게; 청결하게.

2. 《구어》 완전히, 충분히.

━ (~s [-z])

1. …을 깨끗하게 하다; …을 말끔히 치우다, 정돈[청소]하다.

clean 부착물 따위를 제거하여 말끔한 상태로 되돌리다; 방법·수단을 불문한다. cleanse (화학적 방법 따위로) 불결·유해물을 완전히 제거하고 깨끗하게 하다; 정신적·도덕적인 뜻으로도 사용한다.

━ 깨끗해지다; 청소하다; 청소되다.



1. (a ~) 깨끗이 하는 것, 손질, 청소.

2. 〈역도〉 클린(바벨을 어깨 높이까지 들어 올리는 것).

위와 같단다.

후보자의 클린을 위해서라면 방법, 수단을 불문한다는 것인가?

최근에 욕쟁이 할머니의 이명박 지지에 대한 광고가 있었는데, 이 광고에 나오는 할머니는 실제 사는 곳은 강남, 한나라당께서 섭외하셨단다.

도대체 한나라당의 클린 정치 위원회라는 건 이명박의 이미지를 깨끗하게 하기 위해 뭐든지 하는 집단인가? 아니면 그렇게도 잘 주장하는 공작정치를 없애자고 있는 집단인가?

그들의 정체성이 의심될때다.

2007/11/28

지금이 "성공시대" 의 시대로 보이는지?

잠시 휴식을 취할까 하여 다음 URL을 눈뜨고 쳐다봤다.

근데 재미있다. 전국 42개 대학 총 학생회장들이 MB 를 지원하신단다.

근데 이들의 지지선언이 더 웃기다. 자세한건 읽어보시고..

http://kr.news.yahoo.com/shellview.htm?linkid=20&articleid=2007112815415915834

주 내용중 하나가.. 경제를 살리는데 이념이나 가치는 필요없고 MB는 맨주먹 하나로 떠오른 사람이란다.

그러면 이렇게 가정해보자.

박정희 대통령이 경제를 일으키는데 이념이나 가치를 중요시 하지 않아 현재까지 무엇이 산출되었는가? "지역감정", "건설 중심" 이 그것이다.

물론 건설이 외면 당해야 하는 것은 아니지만 이제 한국이란 나라에서 맨주먹으로 일어서 한 사람이 아래사람들을 이끄는 세상은 아니다.

그리고 이력서 쓰는데, 나도 시간 보내는거 사실이지만 이건 너무 하다 싶다. 그러면 니네들은 이력서 한통 제대로 쓰지도 못하면서 회사 취업할 생각 하냐? 나원참 기가막혀..

2007년 현재는 노무현 대통령이 닦아놓은 일을 기반으로 미래로 가야 할 시기지. 성공시대를 다시한번 일굴 시대는 분명히 아니다.

정신들 차려라. 이눔들아. 어떻게 배웠다는 놈들이 편한길만 가려고 그러냐 -_-

도대체가 ...

2007/11/07

이런말을 하면 안되겠지만..

이런말을 하면 안되겠지만.. 원더걸스.. 어찌보면 희생양이다. 마케팅의 희생양

개인적으로야 소은양을 좋아라 하기 때문에 굳이 빠져들 이유도 없지만...

아이들을 위한 것이 아니라 그저 회사의 상업성을 위한 마케팅..

후후..

2007/10/28

1 개의 생각과 1개의 길

삶에는 1개의 생각과 1개의 길이 있다.

다만 1개의 생각이 1개의 길을 결정한다는 것이다.

사랑 또한 마찬가지이다. 1 사람과 1 사람이 만나서 사랑을 하는 것이다.

나는 언제쯤 남은 1개를 찾을 수 있을까..?

2007/10/26

뻔뻔한 발언

- 술자리에 여종업원들도 있었나?
"3명 있었다. 원래 여종업원이 없는 술집이었다. 그런데 (누군가) 전화로 (여종업원을) 부르는 것 같았다."
-> 원래 없었다면 불렀어도 나왔어야 하는 법. 정치인이 그런 얘기로 시끄러울게 뻔한데 이런걸 답변이라고 하는지?


- 술값은 누가 계산했나.
"내가 계산을 하려고 카드를 꺼내니까 피감기관 쪽에서 '20만원도 안되는데 그걸 뭘 내시냐'면서 계산하더라. 근데 무슨 몇 천만원 (접대를 받았다고 기사가 나오)이냐."
-> 애시당초 술자리에 간 것이 잘못이다. 만약 의원님께서 지불하셨어도 이런 얘기는 나온다. 정치인은 더치페이 말곤 어떠한 상황에서도 말은 벌어진다.


- 술 자리는 몇시에 파했나?
"밤 10시 이전에 파했다. 그 뒤에 피감기관들이 자기들끼리 술을 마신 건지 어쩐 건지는 모르겠다."
-> 당연히 모르겠지!


- 식사자리에는 국감에 출석한 여야 의원들이 다 있었나?
"그렇다."(그러나 신당과 한나라당 일부 의원은 식사 자리에는 참석하지 않았다고 주장했다-편집자주)
-> 여권은 어느당이 있나? 식사자리에 있었던 모든 의원의 이름을 대는게 맞는 법.


- 한나라당에서 그날 국감에 불참한 의원은 누군가?
"강재섭·박형준·박성범·신상진 의원은 안왔다."(그러나 임 의원의 발언과 달리 박성범, 신상진 의원은 국감에는 출석했으나 식사자리에는 불참한 것으로 알려졌다-편집자주)
-> 자기 당의 의원님들이 누가 있는지도 몰라. 의원님 정치인이십니까?


- 보도에 대한 대처는 어떻게 할 건가?
"(상임위에) 올라가서 대책회의를 해봐야겠다."
-> 틀린말 한 것도 아닌데 열받을 필요있나?


- 당시 묵었던 호텔 이름은 무엇인가.
"○○○이다."
-> 정치인 돈 많네. 호텔도 가고 나 같으면 가장 싼 여관 간다.


- 식사자리에서 밥값은 누가 냈는지 아나?
"밥값 누가 냈는지 누가 아나. 국회서 냈는지 누가 냈는지…(모른다)"
-> 자신의 행동에 정당한 정치인이라면 자신의 밥값 정도는 자기가 내야 하는거 아닌가?


- 보좌관들 끼리 따로 술자리가 있었던 건 아닌가?
"그것까지 내가 어떻게 아나?"
-> 제 집 식구들(보좌관들)이 말 안해주면 이미 의원님에 대한 실망이 있는 것 아닌가?

-->
어느 당의 정치인께서 신문에 답해주신 질답을 내 생각대로 정리했다.

2007/10/25

오늘의 한마디

지식 없는 인격은 유약하고 쓸모없는 것이며, 인격 없는 지식은 위험하고 무서운 것이다 - 새뮤얼 존슨

2007/10/03

노무현씨 집이 어쨌다는 것이냐..

한 신문에 이런 댓글들이 달렸다.
 
 
잘 읽어보니 한 네티즌께서 미수다 게시판에 사유리를 욕한 모양이다. 노무현씨 집이라고 해서.
 
근데 문제의 본질을 많이 벗어나 있는 것처럼 보인다. 아니 적어도 그녀가 외국인이라서 그럴지도 모른다. 왜?
 
참여 정부. 다시 말해 노무현 후보가 대통령이 되면서 세워진 제대로 된 2번째 민주 정부가 출범하고 나서 옛날들과 다르게 대통령께선 국민의 손과 발을 향하셨고 국민을 떠받치려 들었다. 그런것의 성과로는 독재적인 모습이 없어졌다는 거다. 이건 굉장히 신임할 수 있는 아니 과거에 대통령을 함부로 욕하면 잡혀갔던 것과 사뭇 대조적이다. 다른 나라 사람이 노무현씨 집이라고 하면 어떻게 생각하면 그 나라 대통령을 가벼이 여긴다고도 볼 수 있지만, 더 친근하게 느낀다고도 볼 수 있지 않을까 싶다.
 
그리고, 한국인들 너무 주제 파악이 안된다. 나도 같은 한국인이지만 자기네들이 노무현 대통령에게 "노빠, 뇌빠" 등의 표현과 차마 국가원수에게 하지 못할말들을 쏟아놓고 이제와서 오리발이라니 한심하기 그지없다. 적어도 그런식으로 이야기 하지 않았다면 나도 이렇게까지 얘기하지 않았겠지만 무엇이 되었든 노무현 대통령은 현재 국가의 원수가 아니던가. 유교를 국교로 삼았던 우리의 마지막 왕조였던 조선도 결코 임금 앞자리에서 신하나 백성이 왕을 가벼이 하지 않았다.
 
지금의 한국은 도대체 어떻게 되먹은 나라인가. 반성들 좀 하시게나.

2007/09/19

허허 선배의 이야기를 전한 것 뿐이라..

모 정당의 모 대선 후보께서 최근 마사지걸이라는 말을 하셨나 보다. 그런데 해명 차원에서 이렇게 말한다 하더라
 
"내가 아는 45년전 이야기. 그것도 선배의 이야기를 전한 것 뿐이다" 라고
 
아니 그럼 그 후보께서는 대통령에 선출되셔도 다른 나라가서 높으신 분들 앉아계시면 이런 말 할 참인가?
 
"내가 아는 모 극빈국 이야기. 그것도 보좌관의 이야기를 전한 것 뿐이다" 라고
 
이 분 역사인식이 제대로 박혀있는 분인지 정말 의심스럽다. 언행을 조심해야 할 분이 이런 소릴 한다면 올바른 것이 그 어디에 존재하겠는가???

2007/08/31

여우비 - 임창정

멀어진 니 마음 이젠 상관없어 딴 남자들처럼 멋지게 잊어 볼테니깐. 많은 친구들이 내게 당부한 그녀의 가치 내겐 아무것도 느낄 수 없었던 너만의 멋. 왜 맨날 넌 시간이 없어 날 볼 때 또 딴 짓이니  널 원했던 건 맞아 나지만 그 댓가가 너무 커. 내 모양이 싫은 건지 가진게 없어 지쳤니 아냐 나도 싫어 너 같은 애 사실 이런 말하고 싶었어. 니가 뭐 대단한 미인인 것 같니 딴 여자들보다 못한 것도 많아 마음이지

맑은 봄날 여우비 같은 그녀 이해가 안가 내겐 잘해 준 적도 한번 없는 너였잖아. 왜 맨날 넌 시간이 없어 날 볼 때 또 딴 짓이니 널 원했던 건 맞아 나지만 그 댓가가 너무 커. 내 모양이 싫은 건지 가진게 없어 지쳤니 아냐 나도 싫어 너 같은 애 사실 이런 말하고 싶은데

(니가 반한 멋진 차 니가 반한 멋진 옷 니가 반한 그 무엇도 나는 없지만 지금은 그저 멋진놈 지금은 그저 미래만으로 모두 다 이겨 나갈 수 있어)

왜 맨날 넌 시간이 없어 날 볼 때 또 딴 짓이니 널 원했던 건 맞아 나지만 그 댓가가 너무 커. 내 모양이 싫은 건지 가진게 없어 지쳤니 아냐 나도 싫어 너 같은 애 사실 이런 말 하고 싶은데

슬레이어즈 Try Opening

아아~~
저 높은 하늘을 새가 되어 날아가고 싶어
아득히 먼 곳에 보이는 희망 찾아서
희망에 찬 마음으로 현실을 바라볼 수 있다면
더 이상 약해지지 않아
미래도 두렵진 않아
 
바람을 타고서 꿈에 저편 너머로
날아가고 싶어
용기의 날개를 달고서 날고싶어
 
새가되어 세상 바라보는 마음을
계속 간직할꺼야
어려운 현실을 난 이겨나갈꺼야!

You're Under Arrest 2기 Opening Theme

항상 혼잣말을 했었지
삶이 힘들때면
그래도 가슴뛰는 이 느낌
잃고 싶지 않아
꿈은 멀어져 가고
현실은 날 붙들고 있지만
바람이 불어올때도
웃는 얼굴 잃지 않고 힘껏 날 껴안고서
멋지게 살아갈꺼야
이제 Love Some body~
언젠지 몰라도
찾아낼꺼야
take my chance
온 세상 모든 시간이 멈춰도
저 하늘을 날고 싶어
이젠 Love Some body~
만나게 될꺼야
세상 하나뿐인 사람을
끝이 없는 젊음을 안고서
미랠 향해 달려봐
 

You're Under Arrest Ending Theme

항상 내 갈길을 고집했어
나만의 생각 그것 때문에
하지만 남은건 뜻 모를 외로움
 
늘 가까운 곳에 서있는 널
바라볼 수 밖에 없었기에
어쩔 수 없는 건 널 향한 그리움
 
가슴속 깊이 간직했던
아픔이 밀려와
말할수가 없었지 후~ 난 또 그자리
 
바람아 (불어오렴)
시간을 흐르게 하렴 (내마음 전해주렴)
영원한 시간속에 언젠가 아아~
말할 수 있을 것 같아
 
Thanks You Freinds...
 

2007/08/26

연예인들의 학력위조 혐의..

내 일하기도 바쁜데 잠시 엉뚱한데 시간을 좀 쏟아본다.

최근에 연예인들에 대한 학력 위조가 문화, 방송계에 커다란 바람을 불고 왔다. 많은 연예인들이 그런 분류에 속한다.

신정아, 김옥랑, 장미희, 심형래, 이창하, 최수종, 안재모, 오승현, 윤석화, 강석, 주영훈, 이지영 등 대중에게 많이 알려진 인물이 꽤 많다.

한가지 재미있는 것은 이번에 사람들이 떠들고 다니는 "인터넷에 너무 무관심했다", "그럴 의도는 없었다" 이런 이야기들 중 인터넷에 너무 무관심했에만 잠시 이야기 해볼까 한다.

연예인들이 그럴 의도가 있었든 없었든 그건 그네들만의 사정이고, 인터넷에 너무 무관심했다는 사실 거의 맞다. 심지어 내가 좋아하는 이모양 가수도 컴퓨터과 인터넷을 그렇게 잘알지 못한다(이건 실제로 만나서 본인에게 들었던..)

물론 가수나 연기자들은 그들만의 분야가 있으니 쓸때없이 인터넷에 소비하는 시간이 많은 사람들이나 전문가가 아닌 이상에서야 인터넷은 쉽게 다가설 수 없는 성역이다.

그런면에서 성역의 지킴이들이라 할 수 있는 인터넷 매니아나 포털 등은 정확한 정보의 양산과 배포를 해야만 한다.

이번 사건들에서 공통적으로 볼 수 있는 부분이 고의 여부를 떠나 포털 등이 대충 주서들은 말로 연예인들에 대한 학력을 게재해 놓는 것이다.

물론 연예인들이 잘했다는 건 절대 아니다. 하지만 성역 지킴이인 포털등은 사실 확인에 나서지 않아 수 많은 연예인들이 먼저 아니다 라고 말하게 하는게 좋은 것인가?

틀림없이 틀린 사실이다. 포털도 연예인들 학력에 대한 확실한 확인 후 올려야 하는 것이다. 일례로 최수종의 경우 소속사에도 잘못된 사실이 적혀 있었으니 포털만의 잘못이라고 할 수 없으나 오승현의 경우엔 그렇지 않았다.

일례로 A 포털은 오승현에 대해 단국대 입학까지만 적혀 있고, B 포털은 단국대 학사라고 되어 있던걸 확인해볼 수 있었다.

이런 상황에도 불구하고 여전히 연예인들에 대한 비난과 욕만 쏟아지고 실제 제대로된 학력을 넣지 않은 포털들은 아무런 욕도 먹고 있지 않다.

이런 문제들이 꼭 포털의 문제라고 보기도 어렵다. 인터넷은 참여로 이루어지는 바다이기 때문이다. 참여하지 않는다면 잘못된 사실은 고쳐질 수 없다.

그러나 포털도 반성해야 하지 않나 싶다. 정보를 제공한다는 이유 하나만으로 욕 먹지 아니하는 것은 웃기지 아니한가.

갈수록 온라인 상에서의 폭력이 정도를 넘어서고 있다. 제대로 된 의식 전환이 필요하다

2007/08/23

CodeIgniter 에서 객체를 수동으로 생성해서 사용하기

CodeIgniter 에서는 라이브러리나 컨트롤을 읽어들일때 자동으로 클래스를 할당하게 되므로 실제로 배열에 객체 데이터를 담을 수 없다.
 
이때 다음과 같은 파일을 만들고 쓰면 잘 된다.
 
application/system/libraries 디렉토리 밑에 beans.php 파일을 아래와 같이 만든다.
 
<pre>
&lt;?php if (!defined('BASEPATH')) exit('No direct script access allowed');
class beans
{
    /**
     * 빈즈 이름
     *
     * @var string
     */
    var $beans_name;
   
    /**
     * 빈즈 파일을 읽어들일 기본 경로
     *
     * @var string
     */
    var $load_dir;
   
    function beans ( $dir )
    {
        // 기본적으로 Beans 를 불러들일 경로
        $this->load_dir = APPPATH . 'libraries/' . $dir . '/';
    }
   
    function load ( $beans_name )
    {
        // 불러들일 Beans 파일 포함
        include_once ( $this->load_dir . $beans_name . EXT );
    }
}
?>
</pre>
 
이 때 Beans 를 불러오는 기본 경로는 다르게 설정해주는 것이 좋다. 본인은 libraries 밑에 beans 파일을 두기로 했다.
 
그리고 다음과 같이 컨트롤러나 라이브러리에서 사용해주면 된다.
 
$this->load->library ( 'beans', 'warning' );
$this->beans->load ( 'test' );
$tester = new test ();
 
여기서는 본인이 test 라고 만든 빈즈 파일을 시험삼아 해보았으니 필요에 따라 만들면 되겠다..

2007/08/22

추억이란 상당히 재미있는 존재인듯..

정말이지. 집에 있었던 시디들이 내 기록을 얼마동안은 보존해주고 있구나.. 란 생각이 든다.
난 어렸을때 정말 어떤 사람이었던거지..
 
시디에 있는 음악들과 수 많은 파일들(그중엔 야동이라 불리는 녀석들도.. 쬐금은..). 아아하하하;;
멋적은 웃음과 함께 내 시간을 잠깐 거슬러 가봤다. 재미있는걸?

삶에서 남는것은...?

집에 있는 시디를 하나씩 뒤져보다가(물론 집에 일거리 가져와서 일하려고 했는데) 사진들을 발견했다. 그 당시 130만 화소 카메라로 이곳저곳을 찍으러 돌아다니고 나도 봤는데, 그때 내가 그런 모습을 가지고 있는지 전혀 상상도 못했다. 별짓 거리 다 했구나 ㅡㅡ; 이런 생각이 들더라
 
그래도 사진을 보니 반가웠다. 몇년동안이나 짝사랑했던 여자의 사진부터 직장 사람들까지.. 후후 이런게 추억이란건가 보다. 하긴 사람머리로 기억할 수 있는건 한계가 있겠지
그렇다 하더라도 너무 반가웠어^^

2007/08/21

국정실패라..

뉴시스 2007년 08월 21일(화) 오후 07:09 자에 다음과 같은 기사가 올라왔다.
 
한나라당 나경원 대변인은 21일 범여권을 겨냥 "대선 120일 전인 오늘까지도 우왕좌왕하는 국정실패 세력에게 '비겁하게 헛소문으로 공격하지 말고 너나 잘 하라'고 말해 주고 싶다"고 일갈했다.
그는 또 "한자릿수도 안 되는 지지율을 가진 정 전 의장이 지지율 59%의 이 후보에게 악담을 퍼붓는 것은 하룻강아지 범 무서운 줄 모르는 격"이라며 "정 전 의장이나 범여권 후보들 심정이야 국민의 절대 지지를 받는 이 후보에게 저주의 굿판이라도 벌이고 싶겠지만 그렇다고 범여권을 떠난 민심이 돌아오진 않는다"고 말했다.

그는 이어 "정 전 의장이야말로 열린우리당 창당공신이고 당 의장을 2번씩이나 지낸 국정실패의 주역으로 노무현 정권과 운명을 같이 해야 할 정치인인데도 노 대통령을 비난하고 탈당한 기회주의자"라며 "이번 대선에 출전할 명분과 자격이 없는 정치인이라는 지적이 여권 내부에서 있었다"고 비판 수위를 높였다.
 
좀 일갈해볼까나?
 
한나라당 나경원 대변인은 21일 범여권을 겨냥 "대선 120일 전인 오늘까지도 우왕좌왕하는 국정실패 세력에게 '비겁하게 헛소문으로 공격하지 말고 너나 잘 하라'고 말해 주고 싶다"고 일갈했다.
-> 여권이 비겁한건 사실이다.
 
그는 또 "한자릿수도 안 되는 지지율을 가진 정 전 의장이 지지율 59%의 이 후보에게 악담을 퍼붓는 것은 하룻강아지 범 무서운 줄 모르는 격"이라며 "정 전 의장이나 범여권 후보들 심정이야 국민의 절대 지지를 받는 이 후보에게 저주의 굿판이라도 벌이고 싶겠지만 그렇다고 범여권을 떠난 민심이 돌아오진 않는다"고 말했다.
-> 범여권 민심 떠난지 오래됐지.. 근데 하룻강아지 범 무서운 모르는 격이라. 한나라께서 그리 말씀하셔도 되나? 그럼 국가를 대표하는 대통령은 한나라께는 하룻강아지고 한나라께선 범이라는 얘기시네 그려..
 
그는 이어 "정 전 의장이야말로 열린우리당 창당공신이고 당 의장을 2번씩이나 지낸 국정실패의 주역으로 노무현 정권과 운명을 같이 해야 할 정치인인데도 노 대통령을 비난하고 탈당한 기회주의자"라며 "이번 대선에 출전할 명분과 자격이 없는 정치인이라는 지적이 여권 내부에서 있었다"고 비판 수위를 높였다.
-> 머 백번 심사 숙고해서 노무현 정권과 운명을 같이 해야 할 정치인 맞겠지. 근데 국정실패는 한나라께도 있는거 아닌가? 내가 국회에 얼마나 많은 법안이 통과되고 있는지 모르겠지만 맨날 신문엔 국회에 계류중인 민생법안 뉴스가 올라오는건 누구 탓일까나. 한나라께서도 끝까지 발목잡은 것이 있지 않은가? 도대체 서민을 위한다는게 무슨 얘기인지 모르겠다.
 
도대체 한나라 국회의원들께선 서민들께 무엇을 해주셨는고? 경제 좋지. 경제 좋아져서 나도 돈 많이 벌고 30 되기 전에 전세집 얻고 풍요롭게 결혼할 수 있을 정도가 된다면 더할 나위 없겠지. 헌데 7% 나 그거 이해가 안되. 지금 당장 올린다고 하고 후에 태클거는 사람들처럼 국가 차원에서 드는 비용은 어찌할건데? 그건 땅파서 돈을 뽑아낸다는 건가?
아 추가로 대운하도 이해가 안되. 실효성, 일자리 확대 다 좋아, 근데 말야 대운하가 지나가는데 논 하나 없애면 쌀값 올라가거든. 그리고 대대로 조상을 모셔온 사람들에게 그것도 서민들에게 무덤 옮기라고 하는게 말이 되? 그리고 대운하 파는데 지나가는길에 문화재는 어떻게 할껀데? 이후보께는 역사인식도 없나 보지? 비석 밟고 올라간건 실수로 그렇다 쳐도 문화재는 어떻게 할껀데? 아님 고속도로처럼 대운하를 문화재 피해서 돌돌 돌려서 공사할껀가? 그럼 대운하 안파는 것보다 낫지.
 
상식적으로 생각해보자. 대운하는 파나마 운하가 유명한데, 파나마 운하를 판 이유 자체가 물류 운송에 시간이 걸리기 때문이다. 한반도에서 함경도와 부산을 연결하지 않는한 굳이 대운하를 팔 이유가 있을까?
 
서울->부산간 철도 연결되어있고, 원하면 비행기로 물류수송도 가능해.
 
아 하나더 대운하 팠다 치고, 정말 재수가 없어서 대운하 한쪽이 무너지면 그 주변에 있는 민가와 밭, 사람들은 어찌할껀데? 그건 국가적인 재앙일껀데? 이건 청계천이 아니라오
뭐 사람들이 돈 하나에 미쳐서 이후보를 뽑은걸 보면 참 대단하단 생각밖에 안들어.
 
도대체 대운하 팠을때, 당장 세재 개편했을때 이익이 아니라 장기적인 이익으로 역사적으로, 국가적으로 어떤 영향을 가져올지 생각은 하는건지?
 
뭐 한나라 하시는 생각이 늘 그렇지. 아 우리나라 선거법 고쳐야 되. 이거 문제 많어 특히 온라인 홍보방법. 정말 문제 많어..
 
한나라가 아무리 달라졌다곤 해도 그대로야. 썩어빠진 정신, 소금에 절이고 새우젓에 묻힌 머리들... 후..
 
아 이런 말이 있더라.
 
"소금에 절인것은 썩지 않는다"
 
내가 잘못들었나?

2007/08/15

Windows Vista 에서 OpenVPN 으로 VPN 접속시 라우팅 문제

Windows Vista 에서 VPN 을 사용해서 회사로 접속시에 직접 명령을 치지 않고 OpenVPN 이란 프로그램을 사용해서 접속을 하는 것이 편합니다. 그런데 Windows Vista 에선 약간의 문제가 발생해서 제대로 VPN 에 연결되지 않는 문제가 발생합니다.

해결방법은 VPN 키가 있는 곳에 확장자가 ovpn 인 파일을 열어 맨 끝에 다음 2 줄을 추가해줍니다.

route-method exe
route-delay 2

그리고 접속하면 깨끗이 접속되는 걸 확인할 수 있습니다.

OpenVPN 을 사용하지 않아도 Windows Vista 사용자들은 꼭 확인해주시기 바랍니다.

세상에서 필요로 하는 것..

종이라고 하는 것은 치면 소리가 난다.
쳐도 소리가 나지 않는 것은 세상에서 버린 종이다.
또 거울이란 비추면 그림자가 나타난다. 비추어도 그림자가
나타나지 않는 것은 세상에서 내다버린 거울이다.
보통 사람이란 사랑하면 따라온다.
사랑해도 따라오지 않는 사람은 또한 세상에서 버린 사람이다.
-한용운-

지금하십시오

할일이 생각나거든 지금 하십시오.
오늘 하늘은 맑지만
내일은 구름이 보일런지 모릅니다.
어제는 이미 당신의 것이 아니니
지금 하십시오.

친절한 말 한마디 생각나거든
지금 말하십시오.
내일은 당신의 것이 안될지도 모릅니다.
사랑하는 사람은 언제나 곁에 있지는 않습니다.
사랑의 말이 있다면 지금 하십시오.

미소를 짓고 싶거든 지금 웃어주십시오.
당신의 친구가 떠나기 전에
장미는 피고 가슴이 설레일 때
지금 당신의 미소를 주십시오.

불려야 할 노래가 있다면 지금 부르십시오.
당신의 해가 저물면 노래부르기엔
너무나 늦습니다.
당신의 노래를 지금 부르십시오.
--
놀부에서 제작해서 배부하는 글입니다.

2007/08/14

CodeIgniter 에서 PEAR 라이브러리 사용하기

CodeIgniter 는 단 시간내에 빠른 개발 방법을 지원하는 경량급 PHP 프레임워크인데, 모든 것을 이 안에서 다 제공하다 보니 하나의 문제가 생겼다. 바로 외부에 존재하는 수 많은 라이브러리의 사용이 그것이다.

이 글은 PHP 에서 지원하는 PEAR 라이브러리를 CodeIgniter 에서 사용하는 방법을 다룬다.

CodeIgniter 에서 Pear 를 사용하기 위해선 6 가지의 절차를 거쳐야 한다.

우선 config/config.php 파일을 열어서 아래처럼 바꿔준다.

$config['enable_hooks'] = FALSE; ☞ $config['enable_hooks'] = TRUE

그리고 같은 디렉토리 아래 hooks.php 파일을 열어 파일의 맨 끝(PHP 선언이 끝나기 전에 있는 라인)에 다음 내용을 추가해준다.


$hook['pre_controller'][] = array (
'class' => 'Pear_hook',
'function' => 'index',
'filename' => 'pear_hook.php',
'filepath' => 'hooks'
);


이제 hook 을 작성할 차례이다. application 아래에 hooks 디렉토리로 이동해 다음 이름으로 파일을 작성한다.

파일 이름 : pear_hook.php

<?php if ( !defined ( 'BASEPATH' )) exit ( 'No direct script access allowed' );
class Pear_hook
{
function index ()
{
// on Apache
// ini_set ( 'include_path', ini_get ( 'include_path' ) . ':' . BASEPATH . 'application/web/pear/' );
ini_set ( 'include_path', ini_get ( 'include_path' ) . ':' . BASEPATH . 'application/web/pear/' );
}
}
?>


여기까지 따라왔으니 이제 3단계만 더 거치면 PEAR 를 원활하게 사용할 수 있다. application/libraries 디렉토리로 이동해 아래 파일을 작성한다.

파일 이름 : Pearloader.php

<?php if ( !defined ( 'BASEPATH' )) exit ( 'No direct script access allowed' );
class PearLoader
{
function load ( $package, $class, $options = null )
{
require_once ( $package . '/' . $class . '.php' );
if ( strpos ( $package, '/' ) ) $package = str_replace ( '/', '_', $package );
$classname = $package . "_" . $class;
if ( is_null ( $options ) )
{
return new $classname ();
}
else
{
return new $classname ( $options );
}
}
}
?>


여기까지가 CodeIgniter 에서 Pear 라이브러리를 사용하기 위해 준비를 한 것이다. 이제 최종 단계가 2단계 남아있는데, 따라하자.

하나는 실제 사용할 PEAR 라이브러리와 PEAR.php 파일의 복사가 필요하다.

PEAR.php 파일은 PEAR 가 설치된 경로에 가면 있으니 application 디렉토리 아래 pear 라는 디렉토리를 만들어 복사하고, 실제 사용할 PEAR 라이브러리는 pear.php 에서 받아서 pear 디렉토리 아래에 넣어두면 된다.

이때 사용할 PEAR 라이브러리의 디렉토리명과 클래스명을 잘 파악해둬야 한다(물론 사용하기 위해 불러들이는 파일 하나만에 대해서다).

내 경우 Spreadsheet_Excel_Writer 라는 클래스를 사용해야 하는데, pearloader.php 에서 클래스를 동적으로 할당할 경우 다음과 같이 넘기면

$this->pearloader->load ( 'Spreadsheet/Excel', 'Writer' );

파일은 제대로 포함하지만 클래스는 할당되지 못한다. 이런 경우를 위해 pearloader 클래스에서 동적 클래스 할당전에 약간의 트릭을 사용해서 동적할당이 가능하게 하였다.

사용할 PEAR 라이브러리를 모두 위치했다면 이제 사용할 차례이다.

PEAR 라이브러리를 사용할 Controller 나 Model 등에서 다음과 같이 사용한다.

$this->load->library ( 'pearloader' );
$http_request = $this->pearloader->load('HTTP','Request');
$http_request->setURL($url);
$http_request->sendRequest();
echo $http_request->getResponseBody();

끝.. 헉헉.. 글 쓰기 힘들다. CodeIgniter 를 제대로 활용하기 위한 것도 꽤 힘들다..

Codeigniter 에서 세션 사용하기

CodeIgniter 에서 제대로 세션이 동작되지 않는 경우가 있다.

난 비록 얼마 사용하지 않았지만.. 이번에 좀 큰 시스템을 개발 중인데 이같은 문제가 발생해 난감해 하던차에 구글을 뒤져 다음과 같은 코드로 바꿔치기 하면 된다는 사실을 알았다.

단 이때 코드는 system/libraries 에 있는 Session.php 를 다른 이름으로 바꾸고 그 다음에 아래 내용을 Session.php 로 저장해서 넣으면 된다.

즐거운 CodeIgniter 생활이 되기를..


<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
/**
* Code Igniter
*
* An open source application development framework for PHP 4.3.2 or newer
*
* @package CodeIgniter
* @author Dariusz Debowczyk
* @copyright Copyright (c) 2006, D.Debowczyk
* @license http://www.codeignitor.com/user_guide/license.html
* @link http://www.codeigniter.com
* @since Version 1.0
* @filesource
*/

// ------------------------------------------------------------------------

/**
* Session class using native PHP session features and hardened against session fixation.
*
* @package CodeIgniter
* @subpackage Libraries
* @category Sessions
* @author Dariusz Debowczyk
* @link http://www.codeigniter.com/user_guide/libraries/sessions.html
*/
class CI_Session {

var $flash_key = 'flash'; // prefix for "flash" variables (eg. flash:new:message)

function CI_Session()
{
$this->object =& get_instance();
log_message('debug', "Native_session Class Initialized");
$this->_sess_run();
}

/**
* Regenerates session id
*/
function regenerate_id()
{
// copy old session data, including its id
$old_session_id = session_id();
$old_session_data = $_SESSION;

// regenerate session id and store it
session_regenerate_id();
$new_session_id = session_id();

// switch to the old session and destroy its storage
session_id($old_session_id);
session_destroy();

// switch back to the new session id and send the cookie
session_id($new_session_id);
session_start();

// restore the old session data into the new session
$_SESSION = $old_session_data;

// update the session creation time
$_SESSION['regenerated'] = time();

// session_write_close() patch based on this thread
// http://www.codeigniter.com/forums/viewthread/1624/
// there is a question mark ?? as to side affects

// end the current session and store session data.
session_write_close();
}

/**
* Destroys the session and erases session storage
*/
function destroy()
{
unset($_SESSION);
if ( isset( $_COOKIE[session_name()] ) )
{
setcookie(session_name(), '', time()-42000, '/');
}
session_destroy();
}

/**
* Reads given session attribute value
*/
function userdata($item)
{
if($item == 'session_id'){ //added for backward-compatibility
return session_id();
}else{
return ( ! isset($_SESSION[$item])) ? false : $_SESSION[$item];
}
}

/**
* Sets session attributes to the given values
*/
function set_userdata($newdata = array(), $newval = '')
{
if (is_string($newdata))
{
$newdata = array($newdata => $newval);
}

if (count($newdata) > 0)
{
foreach ($newdata as $key => $val)
{
$_SESSION[$key] = $val;
}
}
}

/**
* Erases given session attributes
*/
function unset_userdata($newdata = array())
{
if (is_string($newdata))
{
$newdata = array($newdata => '');
}

if (count($newdata) > 0)
{
foreach ($newdata as $key => $val)
{
unset($_SESSION[$key]);
}
}
}

/**
* Starts up the session system for current request
*/
function _sess_run()
{
session_start();

$session_id_ttl = $this->object->config->item('sess_expiration');

if (is_numeric($session_id_ttl))
{
if ($session_id_ttl > 0)
{
$this->session_id_ttl = $this->object->config->item('sess_expiration');
}
else
{
$this->session_id_ttl = (60*60*24*365*2);
}
}

// check if session id needs regeneration
if ( $this->_session_id_expired() )
{
// regenerate session id (session data stays the
// same, but old session storage is destroyed)
$this->regenerate_id();
}

// delete old flashdata (from last request)
$this->_flashdata_sweep();

// mark all new flashdata as old (data will be deleted before next request)
$this->_flashdata_mark();
}

/**
* Checks if session has expired
*/
function _session_id_expired()
{
if ( !isset( $_SESSION['regenerated'] ) )
{
$_SESSION['regenerated'] = time();
return false;
}

$expiry_time = time() - $this->session_id_ttl;

if ( $_SESSION['regenerated'] <= $expiry_time )
{
return true;
}

return false;
}

/**
* Sets "flash" data which will be available only in next request (then it will
* be deleted from session). You can use it to implement "Save succeeded" messages
* after redirect.
*/
function set_flashdata($key, $value)
{
$flash_key = $this->flash_key.':new:'.$key;
$this->set_userdata($flash_key, $value);
}

/**
* Keeps existing "flash" data available to next request.
*/
function keep_flashdata($key)
{
$old_flash_key = $this->flash_key.':old:'.$key;
$value = $this->userdata($old_flash_key);

$new_flash_key = $this->flash_key.':new:'.$key;
$this->set_userdata($new_flash_key, $value);
}

/**
* Returns "flash" data for the given key.
*/
function flashdata($key)
{
$flash_key = $this->flash_key.':old:'.$key;
return $this->userdata($flash_key);
}

/**
* PRIVATE: Internal method - marks "flash" session attributes as 'old'
*/
function _flashdata_mark()
{
foreach ($_SESSION as $name => $value)
{
$parts = explode(':new:', $name);
if (is_array($parts) && count($parts) == 2)
{
$new_name = $this->flash_key.':old:'.$parts[1];
$this->set_userdata($new_name, $value);
$this->unset_userdata($name);
}
}
}

/**
* PRIVATE: Internal method - removes "flash" session marked as 'old'
*/
function _flashdata_sweep()
{
foreach ($_SESSION as $name => $value)
{
$parts = explode(':old:', $name);
if (is_array($parts) && count($parts) == 2 && $parts[0] == $this->flash_key)
{
$this->unset_userdata($name);
}
}
}
}
?>

codeigniter library 에서 객체 사용하기

codeigniter 의 library 를 사용자가 임의로 생성할 때 Controller나 Model, View 처럼 모든 상속된 객체를 생성할 순 없게 되어 있다.

따라서 library 에선 다음과 같이 codeigniter 의 모든 객체를 사용할 수 있도록 해주어야 한다.

$obj =& get_instance ();

위와 같이 하면 Controller 나 Model 등에서 다음과 같이 사용하는 것처럼 할 수 있다.

Controller:

$this->session->userdata ( 'id' );

Library:

$obj->session->userdata ( 'id' );

위처럼 사용하면 된다. 다만 library 의 모든 메소드에서 객체를 사용하는 것일 경우 객체의 변수에 담아 다음과 같이 사용할 수 있는 방법도 있겠다.

$this->obj =& get_instance ();

$this->obj->session->userdata ( 'id' );

나머진 취향에^^

codeigniter 에서 Library 폴더를 서브 폴더로 구성해서 사용하기

개인적으로 codeigniter 를 능숙하게 쓰는건 아니지만 조금 큰 규모의 사이트를 제작하다 보니 서브 폴더를 사용해야 했다. 나중에 알고본 사실이지만 다른 문제도 발생했었다^^;
그건 다시 적기로 하고 글을 이어나간다.

controller 에서 library 를 로드할때 다음과 같이 서브 폴더를 포함해 읽어들이도록 하면 에러가 발생한다.

$this->load->library ( 'member/libmember' );

때문에 좀 큰 규모의 설정을 바꿔줘야 한다.

codeigniter 가 설치된 디렉토리에서 다음과 같은 경로를 따라간다.

system/libraries

이 안에 들어가서 Loader.php 를 열고 679 번째 줄을 찾아 다음 내용을 삽입한다.


// Is the class in a sub-folder? If so, parse out the filename and path.
if (strpos($class, '/') === FALSE)
{
$path2 = '';

}
else
{
$x = explode('/', $class);

$class = end($x);

unset($x[count($x)-1]);

$path2 = implode('/', $x).'/';

}


그리고 나서 다음 내용을 아래와 같이 수정한다.

수정전 :

// Is this a class extension request?
if (file_exists(APPPATH.'libraries/'.config_item('subclass_prefix').$class.EXT))
{
if ( ! file_exists(BASEPATH.'libraries/'.ucfirst($class).EXT))
{
log_message('error', "Unable to load the requested class: ".$class);
show_error("Unable to load the requested class: ".$class);
}

include(BASEPATH.'libraries/'.ucfirst($class).EXT);
include(APPPATH.'libraries/'.config_item('subclass_prefix').$class.EXT);

return $this->_ci_init_class($class, config_item('subclass_prefix'), $params);
}


수정후 :

// Is this a class extension request?
if (file_exists(APPPATH.'libraries/'.$path2.config_item('subclass_prefix').$class.EXT))
{
if ( ! file_exists(BASEPATH.'libraries/'.$path2.ucfirst($class).EXT))
{
log_message('error', "Unable to load the requested class: ".$class);
show_error("Unable to load the requested class: ".$class);
}

include(BASEPATH.'libraries/'.$path2.ucfirst($class).EXT);
include(APPPATH.'libraries/'.$path2.config_item('subclass_prefix').$class.EXT);

return $this->_ci_init_class($class, config_item('subclass_prefix'), $params);
}


그리고 다음 줄을 찾아서 수정후로 바꿔준다.

수정전 :

$fp = $path.'libraries/'.$class.EXT;

수정후 :

$fp = $path.'libraries/'.$path2.$class.EXT;

이렇게 해주면 다음과 같이 가능하다.

libraries/member/libmember.php 파일이 있다면

라이브러리 로드시에 다음과 같이 사용해도 에러가 나지 않는다.

$this->load->library ( 'member/libmember' );

만약 위처럼 수정하지 않는다면 라이브러리는 서브폴더를 사용하지 못하게 된다.

목요일, 8월 9, 2007

본사 복귀를 결정했다.

이유가 어찌됐든 난 협박에 놀아난 꼴이고 그들의 손아귀에서 그들이 되길 원하는 시나리오에 말려들었다.

후훗 이럴줄 알았으면 차라리 3월에 때려칠껄 그랬다.

그땐 기회라도 있었는데, 모든지 때라는게 있는 모양이다.

그 때 라는 것을 놓쳐버리면 안된다.


1. 회사에 끌려다니는 모습을 보이지 말라
2. 때를 놓치지 말고 해라
3. 고민은 많이하고 깊이 하는 것은 중요한데 선택은 빨리할수록 좋다. 그만큼 기회가 많으니까
4. 결정은 내 몫이고 바보같이 행동하지 마라.
5. 남에게 나를 공격할 기회를 주지 마라. 사람은 기회가 있을 때 공격한다.
6. 상사가 배신감을 느끼지 않도록 해라

수요일, 8월 8, 2007

뭐 이런 뭐 같은 경우가 다 있지..

오늘 그동안 미루고 미루어졌던 상여금이 지급되었는데 분명 월급 명세서엔 다 찍혀 있으면서 왜 반만 주냐고 -_-
윗선의 지시라고 하더라도, 대기발령도 극도로 억울해죽겠는데 장난하는 것도 아니고 낼 전화오면 한판 해야겠다.

그리고 바로 사표쓰고 나오는게 낫지. 지금 나보고 일할 기회를 줄테니까 꿇리고 들어오란 소리 밖에 안되잖나..
허허 이것참..

죄명 : 성희롱

법이란 이름의 심판대는 정말 무섭다.

근데 성희롱이란 죄는 왜 그리도 무서운건지... 난 죄를 짓지 않았다. 그러나 내가 죄짓지 않았다고 누가 믿어주겠는가.
아마 소수 일것이다. 나를 아는 사람들은 절대 그렇게 보지 않지만 세상은 날 그렇게 본다.

그게 죄라는 이름의 악명이 아닐까..

화요일, 8월 7, 2007

회사에서 아주 불미스런 일로 대기발령된지 벌써 한 주가 지나갔다.
잠시 동안 개인적으로 끄적여 볼 게시판 같은 녀석이 필요했기에 freshmeat 을 대충 뒤졌다.

뭐라고 난 말해야 하는 걸까..

그렇게 했던게 내 죄가 아니라고..? 뭐 이렇게 말한다 한들 무슨 소용이 있겠는가 싶지만 서도
글쎄.. 이것도 직장생활에서 숨은 비화가 아닐까..

오늘은 설치만 하고 잔다는게 마저 끄적거리고 간다..

낼 오라니.. ㅋㅋ

2007/01/11

박정희 vs 노무현

참 정치사에서 제목만큼의 이야기는 결정적으로 노무현 현 대통령을 위태롭게 만든다. 이른바 새마을 운동과 경부고속도로 등의 국가 경제에 이바지를 한국이 가난하던 1970년대에 휘잡았으니 중산층과 부자들은 그 시절이 무척 그리울 것이다.
 
그렇다고 서민이라고 말할 수 있는 층역시 그에 대한 향수가 없다고 말할 수 있겠는가.
 
하지만 사람도 변하고 시간도 변한다. 곧 1970년대는 경제를 발전시키는 것이 무척 중요했던 시대였지만 IT 로 대변되는 2000년대는 제대로된 국가의 기틀을 바로 잡는데 그 이유가 있다고 하겠다. 그 뿐만 아니라 2000년 이전에 다루지 못했던 중요한 문제들 (용산 기지 이전, 핵폐기물 장소 선정, 국가기관사이의 부정부패, 전작권 환수 등)의 해결도 2000년도에 끝내야 할 문제이다.
 
사람들은 지금이 먹고 살고 힘들다고 하지만 실제로는 박정희 전 대통령이 집권했던 시절이 다시 오길 바라는 것은 아닌가? 수많은 죄없는 사람들이 삼청교육대에 가서 몽둥이로 두들겨 맞고 죽고... 대통령 각하라고 말하지 않으면 경찰에 끌려가 물고문을 당하는 그 시절 말이다.
 
모든 것을 잘하는 대통령은 많지 않다. 다만 과거의 박정희 대통령은 나라의 중요 목표가 경제라고 생각했던 것이고 노무현 대통령은 국가 기틀을 다지는데 목표가 있다고 본 것이다.
 
난 노무현 대통령을 지지한다. 그야 말로 한국에서 가장 청렴한 대통령 중 하나로 기록될테니 말이다. 노무현 대통령 화이팅^^

2006/12/29

국회의원들은 자기네 한마디가 얼마만큼 국민에 영향을 주는지 모르는가 보지?

국회의원들은 자기네 한마디가 얼마만큼 국민에 영향을 주는지 모르는가 보지?

대통령은 씹으면서 자신들은 못씹는 국회의원. 특히 한나라당 한심하다 한심해.. 어떻게 인간들이 저렇게 양면의 얼굴을 뒤집어 썼냐 그래..

2006/12/27

국회의원의 법안처리가 법정기한에 늦을 경우에 대비한 법 발의합시다

민주정치의 3대 기관은 입법, 사법, ? 가 있습니다.
 
그중 법안을 입안하는 국회는 막중한 책임을 지고 있음에도 16, 17대 국회는 직무유기를 하고 있더군요. 17대 국회는 다음과 같은 법안을 입안해야 합니다.
 
민생, 경제, 행정에 관한 모든 법안을 법정기한으로부터 단 하루라도 늦을 경우 다음회차 국회의원에 출마할 수 없으며 최대 20일이 늦어질 경우 국민의 이름으로 사법심판을 받아야 합니다.
 
그래야 쓰레기 같은 한나라당의 폐해가 사라지지 않겠습니까? 물론 한나라당의 원희룡, 남경필 의원 당내 386 세대라고 불리우는 당신들이 있어도 쓰레기는 쓰레기일 뿐입니다.
 
전여옥씨 같이 지 부모도 못챙기는 의원이 어디 의원이라고 말 할 수 있습니까? 최소한 동물들도 지 부모한테 대들진 않습니다. 우리나라 정치가 많이 쇠퇴한 탓이겠죠
 
뭐 중요한건 입법처리입니다. 늦장처리가 아니라 당신들은 국민의 이름으로 사법처리를 받아야 합니다. 세상 어느나라가 그 나라의 예산안 처리와 비정규직 처리를 늦춘답니까? 통탄할 일이 아닐 수 없습니다.. 웃기지만 열린우리당도 결코 잘한거 없죠.
 
노대통령은 기껏 이뤄두신 것들에 대해 제대로 평가받지 못하고, 고건 전 총리는 대통령 씹기나 하고, 한나라당 대선주자들께선 기싸움이나 하고 있고, 도대체 정치가 60년대에 비해 달라진게 뭔지...
 
법안 입안 얘기하다가 딴데로 얘기가 새어버렸군요. 여하튼 법안 입안 처리가 늦으면 국회의원들 모두 사법처리 받아야 됩니다.
 
쳇 더러운 국회의원 놈들!! 일이나 하지. 맨날 노는 놈들이 나라에서 돈이나 받아처먹냐.

2006/12/25

역시 왜곡 편파보도는 별로 맘에 안들어..

미디어오늘에 포스팅된 기사입니다. 무단전재이긴 하나 포스팅 출처를 밝혀둡니다.
--
[보도와 보도사이] 민언련 보고서

2006년도 이제 얼마 남지 않았다. 곳곳에서 한 해를 정리하는 움직임이 분주한 가운데 민언련 신문모니터위원회는 '2006년 나쁜보도 10선'을 선정했다.

먼저 하반기에 벌어진 북 핵실험에 대한 일부 신문들의 보도는 '핵공포' '한국판 9·11' '핵폭풍'이라는 자극적이고 선정적인 용어사용으로 국민들의 불안감을 한껏 자극했다. 또 미국의 강경 일변도의 대북 압박정책에 대한 문제점은 비판하지 않은 채 '포용정책 흔들기' 등 대화보다는 '물리적' 해결책만을 강조하기도 했다.

두 번째로는 올해 내내 논란을 일으켰던 한미FTA 협상 관련 보도이다. 협상이 시작되기도 전에 4대 선결조건에 합의하는 등 졸속·밀실협상이라는 비판을 받아왔던 한미FTA 협상에 대해 일부 언론들은 정부의 '장밋빛 미래'만을 무비판적으로 전달하고 반FTA 진영을 '반미론자' '친북세력' 등으로 낙인찍었다. 그러면서 실익이 분명하지 않은 한미FTA 체결을 맹목적으로 주장해 문제로 지적됐다.

지난 7월 서래마을 프랑스인 집 냉동실에서 영아 시체 2구가 발견되는 충격적인 사건이 있었다.

범인은 친엄마로 밝혀졌지만 그 과정에서 언론들의 무차별적인 추측성 보도와 인권침해는 도를 넘었다는 평가다.

월드컵 관련 보도도 빼놓을 수 없다. 월드컵 기간 중 방송은 그야말로 '올인'이라는 비난을 줄기차게 받았다. 이런 비난에서 신문은 한 발 비켜나 있었지만 '과잉보도'라는 비판에서 자유롭지는 못했다.

신문모니터위원회가 월드컵이 한창인 6월12일∼15일까지 5개 주요 중앙일간지의 월드컵 관련 보도량을 분석한 결과 조선 동아일보는 전체기사의 30% 이상이 월드컵 보도로 채워졌고, 중앙일보는 무려 41.78%에 달했다. 특히 중앙일보는 1면에서의 월드컵 보도 비율도 75.16%에 달했다.

신문들의 월드컵 관련 보도는 한국과 토고의 경기 다음 날인 14일자에서 절정을 이루었다.

이날 중앙일보는 월드컵 관련 보도 비율이 60.93%에 이르렀다. 또 경향신문, 동아일보, 중앙일보는 1면의 월드컵 관련 보도 비율이 100%로 1면의 모든 기사가 월드컵 기사였다.

월드컵이 전 국민적 관심사이긴 하지만 신문들이 월드컵 보도에 빠져있는 사이 우리 경제와 사회 전반에 막대한 영향을 미칠 한미FTA 1차 본협상이 미국에서 마무리됐고, '6·15 공동선언 발표 6돌 기념 민족통일 대축전'이 광주에서 열리기도 했다. 하지만 일부 신문들은 이런 현안마저도 단순 중계하는 데 그치거나 축소보도로 일관했다. 아무리 월드컵과 한국 팀의 경기 결과가 국민적 관심사라 해도 주요 신문들이 월드컵에 빠져 우리 사회 주요 현안을 소홀히 다뤘다는 비판에서 자유로울 수 없다.

이밖에도 박근혜 전 한나라당 대표 피습 보도에서 보인 '침소봉대' '확대과장' '피의자 인권 침해' 사례와 '세금폭탄' 운운하며 '부동산 부자'만을 비호하려는 부동산 관련 보도, 평택 대추리, 전시작전통제권, 포항 건설노조 파업 관련 보도, 일심회 관련 보도도 선정됐다.

올해도 일부 신문들의 왜곡·편파·선정적 보도 행태는 예년에 비해 나아지지 않았다. 언론에 대한 감시의 끈을 놓을 수 없는 이유다.

꾸준한 감시와 비판은 '사회적 공기'를 올바른 방향으로 나아갈 수 있게 하는 원동력이다. 더불어 많은 국민들의 지속적인 관심과 적극적 의사표현이 절실한 때이다.

2006/12/23

다시 방황하고 있다..

한동안은... 다시 방황하지 않으리라 다짐하고 또 다짐했는데 막상 새해가 얼마남지 않고... 하던 일이 풀리지 않다 보니 다시 방황하고 있다.
 
글세.. 난 어떤 놈일까..
방황하는 넘으로 계속 살순 없잖나?
 
후후.. 없는 힘.. 다시한번 내보자.

2006/12/21

어떤 일이든 사명감을 갖지 않으면 하기 힘들지 않을까?

뭐든지 사명감을 갖지 않으면 하기 힘들지 않을까?
 
애시당초 돈이란 한순간에 쥐고 펼수 있는 것일뿐. 최고의 직장이라 손꼽히는 UN과
방송인의 선망의 대상인 아나운서, 수학을 자유자재로 가지고 노는 프로그래머,
글세.. 이 모든 것이 사명감을 갖지 않으면 하기 힘들지 않을까?
 
아니 이 것들에만 한정되진 않겠지? 적어도 모든 것이 사명감 투성일테니까 말이다.
그냥.. 난 내가 이제까지 한 일들에 대해 투철한 사명감을 가지기는 했던 걸까?
 
또 진지한 고민을 해봐야 할 듯 싶다..
 
대신에 회사 일 마치고^^

2006/11/23

뭐가 초당적 협력이야?

한나라당은 항상 이렇게 말한다.

"초당적 협력을 하겠다" 막상 이렇게 발언해놓고 지킨적이 있던가? 전효숙 헌법 재판관, 헌법소장에 동의도 안하면서, 그녀가 무슨 잘못이 있는가? 한나라당 당헌에는 여자는 헌법재판소장, 헌법재판관 안된다는 당헌이라도 있나 보지?

더 웃긴건 한나라당의 이전 대표는 여자라는 거다. 하긴 여자 대표말도 맨날 씹어대는 한나라당에게 무슨 미래가 있겠는가. ㅋㅋㅋ

주성영 의원도 색맹인가 보지?

조선일보에 주성영 의원이 빨간 불 켜진 곳 없다? 뭐 이런제목의 기사가 하나 올라왔다.

근데 가관이다. 그가 이런말을 했단다.
"각종 선거에서 왜 여당은 전패를 거듭하고"

그거야 한나라당이 정당 알바를 만들어서 국민들 인식을 안 좋게 만들었잖나? 이에 대한 증거도 인터넷에서 속속들이 나타나고 있음 불보듯 뻔하다.

사회에서도 빨간불이 있댄다. 정부가 잘해도 정당이 안따라주는데 이는 당연한 결과가 아닌가?

참으로 주의원의 대갈통이 바보가 아닌가 심히 생각해보아야 할일이다. ㅋㅋㅋ

2006/11/22

노대통령 1년간 무보수로 일하라??

고뉴스에 기록된 다음과 같은 제목의 뉴스가 있었다

이한구 "노대통령 남은 1년 무보수로 일하라"

내용을 보아하니 제집 살림은 감사 안하고 남의 집 살림만 관심있는 모양이다.

국회 정무위원회 소속 한나라당 이한구 의원이 청와대 예산이 많댄다.

그러는 서울시. 이명박 전 시장과 오세훈 현 시장역시 자문기구들을 많이 두지 않았던가? 남의 집 살림 탓하기 전에 제 집 살림부터 단속 좀 하는게 어떨까?

명박이 아저씨의 헛된 망상

이명박 전 서울 시장의 헛된 망상

이명박 "정권 바뀌면 젊은 부부들에게 집 한채씩 줄 것" 이라는 뉴스가 발표되었다. 뭐 언제나 파격적인 이명박 아저씨지만 이 나라 돈에 토지매입하고 싱가폴 같은 환매분양권 제도라도 시행하겠다는 건가?

그렇게 시도했다간 우리 나라 망할껄. 차라리 국가 사채 쓰지?

경부운하. 말은 좋다. 근데 우리나라, 독일, 중국은 각각 생태환경이 다르다고. 역시 개발자들은 생태 환경에 별 관심이 없는건가?

기사를 보니 무슨수를 써서든 집을 마련한다고 하는데, 무슨 수를 쓸껀지 참 궁금. 이 나라 정권이 명박이 아저씨한테 안 넘어가도 집 한채씩 줄것인가??

그게 한나라당의 약속인지, 아니면 명박이 아저씨의 개인 약속인지, 모든 대권 주자의 약속인지 궁금해진다.

2006/11/21

"386이 한국 정치·경제 망쳤다"?

"386이 한국 정치·경제 망쳤다" 한 신문에 이 같은 제목과 함께 기사가 있더라.

그런데.. 재밌는건 386 컴퓨터가 어떻게 한국 정치, 경제를 망칠 수 있어? 우리같은 컴퓨터가 직업인 사람들에게 386은 컴퓨터 세대.

정치적으로 286은 뭐했는데?

수구꼴통들의 안맞는 논리

수구꼴통들의 안맞는 논리

전작권 환수때...
"미국이 이 나라와 손을 잡았기 때문에 절대 동맹을 깨면 안된다"

송민순 외교장관 청문회때...
"송민순은 친미인물이라 안된다"

이상한 논리다. 언제는 미국인사가 필요하며 필요없을땐 버리는게 수구꼴통들의 논리인건가?

2006/11/14

전효숙 상정안 결사반대?

정치판이 어떻게 날이 갈수록 이렇게 추하냐?
한나라당.. 국회 의장석을 점거하고도 너네들이 이 나라 정치의원들 맞냐?

난 이해가 안돼. 수구꼴통들..

2006/10/29

gnome 굴림폰트(M$) && 깨끗하게

마티즈. 내 마티즈!!

차를 먼저사고 면허를 뒤에 취득한 나로서는 사실 차가 무척이나 조심스럽다. 이런 이유로 남에게 차를 잘 맡기지 않는다.

그런데...

추석을 전후해서 차에 무슨 일이 계속 생긴다 -_-;

처음엔 달아놓은 네비게이션 도난과 외캐치 망가뜨리고 차문 망가뜨리기

이번엔 운전석 문 고장 내기 -_- 아주 돌아버리겠다. 내 차가 무슨 동네 장난감이냐.. 자기들 물건 귀한 줄 알면 남의 물건 귀한 줄 알아야지!

운전석 문이 안 열려서 수리가 될런지 모르겠지만 여하튼 짜증만 고스란히.. -_-

내가 자라고 있는 동안의 시간. 82년부터 현재까지 비교적 가정 교육을 잘 받았다고 생각하는데 요즘애들은 그것도 아닌가 보다. 지난번 얼핏 봤는데 글쎄 초등학생들이 담배나 꼴아피구 -_- 도대체 이 자식들의 부모는 무슨 생각으로 살고 있는 걸까 이런 강한 의구심이 든다.

조금씩 삶에 지쳐가는데 이처럼 남의 물건을 훔치거나 고장내내니 대한민국의 앞날은 보이지 않는다.

무릇 윤리와 도덕은 한국사회에서 너무나도 중요한 것이다(아마 단군시대도 마찬가지일꺼다).

그럼에도 불구하고 이같이 어른아이를 막론하고 타인의 가슴에 못을 박는다면 대한민국을 뜨는 수 밖에 없다.

아니 그러한가?

2006/10/27

구글보다 못한 국내 검색엔진들 성능

인터넷을 처음 시작한것이 97년였던걸로 기억한다. 따지고 보면 난 이미 인터넷과 함께한 시간이 내년이면 10년이라는 세월이 흐른걸 느낀다.

오늘 거주자 우선 주차 구역을 신청하려고 동사무소 전화번호를 파란(http://www.paran.com)과 야후(http://www.yahoo.co.kr) 에서 "풍납 2 동사무소" 또는 그 유사어를 검색해서 동사무소 전화번호와 홈페이지를 찾아봤다.

아니 그런데 이게 왠일인가! 아무것도 안 나온다. 게다가 왠 관련없는 세무사 사무실 전화번호만?

게다가 파란이란 KT 자회사를 표방하는 전화번호 안내해주는 사이트가 공공기관 전화번호도 알려주지 못한다면 이 얼마나 성능낮고 쓸모없는 검색엔진이란 말인가? 입가에서 웃음만 흘리고 있는 나를 보면서 구글을 찾았다(http://www.google.co.kr) 역시 구글이 나를 실망시키지 않았다.

2번의 검색만으로 풍납2동 사무소 홈페이지 주소 뿐 아니라 전화번호가 포함되어 있는 링크도 볼 수 있었다.

국내 검색엔진. 이러고도 한국을 넘어선 검색엔진이라고 자부할 수 있냐? 니들도 똑같아 네이버는 다를꺼 같지? 절대 아닐껄~

2006/10/16

가슴은 소리치는데..

가슴은 소리치는데. 마음은 무겁고 어두워..
당신이란 이름이 있어서 하루 한가닥은 잡고 사나봐

그런데, 이건 아니야.. 내가 원하던 삶도 바라던 삶이 아니라구
소리쳐! 니가 지닌 모습.

나를 찾으라구..

2006/10/12

코피난다.. -ㅅ-

뭘 했다고 코피가 나는 건지...

내가 코피 나면서 이렇게 일할 이유가 있는건지 이럴때 정말 답답해진다.

왜 이러지..

2006/10/10

역시 문서쓰기가 힘들어..

역시 문서 쓰는게 어렵다는 걸 종종 느낍니다.

지금도 쓰면 빨리쓸 수 있을걸 늦장 부리며 쓰고 있다는 게 몸으로 체감합니다.

에효.. 어서 집에 가고프라..

이게 얼마만이지..

이게 얼마만인지.. 올 초 싸이월드로 갔다가 새로 왔다.. 역시 난 블로그가 좋은건가..

야후의 추억이후로 새로 만든 블로거닷컴

후훗.. 어리석은 인간..

2006/02/25

유난히 피곤하네요..

유난히 피곤하네요.. 보름 넘게 집에 들어가지 않았던 탓도 있었지만 온몸에 엄습해오는 이성의 채취가. ㅋㅋ 농담이고요.

사귀어 본 사람도 없어서 여태 이성의 채취라는게 고작 여성에게서 흘러나오는 향수 냄새 정도라고 해야 되네요.

벌써 주말입니다. 날도 어두 컴컴한데 일찍 씻고 자고... 아 그런게 좋지 않을까 하는...

2006/02/13

놓쳤다.. 지금이다 싶었는데..

결국 끊을 놓쳤습니다. 지금이다 싶었는데
그게 아니었나 봅니다.

몸이 피곤하고 한 구석이 아련히 아파오네요...
당분간은 두문불출...

저 있잖아요. 조금 힘들 것 같은데 이겨내게 도움 주세요.
거부하면 또 할말이 없지만. 이 기사를 보는 모든 분들에게
부탁해요.

그리고 새로운 사랑을 찾도록요.^^

2006/02/09

끈.. 놓을래.. 잡을래..

가끔 꿈속에서 살고 있는 것 같은 생각이 들때가 있습니다.
지금 글을 쓰고 있는 이 시점이 바로 내가 꿈속에서 살고 있는 느낌이 들때입니다.

어떤 끈이 되서든.. 끈이 끊어지려고 하는데.. 그 끈..
잡아야 하는지.. 놓아야 하는지..

알 수 없을때... 어떤 선택을 하시게 되나요?
저는 지금까지 끈을 놓아왔습니다... 바보같나요?
바보라고 말해도 할말 없습니다.

왜.. 바보같이.. 이런것일까...

2006/02/08

비뚤어진 학업 열풍

비뚤어진 학업 열풍

지금 인터넷에서 뉴스 하나를 보니 초등생 하나가 과도한 학원 수업으로 인해 자살을 했다고 한다. 어린 나이에 얼마나 스트레스가 심했었을까?

우리나라 부모들은 그릇된 학구열로 본인들이 이루지 못한 것을 이루어내게 하려 아이들에게 과도한 학업을 하게 만든다. 이렇게 자식들이 죽는 꼴을 보게 하는게 부모로서 할 짓인가?

대한민국 부모들이여. 자식은 가르칠땐 가르치고 학원에 보내야 할땐 보내야 하겠지만, 본인이 원하지 않으면 그렇게 하지 마라.

관련 URL : http://kr.news.yahoo.com/bestclick/shellview.html?articleid=2006020809251292301&date=20060208&rank=27

2006/02/07

정권 흔들기에 대한 이야기

전재희 의원 홈페이지에 야천거사님이란 분이 적어놓은 글입니다. 사설같아서 허락없이 퍼왔습니다. 혹시 보시거든 양해 부탁합니다.
----
평소 정치에 큰 관심이 없던 아내가 얼마 전에 신문을 보다가 한마디했다.

“노무현 대통령이 개인적인 비리는 별로 없나 봐요. 언론이 3년 전에 사돈이 차 사고 낸 것을 청와대와 엮으려고 하는 것을 보니...”

대통령의 사돈이 된다고 해서 갑자기 완벽한 자동차 운전능력이 생기는 것은 아닐 터이니, 사고 자체는 무슨 비리가 되겠는가? 하지만 언론은 사고처리에 이미 합의했던 상대 피해자의 이후 발언에 의존해서 의혹을 부풀렸다. 청와대가 무마를 위해서 은폐에 나섰다는 것인데, 또 지겨운 “아니면 말고” 식의 결론으로 밝혀지더라도 놀랍지는 않을 것이다.

어제오늘의 일도 아니고, 행담도 사건을 비롯해서 대통령 측근을 대상으로 한 성과 없었던 ‘특검’에서 낭비된 막대한 국민의 혈세가 아까울 뿐이다.

조선과 동아 등의 거대 언론이 객관적 관점으로 국민의 눈과 입이 되기를 기대하는 마음을 접은 지는 오래 전의 일이지만, 자신들의 정치적 입장과 이해관계에 입각해서 치졸하게 특정인에게 광기에 가까운 집착적 증오를 발산하는 모습에서 역겨운 안타까움이 느껴지는 것은 어쩔 수가 없다.

그들의 살생부 꼭대기에 있었던 노무현 대통령에 이어서 요즘은 유시민 의원이 그 자리를 차지한 듯 하다.

어제 역겨움을 참으며 찾아간 조선 닷컴 메인에는 <유시민, 국민연금 이어 적십자회비도 2003년 미납> , <유시민의원, 이러고도 복지부장관 하겠다고?>라는 선동성 카피가 화려하게 자리잡고 있었다. 이어서 바로 아래로는 <장관 유시민 “너나 잘하세요?"란 말에 대답할 수 있나>라는 비난성 기사가 연타를 날리고 있었다.

다른 청문회 대상자들에 관한 기사는 찾아보기도 힘들고, 오로지 유시민 보건복지부 장관 내정자에게 집중포화를 퍼붓고 있었다.

솔직히 고백하건대, 필자는 오늘에서야 적십자회비 납부 방법에 대해서 알아보았다. 의무납부는 아니었지만 제대로 납부하지 못한 것을 스스로 반성하면서 필자에게 제대로 납부 지로를 보내지 않은 대한 적십자사에도 항의를 해야겠다는 생각이다.

필자는 나름대로 어려운 이웃에게 꾸준히 기부와 봉사를 해왔음에도 불구하고 필자가 ‘적십자비 미납’이라는 공직자가 될 수도 없는 정도의 천인공노할 죄를 여러 차례 저지르게 만든 필자의 공범자인 ‘대한 적십자사’에게도 책임을 묻지 않을 수 없다.

공직자로서 엄격한 모범을 요구받는 것은 감수해야겠지만, 고작 일년 납부하지 않고 공직에 부적합하다는 거센 비난을 받고 있는 유시민 장관 내정자에게 필자 같은 불량 납부자는 미안한 마음 마저 든다.

아울러 매년 빠지지 않고 적십자회비를 내고 있는 국민이 얼마나 되는 지도 궁금하다. 의무납부는 아니지만 만약 납부하지 않았을 경우에 치명적으로 도덕성에 문제가 발생할 수 있는 ‘적십자회비’라면 많은 국민을 비도덕적인 죄인으로 만들지 말고, 차제에 의무납부로 전환하던지 아니면 확실한 납부 안내 대책을 세워야 할 것이다.

국민연금도 마찬가지다.

물론 공직자로서는 국민연금제라는 정부의 시책에 모범을 보이는 자세가 필요하지만, 본디 국민연금이라는 것이 납부한 것만큼 이후에 받는 것이다. 덜 납부한 것만큼 나중에 덜 받는 것이다.

유시민 내정자가 국회의원이 되기 전에 정식 직장이 없고 비정기적인 강의료와 원고료 등으로 연명하던 시절에 국민연금에 가입하지 않았던 것이 의도적이고 악랄한 비도덕적 행위인가? (그는 2000년 7월 이후에 연금공단에 연락을 받고 연금보험료를 납부해왔다.)

언론과 한나라당은 ‘배우자 부당공제’ 문제도 제기한다. 대부분의 국민은 복잡한 연말정산을 본인이 직접 하지 않는다. 회사와 세무사에 신고 업무를 위탁하는 경우가 대부분이다.

배우자의 비정기적인 수입의 경우에는 납세자의 의사와는 무관하게 세무사가 파악하지 못하고 일반적인 상례에 따라서 배우자공제를 신청하는 경우가 흔히 있다. 그러나 국세청은 배우자의 소득이 밝혀지면 재 신고를 요청하는 것이다. 그것에 성실하게 임하지 않는다면 정말 문제가 있는 것이다.

아울러 언론은 법원에서 무죄를 선고한 20년 전의 ‘서울대 프락치’ 사건까지 후벼파고 있다.

조선일보를 비롯한 거대언론의 살생 대상자인 유시민 의원에 대한 구질구질한 흠집내기에 대해서 지적하다 보니, 구질구질한 옹호처럼 되었다. 물론 공직 행을 예상하고 치밀하게 처신하지 못한 유시민 의원이 잘했다는 것은 아니다. 하지만 사안의 경중을 가리지 않고 중범죄로 몰아 가는 조선일보를 비롯한 거대언론의 작두 칼 위에는 ‘광기의 증오’가 서있다.

문제의 본질은 거대언론과 한나라당이 국회에 ‘인사청문회’를 개최할 권한이 왜 필요한 것인가에 대한 이유와 무관하게 정적에 대한 흠집내기와 정략적 공격의 장으로 ‘인사청문회’를 활용하고 있는 퇴행적인 행태이다. ‘검증’이라는 외피로 스스로의 정략적 본심을 포장한 채로...


국민의 대의기관인 국회는 청문회 대상자의 전문성과 자질에 대해서 국민을 대신해서 ‘검증’하는 것이다. 국민에게 봉사할 수 있는 능력과 자질에 대해서 확인한다는 말에 다름 아니다.

자연인으로서의 삶 전체를 도마에 올려서 트집거리가 될 만한 것은 생선의 내장처럼 모두 끄집어내고 칼질하는 것은 ‘국민에게 봉사할 수 있는 능력과 자질 유무’에 대한 판단을 역겹고 혼란스럽게 할 뿐이다.

‘사학법 개정하면 전교조가 사학을 장악한다’라는 어처구니없는 분열적 피해의식으로 오랜 장외 투쟁을 마치고 국회에 등원한 한나라당이 또 다시 대립과 분열의 정략적 정치를 준비하는 국회의 모습, 공동체의 합법적인 스피커를 통해서 대립과 증오의 정치를 직접 선동하고 있는 거대언론의 모습이 2006년 새해 벽두를 장식하고 있는 것이 안타깝다.

공동체 구성원 모두의 책임의식과 사회적 대타협만이 대한민국이 직면한 난제인 ‘양극화 해소’의 유일한 첩경임을 생각할 때, 갈 길은 너무 멀다.

2006/02/02

인터랙션 디자인(Interaction Design)

비주얼 베이직의 아버지. 앨런 쿠퍼가 이야기 하는 디자인 이야기.
처음엔 무척 어이없게 들렸는데, 책 제목도 그랬고...

"정신병원에서 뛰쳐나온 디자인" 이라니..

내 직업이 처음엔 관련없다 싶었습니다. 근데 그게 아니었습니다
전 틀림없이 정신병원에서 뛰쳐나온 디자인을 찾아야 했지요.
지금은 새로운 분야에 눈을 뜨게 되었습니다.

그리고 제가 했던 말까지... 너무 추상적이라 말하긴 좀 그렇지만
재밌는건 "춤추는 곰"이랍니다. 곰이 얼마나 춤을 잘 출까요?

저희 유저가 언제까지 변호자들이 되어야 할지..

인터랙션에 대한 이야기는 밤을 새서 이야기해도 훌륭한 먹이감이
될꺼 같습니다. "난 사용자를 위해 프로그램을 개발한다"

컴퓨터로 쉽게 진법 변환하기

원래 한동안 진법에 대해선 까맣게 잊고 살았는데 갑자기 친구가
물어보는 바람에 다시금 찾아보게 되었습니다.

지금 설명해드리는 내용은 Microsoft Office 중 Excel과 OpenOffice.org Calc 에서만
사용 가능합니다.

Microsoft Office Excel Function

2 진수 Function
BIN2OCT(number) : 2진수를 8진수로 바꾼다.
BIN2HEX(number) : 2진수를 16진수로 바꾼다.
BIN2DEC(number) : 2진수를 10진수로 바꾼다.

10 진수 Function
DEC2BIN(number) : 10진수를 2진수로 바꾼다.
DEC2HEX(number) : 10진수를 16진수로 바꾼다.

8 진수 Function
OCT2HEX(number) : 8진수를 16진수로 바꾼다.
OCT2BIN(number) : 8진수를 2진수로 바꾼다.

16 진수 Function
HEX2DEC(number) : 16진수를 10진수로 바꾼다.
HEX2BIN(number) : 16진수를 2진수로 바꾼다.
HEX2OCT(number) : 16진수를 8진수로 바꾼다.

OpenOffice.org Calc Function

BASE(숫자;기수)
DECIMAL(숫자;기수)

OpenOffice의 경우 기수는 진법을 나타내며 Base에서 받는 숫자는 오로지 10진수를 바꾸는 것입니다.

예를 들어 10진수 14를 2진수로 바꾼다면 다음과 같은 식을 사용합니다.

=base(14;2) // 값 : 1110

위에서 나온 1110 를 다시 8진수 또는 16진수로 바꾸려고 할때는 다음과 같이 사용해야 합니다.

=base(decimal(1110;2);8) // 값 : 8진수 16
=base(decimal(1110;2);16) // 값 : 16진수 E

그럼 유용하게 사용하세요. 업무시간에 남기다 보니 정신없이 정리를 잘 하지도 못했네요.

이젠 이름보다 닉네임이 편하다..

PC통신이라는 걸 알게 되면서 어느샌가 부터 나 자신을 처음엔
믿고 내 본명을 써왔습니다. 본명이라고 해야 누구나 생각할 수 있는 이름이니까.

그리고 인터넷이 보급되기 시작하면서 닉네임을 쓰기 시작했는데
나도 모르게 나에게 달라붙은 닉네임. 서치

처음엔 멋있게 지어본다고 지은게 search_go. 지금도 이 닉네임은
다음과 야후, 오르지오 등 수 많은 포털에서 아직도 사용하고 있는
아이디가 되버렸습니다.

그 이후에 서치아이(searchi), 서치5(search5), 서치(search)로 바뀌어 버렸습니다. 지금은 닉네임을 혼용해서 쓰는데 search5, search를 주로 사용합니다. 사실 search보다 search5 사용비율이 더 높은 편이죠. 근데 왜 5냐구요?

제 이름을 숫자로 만들면 2 3 5 가 되거든요.^^;; 이름이 이상호니까
숫자로 읽으면 2(이), 3(상), 5(호) 이렇게 되버리더라구요. 결국 말도 안되는 이야기로 끝나겠지만 서치(상호)라는 뜻을 내포한.

항간에는 다섯번 검색이라는 뜻 풀이를 하기도 했답니다.

어찌되었든 지금의 닉네임은 search5, search 지만 이 외의
사용해왔던 아이디는 너무 다양해서..

아마 지금까지 써왔던데.. ks56(한글 표준 ksc5601의 줄임), hosang(상호를 뒤집어 쓴 이름), lsh0987(이상호의 약자와 숫자 0987 합체), i2what(어떤 난데?), pay2i(나는 pay를 2배로 벌고 싶다), search.lee(서치를 이름으로 하고 lee를 성으로 하고 싶은..) 정도입니다. 이외에 기억나는건 search235인데 이건 거의 사용하지 않기 때문에...

뭐 이렇습니다^^
가끔가다 난 정말 대단하단 생각이 들때가 많습니다. 왜 이리 많은 아이디를 생산했을까 하고요^^;

아무튼.. 닉네임.. 이젠 저도 모르게 저한테 달라붙어서 떨어지지 않네요. 서치. 아자아자! 서치씨 가봅시다~

2006/02/01

설이 지나갔다~

까치까치 설날이라더니 반가운 손님도 없고...
이놈의 외가 사촌들은 오빠를 봐도 무관심하고. 애들이 좀 많이 커서
그런가?

하긴 그러고보니 국도타고 내려갈때 까치를 보긴 했습니다. 까치라..
어렸을때부터 만화를 많이 봐온 탓인지 순간적으로 만화 주인공인
설까치가 생각나더군요. 그 모습 무지 귀여웠는데 생각해보니 그때 당시의
설까치 나이는 저보다 더 많이 먹었습니다 -.-(우어 까치형)

설에 이리저리 많이 다녔는데, 첫째 큰집 막내형때문에 성질나서 폭발하는
줄 알았습니다. 그래도 힘내서 포기했습니다. 성질낼 것도 아니라서.(말이야
이렇다지만 실제론 폭발 직전이었습니다

이런 연휴때면 쉬겠다는 생각이 안들고 벌써 1살 더 먹나.. 이런 생각만 드는군요
올해는 어떻게든 군복무 문제를 매듭지어야 하는데 걱정이 태산입니다.

그래도 설이었는데... 한해 멋지게 시작해 봅시다!!

ps.말은 멋들어졌는데 사실 연휴 바로 다음날 침대에서 못 일어나고 뻗어 있었습니다.

PyGTK2 에서 스크롤되는 widget 생성

PyGTK에서 상하좌우로 스크롤되는 Widget 생성을 하려면
ScrolledWindow 을 사용해야 합니다.

이때 스크롤될 위젯은 ScrolledWindow 에만 추가되고
다른 컨테이너에 추가 되면 안됩니다.

예를 들어 TreeView 위젯이 스크롤되어야 하고 화면에
VBox 위젯이 있다면 VBox 위젯에 ScrolledWindow 에
pack 되어야 하고 ScrolledWindow 에 TreeView 위젯이
추가되면 됩니다.

물론 이 과정에서 TreeView 위젯과 ScrolledWindow 윈도우는
pack 되거나 add 후 반드시 show 메소드를 호출해야 합니다.

ScrolledWindow 는 무척 영리해서 좌우 스크롤바를 나타낼지
그렇지 않을지에 대해서 자동으로 판단합니다.

따라서 내용이 길어지면 하단 스크롤바가 생기고 아래쪽으로
내용이 길어지면 측면 스크롤바가 생기게 됩니다.

더 자세한 것은
http://www.pygtk.org/pygtk2reference/class-gtkscrolledwindow.html

를 참조하여 주세요.

2006/01/27

TreeView의 CellRendererToggle에서 Toggle 기능 구현

PyGTK 2.0 에서는

CList와 TreeView를 TreeView 위젯으로 함께 제공하는데 이에
따라서 TreeView에서는 Toggle 위젯을 구현할때

gtk.CellRendererToggle 를 사용하는데
이때 그냥 표시만 하면 Toggle 표시가 안되는데 토글 표시를 하려면

toggled 메소드를 CellRendererToggle에 걸어주고 liststore(또는 treestore)를 추가 인자로 넘겨주고

콜백 메소드에서 self, cell, path, liststore를 인자로 받아서

liststore[path][컬럼번호] = not liststore[path][컬럼번호]

를 적고 return을 해주면 toggle 기능이 되면서 체크박스가 선택되게 된다.

컬럼 헤더에서는 조금 다른 방법으로 이를 해결해야 한다.

2006/01/26

윈도우 2000과 XP에서 재부팅 없이 IP 변경하기

인터넷이 보급되기 시작하면서 휴대용 노트북도 많은 장소에서 인터넷을
접속해야 하는 경우가 많이 늘어났다. 이에 IP를 변경하는 방법이 다양
해졌는데 다음과 같은 방법을 사용하면 IP를 쉽게 변경할 수 있다.

단) 윈도우 2000 이상에서만 동작한다.
--
우선 윈도우에서 인식되는 네트워크 장치명을 알아야 한다. 네트워크 장치명은

시작->설정->제어판->네트워크 연결

을 통해 들어가면 보이는 이름이 네트워크 장치명이다. 바꾸지 않고 기본값으로 두었다면

"로컬 영역 연결"
"무선 네트워크 연결"

로 보일 것이다. 내 컴퓨터는 무선 인터넷을 사용하기 때문에 무선 네트워크 연결이
포함되어 있다.

메인보드에 장착하는 네트워크 카드가 2개라면 "로컬 영역 연결 2"라는 이름이 추가되서
보일 것이다. 이름은 조절해도 상관없지만 그러지 않기를 바란다. 본인이 뭘로 바꿨는지
하루만 지나도 까먹기 때문이다.

이름을 어딘가 적어두었다던가 했다면 다음으로 넘어간다.

IP 변경 명령어 : netsh
netsh 의 명령줄의 예는 다음과 같다.

netsh -c int ip set address name="로컬 영역 연결" source=static addr=11.11.11.11 mask=255.255.255.0 gateway=11.11.11.1 gwmetric=0

명령어 분석 /:

name : 변경하고자 하는 interface (보통 "로컬 영역 연결" 이라고 되어있습니다.)
- 내 내트워크환경->오른쪽 클릭->속성 에서 확인할 수 있습니다.
addr : 변경하고자 하는 IP주소
mask : 변경하고자 하는 subnetmask
gateway : 변경하고자 하는 gateway

설정하고자 하는 IP가 DHCP 등일 경우 /:

netsh -c int ip set address name="로컬 영역 연결" source=dhcp

DNS 변경
앞서서는 ip address 만 변경했는데 DNS 변경은 다음과 같이 할 수 있다.

DNS 수동 설정
netsh -c int ip set dns name="로컬 영역 연결" source=static addr=111.111.111.11 register=PRIMARY

DNS 자동 설정
netsh -c int ip set dns name="로컬 영역 연결" source=dhcp

IP 세팅 Backup & Restoring
앞에서 설명한 내용이 이해되지 않으면 다음과 같은 방법을 사용해 설정을 저장해서 사용한다.

IP 세팅 백업 :
netsh -c interface dump > 사무실.txt

IP 세팅 복구 :
netsh exec 사무실.txt

txt 파일을 특정한 위치(자기가 좋아하는 위치나 관리상에 두는 위치)에 놓아두었을
경우 파일명 앞에 파일이 위치한 전체 경로를 기재하면 된다.

txt 파일은 수정하지 말아라

!!! 이 방법은 Windows 2000 이하에서 실행되지 않는다.

2006/01/20

PyGTK에서 TextView 에 다른 Widget 추가

PyGTK 2 에서 textview 위젯에 위젯 포함할때

TextView 위젯 안에는 다른 위젯을 포함할 수 있는데, 이때 위젯은 TextView에 간단히 추가되지 않는다.

추가할때 PyGTK의 객체 추가방법과는 조금 다른 방법으로 추가된다.

1. window 나 box 위젯에 객체 추가하기
add 메소드나 pack_start, pack_end 메소드 사용하기

add 메소드 사용
win.add(widget)

pack_start, pack_end 메소드 사용
hbox.pack_start(wiget, expand, fill, spacing)
vbox.pack_end(widget, expand, fill, spacing)

그런데 textview 위젯에서는 iter와 anchor 를 얻어서 생성해야 한다. 그리고 textview 에 위젯을 추가하는 메소드를 사용한다.

2. textview 위젯에 다른 위젯 추가하기

textview buffer 얻어오기
buffer = textview.get_buffer()

textview buffer의 iter 얻어오기
iter = buffer.get_start_iter()

textview buffer에 anchor 추가. # create_child_anchor 메소드는 iter 를 요구한다.
anchor = buffer.create_child_anchor(iter)

textview 에 추가할 위젯 생성
checkButton = gtk.CheckButton("생성된 파티션을 확인하시겠습니까?")
checkButton.show()

button을 textview 에 추가. # add_child_at_anchor 는 1번째 요소로 추가할 위젯을 받고, 2번째 요소로 anchor를 받는다.
textview.add_child_at_anchor(checkButton, anchor)

######### 참고 #########
이때 anchor가 미리 생성되어 있다면 anchor 추가 구문 대신 다음 구문을 써서 anchor를 받아올 수 있다. 물론 생성되어 있다는 가정하에서는 iter 를 얻어오는 구문 조차 필요하지 않다.
anchor = buffer.get_data("anchor")
########################

이제 실행된 textview에는 다른 위젯이 포함되어 있는걸 확인할 수 있다.

------------------------------------------ textview에 위젯을 더 추가해보기
textview에 위젯이 포함되어 있을때 위젯을 더 추가하려면 anchor를 한번더 생성해야 한다.
이때 anchor 생성은 anchor를 생성하는 구문만 한번 더 써주면 되며 iter를 생성할 생각이라면
get_start_iter() 메소드는 textview의 가장 첫번째 iter를 얻어오게 되므로 마지막에 위젯을
추가할 생각이라면 get_end_iter()를 이용해서 iter를 얻어와야 합니다.
-----------------------------------------------------------------------

2006/01/16

PyGTK 2.0에서의 리스트 구현

PyGTK 2.0에서는 원본 gtk에 들어있던 CList를 더 이상 구현하지 않을 생각에 있다.

따라서 PyGTK 2.0에서 CList와 같게 구현하려면 TreeView Widget에 ListStore를 쓰면 된다. 나머지는 컬럼 등에 관한
사항은 TreeView 에 관한 것을 쓰고 내부적인 것에 대해 트리 구현일 경우는

TreeStore 를 사용하고

CList 와 같은 일반 리스트를 구현할 경우

ListStore를 사용하면 된다.

잘 모를 경우 직접 실험해본다.

예제는 PyGTK 2.0 튜토리얼에 있는 BasicTreeView.py 파일을 참조하고 TreeStore와 관련된 것을 적절히 ListStore로 변경시킨다.

2006/01/05

SYSLINUX의 Display 파일인 MSG 확장자 파일 포맷코드

지금 하고 있는 일이 리눅스 인스톨러를 만드는 일인데, ISOLINUX에 있는 확장자가 *.msg 인 파일에는 일반인이 이해할 수 없는 코드가 몇가지 있는데 이 코드에 대해서 다음과 같은 내용을 갖다놓는다.

이 코드를 VIM에서만 입력을 해보았는데 입력을 할 경우 Ctrl+V 를 먼저 누르고 입력해야 한다. (숫자 ^0 처럼 보이는 것은 영어 대문자 O이다. 터미널에선 구분이 잘 되지 않는다)

전문 : http://syslinux.zytor.com/faq.php#format
-----
{ What is the DISPLAY File Format? }

DISPLAY and function-key help files are text files in either DOS or UNIX format (with or without <CR>). In addition, the following special codes are interpreted:

<FF> <FF> = <Ctrl-L> = ASCII 12
Clear the screen, home the cursor. Note that the screen is filled with the current display color.

<SI><bg><fg> <SI> = <Ctrl-O> = ASCII 15
Set the display colors to the specified background and foreground colors, where <bg> and <fg> are hex digits, corresponding to the standard PC display attributes

0 = black 8 = dark grey
1 = dark blue 9 = bright blue
2 = dark green a = bright green
3 = dark cyan b = bright cyan
4 = dark red c = bright red
5 = dark purple d = bright purple
6 = brown e = yellow
7 = light grey f = white


Picking a bright color (8-f) for the background results in the corresponding dark color (0-7), with the foreground flashing.

Colors are not visible over the serial console.

<CAN>filename<newline> <CAN> = <Ctrl-X> = ASCII 24
If a VGA display is present, enter graphics mode and display the graphic included in the specified file. The file format is an ad hoc format called LSS16; the included Perl program "ppmtolss16" can be used to produce these images. This Perl program also includes the file format specification.

The image is displayed in 640x480 16-color mode. Once in graphics mode, the display attributes (set by <SI> code sequences) work slightly differently: the background color is ignored, and the foreground colors are the 16 colors specified in the image file. For that reason, ppmtolss16 allows you to specify that certain colors should be assigned to specific color indicies.

Color indicies 0 and 7, in particular, should be chosen with care: 0 is the background color, and 7 is the color used for the text printed by SYSLINUX itself.

<EM> <EM> = <Ctrl-Y> = ASCII 25
If we are currently in graphics mode, return to text mode.

<DLE>..<ETB> <Ctrl-P>..<Ctrl-W> = ASCII 16-23
These codes can be used to select which modes to print a certain part of the message file in. Each of these control characters select a specific set of modes (text screen, graphics screen, serial port) for which the output is actually displayed:

Character Text Graph Serial
------------------------------------------------------
<DLE> = <Ctrl-P> = ASCII 16 No No No
<DC1> = <Ctrl-Q> = ASCII 17 Yes No No
<DC2> = <Ctrl-R> = ASCII 18 No Yes No
<DC3> = <Ctrl-S> = ASCII 19 Yes Yes No
<DC4> = <Ctrl-T> = ASCII 20 No No Yes
<NAK> = <Ctrl-U> = ASCII 21 Yes No Yes
<SYN> = <Ctrl-V> = ASCII 22 No Yes Yes
<ETB> = <Ctrl-W> = ASCII 23 Yes Yes Yes

For example:

<DC1>Text mode<DC2>Graphics mode<DC4>Serial port<ETB>

... will actually print out which mode the console is in!

<SUB> <SUB> = <Ctrl-Z> = ASCII 26
End of file (DOS convention).

<BEL> <BEL> = <Ctrl-G> = ASCII 7
Beep the speaker.

2006/01/04

어머님이 입원하셨다는 메시지를 받아보곤...

지난 1월 2일 오전에 일어나자마자 휴대폰으로 날아든 비보.

어머니가 병원에 입원하셨다는 동생의 메시지였다. 어렸을 적 너무 많이 고생시키고 속 썩여드리던 나였기에 앞뒤 잴 요량없이 바로 회사 상사와 파견지에 연락을 하고 청주로 향했다.

부모님이 아프시고 병원에 입원하신 상황에 놀라지 않은 자식이 어디있고 걱정하지 않을 자식이 어디있단 말인가? 청주에 어머니가 입원해 계신 병원에 찾아가 병실을 묻고 병실에 가니 창백한 몸으로 누워계신 어머니 모습이 보였다.

아버지는 그전날부터 주무시지 못한 모양이신지 많이 피곤해보이셨고, 2분다 회사는 어떻게 하고 왔냐고 물어보시길래, 얘기하고 왔다고.. 그렇게 말했다.

또 지나서 하는 얘긴데, 어머니 모습을 볼때 순간 울컥했다. 전생이 어머니에게 죄가 없으실 분에게
왜 장마비 같은 병이 생기는 것인지... 부처님이 순간 너무 싫었다.

오전에 찍은 X-ray 사진 검토 결과를 받고 별다른 이상이 없다고 해서 그날 서울에 올라왔다.

"엄마 아프지 마세요.. 지금 많이 못해드리지만 더 잘해드리도록 노력할께요"

최진실의 동생은 가수 박진영인가?

얼마전인 지난해 12월 31일 KBS에서 연기대상 시상식이 있었다. 그동안 연예가에서 MBC와의 계약 문제등 떠들석했던 최진실씨가 최우수상 및 네티즌상등을 받았다.

물론 그녀의 연기만으로 봤을때 그건 충분히 상을 받을 가치가 존재했다.



그렇다고 해서 내가 이야기하고 싶은 최진실씨의 연기는 아니고 그걸 보도한 신문기자의 무례한 행태를 이야기하고 싶어서다.

사진에 보면 분명 최진실씨의 동생은 최진영임에도 불구하고 박진영으로 적어두었다. 내가 그 기사를 보고 해당 기자에게 메일로 잘못 적었다고 알려주었음에도 불구하고 수정하지 않는 태도는 뭔가?

기자가 문젠가? 아니면 이미 지난 기사라서 그런것인가? 아니면 기자가 속한 회사 사장이 바보멍청이인가?

독자의 겸허한 비판은 수용하되, 잘못된게 있으면 받아들여야 하는데 이놈들은 그렇지 않으니 솔직히 열이 받는다. 이 일을 이런식으로 공론화 시켜야만 자기들의 잘못을 이해하겠나?

기사는 최소한 공정성과 진실을 이야기 하는 매체다. 최진실씨의 동생이 박진영이면 박진영의 동생은 정지훈씨라고 말하는 것과 어찌 다른가?

정신차려라. 이 머니투데이 놈들아!!

2005/12/29

요즘 연애부 기자들의 기억력은 새머리가 아닐까?

내가 좋아하는 연예인이 있어서 비교적 연예계 뉴스나 그 소식에
관심을 많이 갖는 편인데, 강수정 아나운서의 말 실수에 대해
어떤 기자가 기사를 썼는데 그이가 진행하는 강수정의 뮤직쇼(예전엔
김장훈의 뮤직쇼였다)가 방송하는 KBS 2FM인 Cool FM의 채널이
91.9Mhz 란다.

91.9Mhz는 수도권에서 MBC 표준 FM인데, 게다가 89.1Mhz.
Cool FM은 수도권이외에는 방송조차 안하는데 과연 이 연애부 기자는
글 쓸때 주파수 확인도 안하나? 하긴 기자보다 편집장이 더 문제지.

이러니까 우리나라 신문의 기사들이 항상 개판이지.

ㅋㅋ

2005/12/28

일일 드라마 보기

거참 드라마 보기 힘들다. 내가 한국에서 정말 첫째나 둘째 가라면 서러울 정도로
거의 모든 드라마의 등장인물과 스토리, 미리보기 내용을 꾀차는데

마침 오늘 오후 8시 25분에 시작하는 KBS1 일일 드라마 별난여자 별난남자를
보려고 KBS에서 로그인해서 OnAir를 가동했는데. 어랏

왜 드라마가 안 나오지. 뭔가 좀 이상했다. KBS2에서 뉴스 좀 보다가 방송
편성표를 보는 순간 느꼈다.

"앗 KBS2가 아니라 KBS1이었다 ㅡ.ㅡ"

한 12분 남은 상태에서 보기 시작했는데 역쉬, 드라마는 글자로 읽어대는 것보다
영상으로 보는게 최고다.

우헥. 그나저나 조엘은 아직도 내 신경을 박박 긁는걸.

원서 접수 안된게 교육부와 대학이 잘못한 말로만 외쳤던 교육혁신의 일환으로 볼 수 있나..

하루동안 대학에 원서 접수를 못하고 원수 접수 서버들이 다운당했다고 하는데
뉴스와 학부모들 학생들은 말로만 교육 혁신을 외치지 말고 서버 증설부터
하라고 하는데 그게 말이 되나.

하나. 원서접수 서버를 늘리면 되지 않냐고?
국내에서 원서 접수 회사는 총 3곳. 원서 접수는 매년 이 시기에만 집중적으로
이뤄질 뿐이고 그 이외의 기간에는 사실상 원서 접수가 거의 없다.
그런데 원서 접수 업체에 서버를 늘리라고? 매달 IDC에 나가는 비용은 어떻게 하라고?

둘. 원서 접수 업체는 대학에서 운영하지 않나?
대학들이 자기네들 돈 들여서 왜 남의 대학까지 원서 접수할 수 있는 시스템을 마련하겠나?

셋. IT 종사자들이 바보 같아서 그렇다고?
물론 시스템 설계가 엉성해서 그런일이 발생했다고 칩시다. 있을 수 있는 일이니까
그런데 왜 IT를 싸잡아서 비난할껀 뭐냐고? 몰려드는 사용자들을 어찌하라고?

결론. 그러니까 미리 어디갈지를 정해두던가. 대학놓고 저울질하면 우울한 세상밖에 더 만들어지겠나?

바보같은 한국인들 1편.(엇 그러고 보니 나도 한국인이네.. ㅋㅋ)

2005/12/27

조엘 온 소프트웨어

지금까지 나름대로 프로그래머라 항변하며 살아왔는데 내가 알고 지내는 한사람의
추천으로 읽게 된(순수하게 추천이었다) 조엘 온 소프트웨어는 지금 내 가치관을
뒤흔들고 있다.

뭐 정확하게 표현한다면 내가 없다고 해야 되나. 어쨌거나 지금 이 조엘이라는 작자는
내가 책을 보면서 가슴뛰는 감정을 느끼게 한 2번째 필자임에는 틀림없다.

1차는 누구냐고? 자바 개발자인 이창신씨다. 이창신씨는 아파치 자카르타 커미터로 활동하고 계시다.

이창신씨가 지은 자바 SDK 책이 이렇게 가슴뛰게 했었는데 오랜만에 귀한 진주를
만난 것 같다^^

다 읽으면 그대로 시행해 볼 수 있도록 노력해보자.

2005/12/22

답변형 게시판 알고리즘

어디에서나 흔히 볼 수 있는 웹 게시판 알고리즘이긴 하나 때때로 계속 만들기 귀찮아서 올려둔다.


idx family childLevel Subject
1 1 1 글 1
3 1 2 [RE] 글 1
6 1 3 [RE][RE] 글 1
5 1 4 [RE] 글 1
2 2 1 글 2
4 2 2 [RE] 글 2


다음과 같은 구조로 되어야 한다. 마지막에 올린 답글이 가장 최상위에 올라오게 된다.

새로운 글을 시작할 경우 family 값은 TABLE에서 max 값을 가져오고 childLevel은 1로 시작하게 된다.
이때 새로운 글에 답변이 달리면 자연이 childLevel의 값은 자기 부모글의 childLevel보다 1 높은 값을 지니게 된다. 이때 childLevel이 1인 부모글에 답글을 달게 되면 처음 작성된 답변글이 childLevel값이 나중에 달린 childLevel 값과 같아지게 되므로 누가 가장 먼저 나올지 며느리도 모른다.

따라서 이문제를 해결하기 위해선 마지막에 올린 답글이 가장 최상위에 올라와야 한다는 걸 생각하면 다음과 같은 방법으로 문제를 풀 수 있다.

table에 새로운 답변글을 하나 더 인서트하기 전에 html 폼에서 넘어온 family 값과 childLevel 의 값(이미 1이 더해진 값)을 받아서 table에 같은 family 값을 가지면서 childLevel보다 높은 값은 하나씩 더 하면 문제가 해결된다. 위의 알고리즘은 지금 설명한 내용을 기준으로 다음과 같은 형태를 지니게 된다.


idx family childLevel Subject
1 1 1 글 1
7 1 2 [RE] 글 1
3 1 3 [RE] 글 1
6 1 4 [RE][RE] 글 1
5 1 5 [RE] 글 1
2 2 1 글 2
4 2 2 [RE] 글 2


단지 이렇게 할 경우 글을 family와 childLevel의 값으로 asc 혹은 desc 정렬를 하면 순차적으로 값은 가져올 수 있으나 얼마나 칸을 띄워야 하는지 이것에 대한 판단 기준이 없으므로 이 부분에 대해선 조금 더 생각해볼 필요가 있다.

혹은 childLevel에 1이 더해진 값이 이미 존재할 경우 update 하지 않는 방법도 있을 것이나 글쎄.. 이건 조금 더 생각해 볼일이다.

2005/12/20

NeverSpam 적용을 위한 자바스크립트 및 Anchor

---> 이메일 확인을 위한 페이지(HTML)에 삽입(ex. 방명록 리스트, 게시판 세부 화면)
<script language="'javascript'">
function AntiSpam(id) {
window.open('./antispamin.php?UniqId='+id,'AntiSpam','width=180,height=263,left=1,top=1');
}
</script>

---> 이메일이 보였던 곳에 삽입(ex. 방명록 리스트 안의 실제 이메일 링크)
<a href="'javascript:AntiSpam($Id)'">추출방지</a>

/----------------------------------------------------------------
JavaScript 인자 id는 이메일이 있는 테이블(방명록 테이블)에서
넘어온 게시물을 확인시켜주고자 하는 것이다.
예) table description
id     name     subject                 email
1     이상호     소은씨만 봐요     search5@gmail.com

이라고 한다면 방명록 리스트에선 1이라는 id 값이 넘어올 것이다. 물론 이때의 1은 방명록
리스트에서 각 게시물의 고유한 아이디로서 다중 게시판을 사용할 경우 게시판 ID도 포함할 수 있으며 email 을 확인하기 위한 고유의 게시물 아이디등을 추가할 수 있다.
-----------------------------------------------------------------/

NeverSpam은 크게 2가지의 실행 방식을 제공하는데 gd 방식을 추천한다. exe 방식은 외부에 보안문제를 일으킬 수 있기 때문이다.

다중 보드일 경우 (gd)antispamin.php에 넘길 UniqID 값은 기본적으로 하나이며, 이 값에 추가로 덧붙이지 않고 다른 변수를 하나 더 추가해서 넘기고 (gd)antispamout.php에서 uniqid 는 신경쓰지 않고 $Email에 값을 집어넣는 곳에서는 UniqID 및 추가로 넘긴 값을 DB로 쿼리를 던져 값을 얻어온다.

네버스팸 프로그램은 http://www.neverspam.or.kr 에서 얻을 수 있다.

ps.. > 네버스팸은 아직까지도 베타이며 ASP, PHP, JSP, Perl 버전으로 제작되어 있다. 파이썬 버전이 없고, 프로그램은 구조화가 잘 되어 있지 않기 때문에 Class 를 이용하는 프로그램에선 면밀히 분석해서 클래스를 제작해서 구현해야 할 것이다. 나 역시 클래스 버전으로 재포팅을 생각해보고 있다.(이렇게 해서 쓰고 있는 라이브러리가 있다.)

네버스팸 프로그램에선 크게 5개의 함수와 중복된 함수(내용은 다르다) 2개가 있는데, 이중 4개의 함수는 공통적으로 쓰인다.
공통 함수명 : IpTest(), BlockIpRelease(), BlockIf(), BlockIpList()
(gd)antispamin.php 에서만 쓰는 함수명 : DelBmp()
중복 함수명 : Start()

클래스 제작시 Start 함수는 이름을 조금씩 바꿔 제작한다.

궁금한 사항은 search5@gmail.com 으로 메일 주세요~(근데 이거 관심가지고 있는 사람이 얼마나 될까..)

2005/12/19

PyGTK로 여러 화면 애플리케이션 작성 코드 sample(class)

데이터들은 사전으로 넘기면 될듯 하다. 인스톨러 제작하면서 시도해본다.
---
#!/usr/bin/env python

import pygtk
pygtk.require("2.0")
import gtk

class MultiWindow1:
    def btNext(self, widget, data=None):
        window2 = MultiWindow2()
        self.window1.hide()

    def __init__(self):
        self.window1 = gtk.Window(gtk.WINDOW_TOPLEVEL)
        button = gtk.Button("Next")
        button.connect("clicked", self.btNext)
        self.window1.add(button)
        button.show()

        self.window1.connect("destroy", lambda w: gtk.main_quit())
        self.window1.show()


class MultiWindow2:
    def btPrev(self, widget, data=None):
        window2 = MultiWindow1()
        self.window.hide()

    def __init__(self):
        self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
        button = gtk.Button("Prev")
        button.connect("clicked", self.btPrev)
        self.window.add(button)
        button.show()

        self.window.connect("destroy", lambda w: gtk.main_quit())
        self.window.show()

def main():
    gtk.main()
    return 0

if __name__ == "__main__":
    MultiWindow1()
    main()

PyGTK로 여러 화면 애플리케이션 작성 코드 sample(non-class)

가장 첫번째 줄은 리눅스 등의 유닉스 아류작에서만 사용된다.
---
#!/usr/bin/env python

import pygtk
pygtk.require("2.0")
import gtk

def window_show(widget, data=None):
    window2 = gtk.Window(gtk.WINDOW_TOPLEVEL)
    window2.connect("destroy", lambda w: gtk.main_quit())
    button = gtk.Button("이전")
    button.connect("clicked", window_hide, window2, data)
    window2.add(button)
    button.show()
    window2.show()
    data.hide()

def window_hide(widget, data=None, data2=None):
    data2.show()
    data.hide()

window1 = gtk.Window(gtk.WINDOW_TOPLEVEL)
button = gtk.Button("다음")
button.connect("clicked", window_show, window1)
window1.add(button)
button.show()
window1.connect("destroy", lambda w: gtk.main_quit())
window1.show()

gtk.main()

방송대 교가에 빠져보시게나..

내가 다니는 학교지만 여태까지 교가가 어떻게 생겨먹었는지도 몰랐는데.
웃기다~~

ㅋㅋㅋ
한번 들어들 보셔요.
방송대학교 교가

악보

믿어? 믿지 않아?

동시대의 사람들이 자주 쓰는 말이 어떤 것이 있을까? 지난 토요일 늦은 7시에 친구들을
만났다.

뭐.. 이 녀석들 말로만 친구지.. 연락은 지네들끼리 하질않나.. 게시판에 글 남기라면 남기지도
않지.. 너무하는 것들 아냐.

뭐 그런 녀석들이래도 어쩔 수 없다. 같이 초등학교 나와놓고서 딴말할 수 없는 것 아닌가?
가만.. 그날 누가 나왔었지..

김복래, 김현숙, 서지명, 박득규, 송권호, 김한중, 은현준, 이경치, 안병찬, 나~

그래 이렇게 나왔었네.. 다들 오랜만에 보는거라서.. 수다도 많이 떨줄 알았는데.. 역시나더군..
어떻게 새벽 4시까지 수다를 떠냐. 이것들아

물론 나야.. 몇마디에서 멈췄다.. 우헥... 니가 그래놓고도 천하의 수다쟁이란 말야??(사실 난 수다쟁이가 아니다)

그건 그렇구.. 오랜만에 본 복래는 9급 공무원이 되었고.. 득규는 카센터에 있고.. 권호는 하이닉스 다니고.. 한중이는 KT 인터넷 관리팀에 있고.. 병찬이는.. 해경이 될 몸이시고..

하긴 이 나이쯤 되면 다들 어느정도 자리잡을때가 되었지(내 나이는 24..)
나도 남들처럼 군대를 제대했어야 했는데. 너무 귀찮았다 ㅡ.ㅡ;;;

아무튼.. 오늘도 늘.. 행복한 시간...

ps... 미움..그리움..행복함..사랑해... 지금부터야. 가자!! 미래로.

2005/12/12

이소은 4집 애인..

한번 들으면 슬픈 멜로디로 나의 감정을 적셔오는 노래다. 언제부터인지
소은씨의 노래는 늘.. 내 감정에 살아 숨쉬고 있는 느낌이다^^

--
헤어진지 꽤나 오래됐는데 아직도 누가 내게 물으면
애인있다 하죠
사랑하는 사랑이 애인이잖아
내곁에 머무르지 않아도 애인인거잖아
나혼자 걸어도 나 혼자 웃어도
니가 곁에 있는 듯이 그렇게 생각해

내마음이 너를 놓치 못하는 걸
아직도 그 자리에 남아서
맴돌고 있는걸

우리다시 그 어떤 예쁜 기억도
만들수 없다는 거 알지만 그래도 괜찮아
눈을 감고 니 어깨에 기대울던
따뜻한 지난 겨울 만으로 웃을 수 있는걸

나혼자 걸어도 나 혼자 웃어도
니가 곁에 있는 듯이 그렇게 생각해

내 마음은 너를 버릴 수 없어
너를 잊어버리려 하지만 그럴 수가 없어

그럴 수가 없어

주말의 기말시험..

학교를 벌써 5년째 다니고 있다.. 사실 군대를 연기하기 위해서
다니는 거라서 학점엔 그다지 신경쓰고 있지 않지만 이제 관리의 필요성을
느끼고 있다.

쌍권총의 압박이라고 해야 할까?? 가히 쌍권총의 압박은 도대체 매해 이러니
살맛이 안나기도 할려고 한다. 그건 그렇고

주말에 갑작스레 변경된 시험장소로 향했다. 원래 학교는 한양대 앞에 있는
덕수정보산업고등학교. 그런데 무슨 일인지 시험 며칠전에 성동여자실업고등학교로
바뀌어 버린탓에 적응을 못하고 있었다..(머리가 요즘 아프다)

시험일인 11일 오전 9:40가 넘어서야 일어난 난 아뿔사를 외치며, "아 이게 아니야"
라는 소리를 연발하기 시작했다. 다음 시험 시간이 10:30분 부터 였기 때문에 급했다.

허겁지겁 씻는둥 마는 둥 학교 차를 몰고 시험장으로 향했다. 어떻게 잘 도착하고
주차도 문제없이 끝내고 교실을 막 찾아 들어갔더니 바로 시험.. 으악....

공부를 못했으니 성적이 안나오리나는 건 당연지사가 아닐까나.

시험 과목 자체가 1, 2학년껄 보다보니 오전, 오후에 두루 걸쳐 있었다.

결과적으로 플래너에 시험시간에 늦지 않게 준비하자는 빈 말이 되어버렸다. 이에는 내가
한게으름하는 탓도 있었지만 우리학교 전산 시스템이 모조리 activex 를 사용해 버리는 탓에
리눅스를 사용하는 내가 접속할 수 없었다.

참 아쉬운 일이 아닐 수 없었지만 그냥 참기로 했다. 내가 신도 아니고...

정오에 간단하게 식사를 챙겨먹고 교재를 가져가지 않고 가져온 PyGTK 튜토리얼을
뚫어지게 시험보는 내내 빈 시간때마다 챙겨보기 시작했다. 내 장점은 여기에 있는
거겠지만..

그렇게 1과목을 놓친 5과목을 보는 둥 마는 둥 하고 나오고 같은 장소는 아니지만 대학
동기 누나를 만나 책 사고 밥 먹고 나왔다.

그러고 보니 종로 영풍문고는 15분당 500원이라는 아주 저렴한 주차비였었다.
담에 종로 갈일 생기면 영풍빌딩에 묶어나야 겠다.(근데 종로까지 차를 타고 납실일이 있을까?)

오늘도 분주하게 시작한 하루. 성과있는 하루를 만들어내기 위해 노력하자!

2005/12/09

ldconfig에서 에러나면??

회사에서 쓰고 있는 데비안 리눅스에서 다음과같은 에러가 발생하였다.

# apt-get dist-upgrade
...
Setting up zlib1g (1.2.2-4.sarge.2) ...
ldconfig: Writting of cache data failed: No space left on device
dpkg: error processing zlib1g (--configure):
subprocess post-installation script returned error exit status 1
Error were encountered while processing:
zlib1g

여기에서 보이는 바와 같은 에러는 / 파티션이 100% 다 썼을때 나타나는 현상이다.
해결하려면 / 파티션의 공간을 넓혀주어야 하나 LVM이 아닌경우엔 다시 설치해야 하는
치명타가 있다.

--원문
That's most likely because your root partition (/) is full, and it's
trying to write to the /etc directory - which is included in your root
partition.

You could either delete something you don't need on the root partition
to give yourelf some wiggle room (as previously mentioned), or you could
consider adding some disk space to the root partition by resizing it.
Looks like you have plenty of elbow room on the drive (especially in
your /home partition) to do the resizing.

You can get a better look at your overall partition layout by running
'fdisk -l /dev/hda' (as root), and you can get the output into a text
file with 'fdisk -l /dev/hda > filename'

정말 어이없다.. 리눅스 또 깔아야 하다니.. 지겹다..

2005/12/08

아름다운 생각

명언은 책에서만 발견할 수 있는 게 아니야.
일상 생활속에서 가장 가까이 찾을 수 있는 있는 것 같아 그치?

아깝다!

그 동안 잊혀진 많은 생각들.
다 적어놓을 걸.

평범한 사람들의 생각과 이야기가
세상을 돌게 만든다.

너무 아름답다!!!

고맙습니다~~내 주위의 모든 분들!
나를 이렇게 키워 주셔서.^^

2005.09.06 http://cyworld.com/serealm 소은씨 홈피 다이어리에서...

2005/12/06

KDE에서 gtk1 프로그램을 읽어들일때 폰트가 깨지면??

나는 데비안에서 KDE3 을 사용하는데 gtk1 어플리케이션인
xmms와 glimmer 를 사용하는데 이때 프로그램이 로드되면 설정창이나
기타 한글을 보여주는 부분이 모두 깨지게 된다.

문제는 gnome을 세션으로 띄우면 이런 문제는 발생하지 않는 다는 건데
이 문제를 해결하기 위해선 홈디렉토리에서 다음과 같은 작업을 하면 된다.

$ cp .gtkrc-1.2-gnome .gtkrc

이 문제가 발생하는 이유는 KDE에서는 .gtkrc-1.2-gnome을 읽어들이지 않고
.gtkrc 를 읽어들이기 때문에 발생하는 것이다(KDE에 버그 보고를 해야 하는 사항)

그리고 파일에서 읽어들이는 파일인 .gtkrc.mine 파일은 미리 만들어져 있어야 한다.

웹에서의 다중 플랫폼 정보 접근성 이야기

어디서부터 이야기 보따리를 풀어내야 할까? 웹은 오래전부터 정보 접근성을 누구에게나 개방했었다.

그런데 웹이 무르익기도 전에 네스케이프(http://www.netscape.com)는 웹의 주도권을 놓고 독주하기 시작하면서 브라우저에 자체의 기능을 넣고 질주를 계속하다 새 제품의 출시 이유로 MS의 IE에게 브라우저의 왕자 자리를 넘겨주게 되었다.

하지만 IE는 웹의 표준을 마음대로 무시했으며 심지어 IE가 질주하는 동안에 많은 애플리케이션 업체들은 IE 자체에 먹는 테크닉과 MS Windows에만 이식되는 기술을 개발하기에 이르게 되었다.

우리가 다이나믹 HTML이라 부르는 그 기술들이 사실은 브라우저와 OS에 의존적이라는 것이다. 물론 사용자의 웹 브라우징을 편리하게 다루는데 있어서 MS의 Active X 기술에 제동을 걸 필요는 없다.

하 지만 내가 Active X에 제동을 걸고자 하는 건 다른 이유에서다. 바로 정보 접근성이라는 건데, MS는 아직까지도 모질라 프로젝트가 밀고있는 Cross Platform 기술인 XPCOM을 무시하고 있다는 거다. 그 덕분에 수많은 리눅스와 맥 유저들은 많은 은행들에 인터넷 뱅킹을 하지 못하게 되었다.

나만 해도 인터넷 뱅킹을 할려고 윈도우를 가끔 킨다. 근데 이러한 브라우저와 운영체제에 의존적인 기술이 은행에만 도입된 것은 아니라는 거다. 그럼 어디에 도입되었냐고?

국가 교육기관인 한국방송통신대학교, 국가 전자 정부 사이트, 국가 과학 도서관 등 수많은 정부 부처 및 국가 기관들이다.

이들 기관은 윈도우가 아니면 그 어떠한 혜택을 누릴 수 없다. 물론 여기에 그 기관들을 나열한다는 건 어려운 일일뿐더러 그렇게 해서 얻어질 수 있는 혜택은 많지 않다.

그럼 왜 이처럼 우리에게 웹에서의 정보 접근성은 차단되어 있는 것일까? 답은 하나다. 정보 접근성은 우리 스스로가 찾지 않으려 했다는 것이다.

물론 1차적으로 물었을때가 답이지만 2차적으로는 국가 IT를 책임지는 정보통신부와 그 외 기관이 넉을 놓고 윈도우가 독점하는 꼴을 바라봤다는 거다.

리눅스가 성장하기에 앞서 수 많은 브라우저가 공통으로 제공하는 Cross Platform 기술을 사용했더라면 이런일은 없었을텐데 아쉬운 부분이다.

정보접근성. 머지 않은 날에 해결되겠지만 소수의 유저가 모든 웹 사이트에 자유로이 드나들며 밝게 웃을 수 있는 날이 언제쯤 올까?

리눅스에서 Umask 설정에 관해서

리눅스에서 Umask 를 사용할땐 주의해야 한다.

기본적으로 umask을 이용해 파일이 생성될땐 허가권의 반대로 설정을 하게 된다.
설정 확인은 다음과 같이 한다.

$ umask -S

출력결과 : u=rw,g=rwx,o=rwx

물론 위의 결과대로라면 다음과 같은 권한을 가진 파일이 만들어져야 한다.

-rw-rwxrwx 1 shlee shlee 0 2005-12-06 19:00 1

퍼미션에 대한 자세한 설명은 유닉스 퍼미션에 관한 서적이나 내용을 참조하기 바란다.

그런데 파일을 만들면 다음과 같은 파일이 만들어진다.

-rw-rw-rw- 1 shlee shlee 0 2005-12-06 20:01 4

그 이유는 기본적으로 셸이 파일을 만들땐 777 mask를 가지지 않고 0666 이라는 마스크를 가지기
때문이다.

이 때문에 다음과 같은 공식이 성립한다.
0666 & ~022 = 0644 = rw-r--r--

박스1 : 022는 umask의 기본값이다.

그때문에 기본값인 022은 666에서 022을 뺀 결과인 644(-rw-r--r--)을 가지게 된다.

처음엔 파이썬 공부를 하다가 일일이 chmod로 권한을 조정하는게 귀찮아서 조금 건드려보다가
알게된 사실인데, 혹시 까먹을까 두려워서 적어둔다.

새로운 친구들

지난 친구의 결혼식에서 새로운 친구들을 만났다.

늘 아쉬움에 뒤를 돌아보곤 했는데, 새로운 친구들은 곁에서
보이는 이상의 의미를 다시한번 깨쳐주었다.

언제부터였을까.. 친구라는 존재를 만들지 않게 된 것이
사람에 속은것이 유독 있어서 였던 걸까? 아니면 왜 그랬던 걸까?

친구의 결혼식에서 다시만난 고교 동기와 친구의 중학교 동기인
선화, 재인씨, 경숙씨
아직은 익숙치 않은 사이지만 조금 더 나아지겠지?

세 친구들에게 내가 부탁 하나만 한다면,
지금도 앞으로 좋은 사이가 되길 바랍니다.

-꿈의 끝자락을 늘어잡고 있는... 내가..

2005/12/05

불멸의 이순신을 초등학교 버전으로 만들었다고 하넹..


우리나라 전쟁사에 있어서 7년동안 22번인가? 23번을 싸워서 단 한번도 진적이 없는 장수는 이순신 밖에 없을것이다.. 그러한 이순신과 그 부하들을 초등학교 버전으로 만들어서 퍼왔으니 즐겁게 감상하기를..