2009. 10. 19.

성공적인 기업을 만드는 구결

다음의 세가지 범주에 해당하는 일을 모두 해야한다.

  1. 세상을 변화시킨다
  2. 고객의 생활을 향상시킨다
  3. 조직에 지속적인 가치를 만들어 낸다.
새로운 기업의 창조는 이 세가지 가치를 모두 충족시킬 수 있어야한다.

회사를 만든다는 것은 새로운 상품을 세상에 내놓는 것 이상의 일을 의미한다.
상품광고, 보안유지, 봉급과 현재 회사의 재정을 유지해야하는 일 등등, 관리라는 측면을 생각한 장기간의 계획이 짜여져있어야한다.
주변의 인물들을 조직화하고 이들을 운영하기 시작해본다면, 실제로 하나의 조직을 운영한다는 것이 상상외로 어렵다는 것을 느끼게 될 것이다.

2009. 10. 7.

Apapche CGI로 동작하는 SBCL 스크립트의 문제점.


#!/usr/local/bin/sbcl --script

(format t "Content-type:text/html; charset=UTF-8~%")
(format t "~%")
(format t "~A~%" (stream-external-format *standard-output*))

Above cgi script returns which charset is on the script running. I hope it'll return UTF-8 but I got ASCII.
Well.. may be some problem is there with Apache CGI.

분명히 위의 스크립트를 실행시키면 UTF-8이 나와줄거라고 믿었지만 결론은 ASCII가 나왔다.
Apache CGI에서 기본 실행시 ASCII로 돌리는 것 같은데.. 환경변수를 UTF-8로 변환할 방법을 모르겠다.
아니면 unicode를 출력할 적절한 방법을 찾아야할텐데 좀 갑갑하다..

이 문제는 apache의 mod_env를 사용해서 풀게되었다.
mod_env는 환경변수를 지정해서 이를 CGI등으로 보낼 수 있도록 하는 모듈이다.
LC_CTYPE을 UTF-8로 지정하는 방법을 사용해서 SBCL이 유니코드로 동작하게 만들었다.

방법은


  1. /etc/apache2/mods-enabled 에 /etc/apache2/mods-available/env.load 의 심볼릭링크를 만들고

  2. /etc/apache2/mods-available/env.conf를 다음과 같이 만든다.

    SetEnv LC_CTYPE en_US.UTF-8<br />SetEnv LANG en_US.UTF-8<br /><br /><br />


  3. /etc/apache2/mods-enabled 에 /etc/apache2/mods-available/env.conf 의 심볼링링크를 만든다.
  4. apache2를 재시작한다.
이제 깔끔하게 출력된다. 그동안의 삽질 이제 끝~~

2009. 10. 5.

열심히 일하지 말고, 영리하게 일하라.

Work Less, Get More Done: Analytics For Maximizing Productivity에서 글쓴이는 더 긴시간을 할애해서 일하는 것 자체가 경쟁력을 만들어내지는 못한다고 말하고 있다. 경쟁업체가 X시간만큼 일한다고, 당신이 X+1시간만큼 일하는 것을 대항전략으로 내세우면, 경쟁사(혹은 또다른 경쟁사)는 X+2 시간만큼 일하면 순식간에 생산성이 역전되기 때문이다.
이런 방식은 전략적으로 상호간의 시간을 빼는 시합이 되기 쉽기때문에, 효과적인 답이 되기는 어렵다. 더우기, 상대하는 회사가 이미 기틀을 가지고 있는 회사라면, 상대방은 막대한 인력과 투입가능한 재원을 가지고 있기때문에, 오랜 시간 일하는 것은 대안이 되기 어렵다.

고전적인 회사라는 개념에서, 관리자와 개별 근로자는 일하는 행태를 눈으로 직접 볼 수 있기때문에, 이들이 측정하는 생산성은 얼마나 오랜동안 일하고 있느냐로 구분되었다. 하지만 이런 방식으로 실제 생산성을 측정하는 것은 불가능에 가깝다.

바로 측정의 방식이 정확해야만 실제적인 생산성을 향상 시킬 수 있다.

필자는 여기서 가져온 것이, 가상-임금(Pseudo-Wage)이라는 개념이었다.
예를 들어보자. CD를 우편으로 부치는 것은 얼마나 가치있는 일일까? 많은 소프트웨하우스가 자신의 소프트웨어를 CD로 배송한다. CD를 만들어내는 작업은, CD자체의 가치와, 추가적인 가치를 총합해내면 된다.
매 4장당 30$가 들어가며, 한장당 5$의 기본가치가 있다고 가정해보면, 한장당 가치는 대략 12.5달러가 된다. 한시간에 4장정도를 얻을 수 있다면 시간장 50~60달러의 가치를 만들어낸다.

말하자면, 이때 드는 시간을 좀더 가치있는 일에 전용한다면, 기존보다 더 많은 수익을 얻을 수 있다.

기법 1: 아웃소싱
가치를 만들어내지 못하는 일이라면 외부에 위탁하는 것을 고려하라. 물론 비용에 대해서는 항상 생각해야한다.

기법 2: 자동화
제품을 만들어내는 공정이야말로 가장 중요한 자산이다. 그러므로 해당하는 공정이 최대한의 효율성이 나도록 끊임없이 혁신한다.

기법 3: 비효율적인 시간을 제거하라.


2009. 9. 23.

언어에 대한 논쟁은 종교논쟁만큼이나 쓰잘데기 없다

언어에 관한 논쟁은 예나 지금이나 피곤합니다.

이 제까지.. 거의 예외없이 모든 경우에 특정 언어에 대한 호불호가 글에 적시되면, 뒤이어 나오는 것은 유서깊은(?) 언어논쟁이 나온다. 비판의 초점이 무엇이든간에 '그러면 그 언어가 틀려먹었다는 거냐?' 며 치열하게 물고 뜯는 냉혹한 말싸움이 예외없이 나온다.

원글뿐 아니라 원글이 트랙백하고 있는 글에서 딱히 C++에 대한 공격을 했다고 보기는 어렵다. 글쓴이는 단순히 C++이 가지는 표현상의 한계를 극복하려는 차원에서 STL을 이야기한 것 같은데, 댓글에서는 C++을 공격한 것처럼 이야기하는 것을 보니.. 물론 표현이 과격할 수는 있지만, 전체적인 문맥을 읽게되면 나름 이해가 되는 수사적인 표현이었을 뿐이라고 생각했는데 말이다.

한 언어를 충분히 익힌다는 것은 상당한 시간과 돈이 필요한 일이다. 또한 어떤 문제를 해결하는데 있어서 필요한 문제해석방식이 형성되기때문에, 언어로 인한 일종의 '틀'이 생길 수 밖에 없다. 그러다보니, 자신이 사용하는 언어에 대한 비판에 있어 아주 예민해지는가 보다. 즉 자신이 가진 가치관에 대한 도전으로 인식하는 듯 하다.

그 러다보니 반론이라는 글의 대부분은 전체적인 주제를 꿰뚫은 토론이라기보다는 지엽적인 문제만을 가지고 집요하게 말꼬리를 무는 글에 가깝게 나온다. 수사적인 표현을 들고 나와서 그에 대한 감정적인 글을 쓰는 것을 보면, 종교에 대한 논쟁을 보는 것 같다.

어 떤 한가지 지엽적인 주장은 항상 옳다. 하지만 전체 문맥에서 그 주장이 항상 옳기는 쉽지않다. 대부분의 경우, 특정 이슈에 대한 문제제기는 그것이 '옳다', '그르다'로 판단되기보다는 '이렇게 된다'와 '저렇게도 된다'라는 결론으로 귀결되는 경향이 더 많다. 특히나 전산문야에서는 상당히 많은 문제들이 수많은 방법으로 해결될 수 있기 때문에, 한 곳의 '좋지 않다'라는 비판이 꼭 '틀리다' 라는 흑백논리로 귀결되지는 않는다. 말하자면 컴퓨터 언어는 과학이라기보다는 일종의 공학이고, 어떤 기술에 가깝기 때문에, 어떤 진리인양 절대성을 가지고 따질 문제가 될 수 없다고 본다.

내가 가진 '정의'가 꼭 다른 사람에게도 '정의'가 될 필요는 없다. '정의'의 반대말은 '불의'보다는 '또다른 정의'에 더 가깝다.
소모적인 논쟁을 일으키는 대신에 다른 사람의 의견을 자신의 자양분으로 만드려는 노력을 하는 것이 더 이익이라는 생각을 해본다.

2009. 9. 22.

블로그 이사중이다.

이글루스 글 이사중이다.
그리 많지 않을거라고 생각했는데 5년동안 올린 글이 300개정도 된다. 대부분은 SICP문제풀면서 올린 문제풀이였지만, 글을 정리하다보니 참 여러 생각이 든다.

이런 글을 썼나 싶기도 하고, 내가 봐도 다른 사람이 쓴 글 같기도 하고.. 여러 가지로 정이든 장소를 떠나려고하니 조금 센치해지기도 하고..

예전에는 Naver 블로그를 썼었다. 아마 거기글도 끌어와야겠지만, 여기 처럼 많은 글은 아니라서 묵묵히 올리는 일이 벅차지만은 않을듯 싶다. 성격이 베베꼬인탓인지는 모르겠지만 한국 대형 포탈이 보이는 모습에 진저리가 나서 게중에 가장 리버럴해보이는 이글루스로 망명해서는 5년을 지내고, SK에 통합되고 나서 변하는 모습을 보면서 다시 망명을 한다.

근데.. 역시나 이사를 하는 일이 만만치않다.
제대로 된 백업툴이 없다보니 글을 긁어다가 일일이 붙이고, 날짜를 수정해가면서 올리는데, 새로운 사이트는 하루에 글을 너무 올리면 일일이 보안문자까지 확인하니 올리다보면 하세월이다.

그래도 꾸역꾸역 글을 넣다보니 어느새 끝을 바라본다. 참 힘들다..
소소히 글이나 올리며 노는 나같은 사람도 이런데 메이저 블로그들은 장소 한번 바꾸려면 얼마나 힘들런지...

예전에 블로그 이사관련한 사이트도 있었는데 지금은 문을 닫아 이용하지못해 하나하나 글을 올린다는 것이 참 우습기만하다. 왠지 IT 세상에 살고 있으면서, 하는 일은 책을 필사하는 중세시대처럼 한다고나 할까..

프로그램 만들어서 돌린다면 안될것도 없지만... 옛글도 한번 찬찬히 보고 싶고, 그러면서 뭔가 반성도해보고 있어서 좋은 시간이었다고 자위해본다.

보낸때는 좀 쿨하게 보내줄 수 없나? 내가 올렸던 글.. 그런 글을 내가 다시 어디에나 올릴 수 있도록 백업하나 받을 수 없는 답답한 닫힌 공간에는 절로 짜증이 난다. 나가기 쉬운만큼 들어오기도 쉬울 거라는 생각은 안해보는지...

새로 이사가는 곳에는 떡하니 블로그 백업, 복원 기능이 아예 자리까지 잡고 있는걸보니 아쉬웠던 생각이 후련함으로 바뀌기까지한다.

2009. 9. 18.

Ex 3.1

let* 문을 lambda 문으로 바꾸는 문제

((lambda (x)
   ( +
     ((lambda (y) (* y y)) x)
     x))
 6)
     
처럼 만들면 된다.
x 의 수식을 계산해서 y값을 뽑아내기때문에 lambda 안에 새로운 lambda가 들어가면 됨..



2009. 8. 20.

첫번째 게시물..

이제 이글루스 게시물을 가져올 것임..