Quick fixing eclipse menu issue on Ubuntu 13.10

Create a script:
 % sudo vi /usr/lib/eclipse/run.sh
 #!/bin/bash
 export UBUNTU_MENUPROXY=0
 /usr/lib/eclipse/eclipse
Edit Eclipse launcher:
 % sudo vi /usr/share/applications/eclipse.desktop
 ..
 Exec=/usr/lib/eclipse/run.sh
 ..
Then, global menu will be disabled.

Why big data companies are focusing on "SQL on Hadoop"?

The hosting companies who earns money through rental of infrastructure say the cloud is more cost-efficient despite leading-edge technology. Oh, really? I acknowledge the technology and its advantages, but I think it's unwholesome in terms of business and marketing.

Similarly, Big Data companies doing the same approach in the traditional DW market. I think that's why big data companies are focusing on "SQL on Hadoop". Now the original meaning of Big Data analytics has faded out. I acknowledge the technology and its advantages, but I dislike their unwholesome aims.

벤더들이 SQL on Hadoop 에 집중하는 이유

SQL on Hadoop 그 뜨거운 경쟁을 보자하면, 문득 NHN NEXT 김평철 박사께서 클라우드에 대해 약간 불건전해보인다던게 생각난다 (비지니스 관점).

임대 사업으로 돈을 벌어야 하는 인프라 프로바이더가 "클라우드는 다양한 장점을 갖고 있는 최첨단 테크널러지임에도 불구하고 비용은 오히려 저렴하다"는 뉘앙스의 마케팅에서부터 잘 이해되지 않는다는 것.

빅데이터도 요즘 가만 보면 대단히 유사하게 돌아가는데, 그게 바로 SQL on Hadoop 이다. 기존 DW 시장을 노리면서 "최첨단 빅데이터 테크널러지"임에도 불구하고 비용은 저렴하다는 식으로 접근하고 있지. 애당초의 빅데이터 분석에 문제는 살포시 데이터 사이언티스트의  책임으로 돌리면 빅데이터 패키지는 완성된다.

그리하여 무슨 통신사니 제조회사니 빅데이터 기술 도입하니 비용은 절감되고 성능이 몇 배 빨라졌다는 둥 뉴스를 보자하면 우리는 무슨 생각을 갖어야할까?

언론의 무서움을 새삼 느낀다.

요즘 귀에 따갑게 듣고 있는 Hive니 Impala니 은연중 우리네 귀로 주입되는 편협한 정보의 내면에는 정보처리 기술의 최첨단 혁신만이 담겨있는 것만은 아니라는걸 말하고 싶다.

쓰러지는 토종 SNS

놀랍지도 않은 뉴스.. 뭐 예견된일이다. 애시당초 국내 대기업 포탈회사 경영진은 해외 서비스할 마인드가 없었음.

아래는 빅데이터와 스플렁크 관련 포스트를 작성하면서 적어놓았던 생각들:
예전에 IT분야 뉴스를 보면 미투데이가입자가 몇만명 돌파했니, 네이버가 뭘 했니 하는 뉴스가 간간히 보였지만 요즘은 애플 vs. 삼성 말고는 별로 볼게 없다.

아니나 다를게 동영상하면 Youtube, SNS하면 페이스북/트위터, 검색하면 구글, 소프트웨어하면 오픈소스와 자바, .... 뉴스가 없긴하다. 물론, 모바일 패러다임에 카카오톡같은 .5 세대가 나오긴 했지만 결국 다 밀릴거 같다.
과거 포탈 업계 경영쪽에서 2017년까지는 안정권이라는 말을 많이 하였는데 재밌게도 딱 한 3년 후까지는 어영부영 정말 갈 것 같고, 그 다음은 이제 예측되는대로 갈 것 같다.

세대교체는 현재 진행형.

Three keys to successful IT business: unique, philosophy, and technique

IT에서는 유니크, 철학, 그리고 기술이 가장 중요하다고 생각한다. 알흠답지 않은가? ㅋ 물론 승자가 되기위한 중요한 팩터는 시장지위나 자본일지 모르겠다.. 그래서 시장지배적지위에 올라있는 카피캣들이 필요한건 빠른 정보분석력과 자본이 되겠다. 여하튼, 개인적으로 IT 비지니스에 굳이 큰 자본은 필요없다고 생각한다. 캐피탈은 risk and revenue sharing partnership 일 뿐.

The dilemma of open source developers

From what I see, typically, open source developers has excellent communication, judgment, and problem-solving skills. They also keep up with the tech trends. They loves open source software and wants to contribute as a full-time, but the company wants to use their skills to other roles.

The solution to keep the dream of doing OSS freely, is creating own company. However unfortunately, the only weakness of them is lack of business mind/talent. Hence, many open source developers who has long hair and shaggy beard like garage rockers, are always hungry.

달고 쓴 오픈소스의 비밀

다음은 06년도에 작성된 윤석찬씨의 글.
오픈 소스 개발자의 딜레마

유명 오픈 소스 프로젝트의 오너가 되거나 이들 프로젝트 소스 커미터가 된 사람들이 이 일을 전업으로 가지려고 하면 매우 큰 모험을 감수 해야 한다. 당시 그 모임에서 단 한 명 만이 공식적으로 업무 시간에 오픈 소스 프로젝트를 참여 할 수 있었다. 그는 사내 제품에 탑재된 오픈 소스 프로그램을 개발하면서 품질을 높이는 일과 더불어 오픈 소스 개발을 해온 경험을 바탕으로 사내 개발자를 교육 시킨다고 한다. 뿐만 아니라 사내 개발 프로젝트에도 오픈 소스에서 사용되는 방법론을 채용해서 프로젝트를 진행하고 있기도 하였다.

해외에서는 이미 많은 유력 IT 기업들이 오픈 소스 개발자 채용에 경쟁적으로 나섰다. 대표적으로 구글(Google)은 파이썬 프로젝트를 만든 귀도 반 로섬, 파이어 폭스 개발자인 벤 구저, Gaim 개발자인 씨안 어간 등 많은 유력 개발자들을 채용 했다. 뿐만 아니라 썬 마이크로시스템즈, IBM, 오라클 등 유명 IT 기업들은 이미 과거에도 오픈 소스 개발만을 전담 하는 사람을 수십~수백 명씩 데리고 있다. 2003년 AOL이 넷스케이프 개발자 대부분을 해고 하면서 일부는 모질라 재단에 흡수 됐지만 대부분은 이들 회사로 옮겼다. 이들이 오픈 소스 개발자를 데리고 있는 이유는 자사 제품과 서비스의 기술적 품질을 높이기 위한 것이지 일종의 사회 기부적인 성격의 공헌을 하기 위한 것이 아니다. 만약 어떤 회사가 오픈 소스에서 받은 혜택을 환원하기 위한 수단으로 오픈 소스 개발자를 채용하거나 지원하는 것은 매우 잘못된 접근 방법이다.

오픈 소스 커미터가 된 사람 정도면 개발에 대한 일가견이 있다고 볼 수 있다. 많은 사람들과 토론을 통해 다져진 커뮤니케이션 능력과 개발에 대한 상황 판단 및 문제 해결 능력이 매우 뛰어나다. 또한, 외국 사람들과 개발을 진행하니 언어 구사 능력과 글로벌 마인드 또한 갖추고 있다. 최근 기술 동향에도 관심이 많다. 오픈 소스 개발자들을 별종 인간처럼 생각하는 사람들이 많지만 필자가 만나 본 국내외 대부분 오픈 소스 개발자들은 모두 똑똑하고 유망한 기업에 몸담고 있는 사람들이었다. 이들은 내심 오픈 소스 프로젝트를 전업으로 하기를 원하지만 회사는 그 능력을 다른 곳에 써주기를 원한다. 그들은 이런 이유로 음지에 있다.
 - "커미터가 된 사람들이 이 일을 전업으로 가지려고 하면 매우 큰 모험을 감수 해야 한다."
 - "내심 오픈 소스 프로젝트를 전업으로 하기를 원하지만 회사는 그 능력을 다른 곳에 써주기를 원한다. 그들은 이런 이유로 음지에 있다." 

뼈저리게 느끼는 부분들이다.  외국 기업도 물론 비슷하지만 .. 특히나 한국 기업은 그 능력을 다른 곳에 써주기를 원하면서, 그와 동시에 능력에 걸맞는 대우 조차 없다데에 문제가 더 크겠다 ㅋ.

한국의 기업들은 또 일반적으로 내 밑에서 군말없이/사고없이 일할 사람 (매니저), 해당 업무지식이 부족해서 개발자를 학벌 따위 기준으로 평가할 수 밖에 없는 사람, 싼 값에 노동력을 얻겠다는 사람이 (인사담당) 채용을 담당하기 때문에 오픈소스에 몸을 담게 되면 취업 자체가 힘들어진다.

오픈소스가 이미 우리들 가까이에 있기는 하지만 아직 멀기만한 이유가 바로 이런 문제 때문 아닐까.

세상 공식

사람 관계 영역은 대단히 복잡해보이지만 큰 그림에서 인간사가 돌아가는 메커니즘은 사실 매우 간단하여 수학적 공식으로도 표현가능할 것 같다는 생각이 든다.

하둡의 생태계, 오픈소스는 자연을 닮았다.

내가 처음 Hadoop 프로젝트에 기웃거리게 된 것은 2000년 초중반, 웹 검색엔진 전쟁의 시대였다. 검색엔진 프로젝트를 하면서 즐겨찾던 Lucene/Nutch 프로젝트의 하위 프로젝트로 탄생할 때 부터였지. 그래서 거의 시작부터 봤다고 해도 과언이 아니겠다.

당시 검색의 일인자(?) 구글의 DFS와 BigTable 논문이 나왔을 무렵일까.. 오픈소스진영에서는 구글의 분산처리 기술 논의가 활발했었는데, 다들 입씨름 하느라 바쁠때 아무 말없이 스켈레톤 코드를 구현해서 올린 이가 있으니 그 이름은 Mike J. Cafarella.

Hadoop HDFS/MapReduce 1.0, 그리고 HBase의 0.20 이전까지의 코드는 사실 Mike의 구현을 기반으로 진행되어온 것이다. 물론 Hadoop이라는 네이밍은 더그 커팅이 했겠지만 .. 그래서 웃기게도 Hadoop 창시자는 더그 커팅이다.

당시의 분위기를 바탕으로 짐작컨대, 대형 웹서비스 또는 검색엔진 회사에서 재직하던 엔지니어들은 이미 그 프로젝트의 비전을 보고 있었다. 전산학도가 아닌 내가 hadoop.co.kr을 확보하고 기웃거린것만 봐도 그렇지. 그 때문에 하둡 기반의 다양한 아이디어들이 쏟아졌고 다양한 그룹이 중복된 프로젝트를 개설하면서 패거리 간 힘겨루기 모드가 시작된다.. ㄷㄷ;

Y!에서 Pig가 나오자 Facebook에서 Hive를 내놓고, 내가 기계학습과 과학연산을 위한 행렬 연산 패키지를 제안하자 Lucene 커뮤니티의 유럽 개발자들 사이에서 Mahout프로젝트를 만들었다. 뭐 그런식으로 몇 년간 진행된건데, 요즘도 별반 다른건 없다. Impala가 나오면, Tez가 나오고, MRQL이 나온다. 내가 Hama를 BSP기반으로 변경하고 진행하는 와중에 Y!는 또 Giraph를 만들어 출시했다.

처음엔 좀 더러운 놈들이라고 욕도 많이 해봤고 GNU로 갈아탈 생각도 많이 했다. 왜냐하면 우리는 흔히 오픈소스 하면 공유와 협력을 떠올리는데 실상이 그렇지 않았기 때문이다. 누구나 오리지널러티를 인정받고 싶어하는거다.

그런데, "순서가 틀렸지 얘야~". 오픈소스라 개발자들이 협력하는게 아니고, 강자가 살아남고 약자들은 살아남기 위해 협력을 하는거였다. 냉혹한 자연과 매우 비슷하다. 그러기에 매섭게 진화한다.

요즘 볼게 너무 많고 프로젝트도 너무 많다는 사람들이 간혹 있다. 몇년 후면 정리될 거라 말하는 이도 있다. 내 생각엔 계속 그러할거다. 자연스럽게 그냥 계속 흘러간다.

이를 지켜만 보고 있으면 끝까지 보고만 있게 될 것이고, 협력을 하지 않는다면 먹히거나 조용히 사라져 갈 것이다.

진격의 거인 게임

게임하기 ㅋㅋ: http://fenglee.com/game/aog/

진격의 거인 3D

1,2,3 : 캐릭터 바꾸기

A,W,D,S : 방향키
왼쪽 쉬프트 : 점프 & 입체기동 중 부스터
Q : 왼쪽 앵커 사출 (앵커는 꾹 누르고 있으면 유지)
E : 오른쪽 앵커 사출
스페이스바 : 양쪽 앵커 동시 사출

마우스 왼쪽클릭 : 공격
마우스 오른쪽클릭 : 특수공격 (WOW 시점일 때는 S + 마우스 왼쪽 버튼)
왼쪽 Ctrl: 회피 (공중에서 사용불가)
F : 타깃 지정 (가장 가까이 있는 적으로 화면 시점고정)

C : 카메라 시점 변경
L : 레벨 바꾸기
X : 마우스 커서 보이기/감추기
백스페이스 : 전체화면
T : 재시작
R : 칼날바꾸기
N : 심장을 바쳐! 이것아!!
Esc : 키 변경메뉴

2013 Boxster S + The Best Music for Driving "Any way you want it"


신형 Z4의 불안한 코너링에 대한 오해

다양한 NA방식 차량만을 고집하다 터보를 경험한건 작년에 35i로 바꾸고 나서였다. 처음 탔을때 기존 차량과 다른점에 대해 느낀것들이 있다면:

  • 차가 무겁다 
  • 터보와 백파이어 
  • 그리고 엔진브레이크가 상당히 강하다 

였다. 약간 준-슈퍼카같은 느낌이 들기도 했고 ... 덕분에 과격한 스포츠주행 시 뒤가 돌아가는 스핀 현상을 많이 느꼈다. 사람의 오감은 다 비슷한걸까 ... 어딘가모르게 코너링이 불안하다는 평이 많다.

개인적으로도, 그 원인으로 처음엔 1.6톤에 가까운 중량이나 전반적인 밸런스 문제를 지목했는데, 주행 무의식중에 발생하는 엔진브레이크도 크게 한 몫 하는것으로 생각되서 몇자 적어본다. 

아마 후륜이면서 터보 차량이나 고-압축비를 가진 엔진 차량을 오랜 기간 타보신 분들은 아시겠지만 저속 중 악셀을 떼면 뒷바퀴가 거의 잠겨버리는걸 느낄 수 있다. 고속에서도 사실 거의 마찬가지인데 관성때문에 잠겨버린 순간이 좀 빠르게 지나가고 엔진브레이크로 서서히 넘어가서 잘 못느끼는 거지.

이러한 뒷바퀴의 순간적인 잠김은 오버스티어로 연결될 수 있다. 언더스티어는 핸들링으로 빠져나올수는 있지만 오버스티어는 제어가 힘들고 상당히 위험하다. 아마 평소 얌전하게 타더라도 축축한 지하주차장에서 악셀링 떼면 뒤가 틀리는 경험은 한두번쯤 하게 된다.

그래서 이런 차량은 악셀링 조작보다는 브레이크와 기어변속을 최대한 많이 사용하는게 좋다. 전투모드로 똥꼬 따라붙다 줄였다 울컥울컥하는 맛(?)을 즐기시는 분도 꽤 계실텐데 (저도 한때 즐겨봐서 ㅋㅋ) 코너링에서 굉장히 위험하니 브레이킹과 적절한 변속으로 즐기시길. :-)

네이버 웹 검색의 변화


지난달부터 2~3천명 조금씩 들어오던것 마저 푹푹 꺼지고 있다. 꺼지는 방식을 보자하니 결과 페이지와 랭킹에 정책이 바뀐건 알겠다. 무엇을 어떻게 바꾸었는지는 모르나 한 가지는 확실하다. 외부 웹으로의 트래픽 유출을 줄이고 있다는 것 ㅋ.

오픈소스 관련한 대단히 이상하고 무식한 논리

전문 요리사를 불러다가 음식점을 개업한다면 인건비도 많이 들뿐더러 음식에 관한 그 집만의 고집이랄까 장인정신과 철학의 결여로 결국 알맹이없는 음식점이 될 것이다.

때문에 이런저런 요리 레시피를 가져다 스스로 만들어도보고 그러면서 고유의 맛집으로 거듭나겠다는 의지와 열정이 필요한거지. 그런 집들이 건전한 경쟁을 하면 그 일대는 이제 먹자골목으로 진화하는거다.

그런데 우리 주방장이라는놈이 "우리가 여기저기 공개된 요리 레시피로 자체 음식을 만들며 장사하다가 가끔 잘못되면 누가 책임질껀가요?" 라고 말한다면? 이런 새끼는 응당 짤라버리는게 도리지. 경영진은 옥석을 잘가려야 사업이 번창한다.

난 가끔 한국 사람들하고 오픈소스를 얘기하다보면 "오픈소스 좋고 저비용 좋은데 그러다 장애나면 누가 책임질껀가"라는 얘기를 듣게 된다. 아주 많이.

나는 이게 도대체 무슨 소리인지 알 수가 없다. ~.~

개발자 인생, 70~80년대생들의 고민들

최근 5년만에 만난 분들이 꽤 계시다. 내 나이 서른 다섯 쯔음, 과연 주변 또래들의 고민들이 하나 같이 이제 제 2의 진로라는 것을 느끼고 있다.

옛말에 "다 때가 있다" 라고 했던가! 20대 초반에는 한참 공부도 하고 놀기도 해야했고, 20대 후반부터 30대 중반까지는 대리/과장으로 사회 생활하면서 열심히 굴러야 했다. 

이제 30대 중반부터 40대 초반까지는 필생의 업을 찾아 본인의 자리를 확고히 해야하는 시기가 되었다고 본다. 아마 이러한 시기적 문제 때문에 또래 친구들의 고민이 깊은 것이리라. 남들이 쳐놓은 울타리 안에서의 삶을 거부하는 야생마 본능과 길들여짐의 안락함 사이에서 오는 갈등일까.

이들에게 내가 한가지 얘기해주고 싶은게 있다면, ..
알다시피, IT는 매우 빠르게 세대가 교체되고 있다.

    1. 컴퓨터가 등장하며 OS 시스템 전쟁이 있었고,
    2. 웹이 등장하며 전자상거래, 데이터베이스, 그리고 웹 검색엔진의 전쟁이 있었고,
    3. 클라우드가 등장하며 확장가능한 NoSQL 전쟁이 있었고,
    4. 사무용 소프트웨어들이 이제 모두 웹 또는 클라우드 기반으로 넘어갔으며,
    5. 지금은 스마트폰이 등장하며 메신저, SNS, 위치기반 서비스들의 전쟁이 일어나고 있다.

당신은 개발자로써 또는 기획자로써, 이런 변화의 엣지에서 IT 서비스와 기술을 리딩하며 세상을 변화시켜왔는가? 아니면 한박자 느리게 변화에 끌려다니며 스펙을 만들고 일자리를 알아보며 이직해왔는가? 웹에이전시 다니다가 포털회사다니다가 모바일회사로 이직하지는 않았는가? 물론, 인생에 정답은 없다고 무엇이 좋다고 할 수 없고 각자의 길에서 본인이 의미와 가치를 찾는다면 그게 길이다.

다만, 40대 초반까지 남을수 있다고 보면, 길어봐야 몇 년 남지도 않은거 연봉이 1억이라 해봐야 얼마 되지도 않는 돈이다. 20대는 어리버리 했다 치자. 이제 남은 30대도 그렇게 허비한다면 먼 훗날 늙어서 구구단이 잘 기억나지 않을 때, 그 시간들이 너무 후회스럽지 않을까!

그래서 지금 고민이 많으리라. 그대들이여 하고싶은거 질러라.

맥북프로 레티나 디스플레이, 그리고 한국 웹

레티나를 쓰면서 느꼈다. 얼마나 한국 웹사이트가 너저분한지 .. 네이버며 다음이며 쇼핑몰이며 다들 이미지만 덕지덕지 왜 이런거지? -_-;

한국 IT 대기업들에 대한 아쉬움

제프 마크험에게 들어서 이미 알고 있었지만 호튼웍스가 한국에 지사를 설립한다는 기사[1]를 오늘 보게 되었다.

내용 중 유독 눈에 띄는 문구가 있으니, ..
몇몇 국내회사가 하둡 분야의 오랜 경험을 보유했지만, 미국기업을 선호하는 국내의 기업용 솔루션 시장 풍토로 대우를 받지 못하는 상황이다.
내가 NHN이나 KT같은 대기업을 7~8년 간 재직하면서 대기업 소속 직장인들에게 느낀게 있다라면, 도전의식의 결여, 조잡한 경쟁의식, 위계질서, 책임전가, 집단이기주의 등 이다.

가령 내가, 우리네 대기업 개발자들이 필요한것을 개발하고 오픈소스화해서 한국 IT발전도 이끌자! 이러면, "회사에 무슨 이익을 주는가?", 또는 "이미 외국에 페이스북이나 트위터가 개발하고 그 기업에서 검증된 오픈소스를 쓰지 뭐하러?" 라는 질문들이 나오며, 최종 결정은 보통 제 3자에 의해 개발된 외국산 오픈 소스를 사용하는 방향으로 협의 된다.

어찌보면 생각해봐야할 문제처럼 보이긴 하는데, 그간 이런 논리로만 접근해서 한국 소프트웨어 산업이 이모냥 아니겠어. 비단 이런 예말고, 솔루션 도입이나 신사업 접근 방식도 이것과 모두 다르지 않다.

여기서 협의라는 표현을 쓴 이유는, 뭔가 under the desk 에서는 보이지 않는 분쟁이 있다는 얘기다. 언제나 그러한 분쟁 내면에는 도전의식의 결여, 조잡한 경쟁의식, 집단이기주의에서 오는 다양한 의도가 숨겨져 있지 (굳이 자세히 설명은 안함).

한편, "기업 이윤 추구"라는 큰 목적은 그 목적보다는 바텀업 문화와 창의성을 저해하는데 활용 된다. 무엇이 합리적이고 생산적인지 생각하는 것을 포기한 자들이 (물론 자신의 이익은 계산하겠지만) 주로 "그래서 회사에 무슨 정량적 이익을 주는가?" 란 공격으로 끝맺음 하려고 하지.

고등학교 때 교련 수업받은 세대가 슬슬 물갈이 되지 않는 한, 내 생각에 한국 IT 대기업들의 미래는 어둡기만 함. 쉬운 문제가 아니지만 "잡고있는 줄을 놔야 새로운 줄을 잡는다"는 것을 깨닫고, 우리네 개발자들 스스로 창조적 직업이라 믿는다면, 앞으로 우리의 의식 수준을 높여야 할거다. 똑같은넘 되지말고, 화이팅~

1. http://www.zdnet.co.kr/news/news_view.asp?artice_id=20130529081754

클라우드와 빅데이터

웹 시장이 커지면서 발전한 오픈소스들이 있다. 리눅스, 웹브라우저, 웹서버, PHP, MySQL이 그것들이다. 이들을 중심으로 수많은 커뮤니티들도 양성되었다. 이게 1990 ~ 2000년대 초반 얘기다. 제로보드같은게 튀어나온것도 그 즈음이다. 한편, 웹 어플리케이션의 진화와 디바이스의 다양화, 그리고 데이터 폭발로 직면한 문제들로 (즉, 관계형 데이터베이스의 적합성이나 인프라 확장성 등) 기반 기술 전반에 거쳐 새로운 패러다임이 열리니 바로 분산처리, 검색, NoSQL, 클라우드, Key/Value store 등이다.

이러한 기술 변화의 움직임에 대한 이해가 없이, 클라우드와 빅데이터라는 용어에 대강 얼버무려 온갖 찌라시를 배설하니 클라우드와 빅데이터 시장이 더러워질 수 밖에.

그 찰라를 잘 노려 이놈저놈 책들도 쏟아지고 요즘엔 또 빅데이터를 잘 아는것 마냥 코프스레하는 자칭 전문가들도 제법 등장하고 있는데, 그런 개소리들은 들을 가치도 없다. 클라우드와 빅데이터는 오늘날의 인터넷사업과 필요에 의해 진화해온 기술이다. 본질에 충실해야하며, 기술은 필요하면 사용하고 필요없으면 굳이 어거지로 프로젝트에 우겨넣어 장식할 필요 없는 것이다.

[Android SDK] Can't open input server /Library/InputManagers/Safari140

What the ....
^Cmacbook:~ edwardyoon$ android avd
2013-05-15 17:55:48.414 java[1432:1707] Can't open input server /Library/InputManagers/Safari140

macbook:~ edwardyoon$ ls /Library/InputManagers/Safari140/
ls: : Permission denied
macbook:~ edwardyoon$ sudo android avd
Password:

교만에 대하여

오랜만에 방문한 국산 포탈에 "포스코 라면"이라는 요상한 검색어가 하나 올라와더라. 살펴보니 올해 초 진급한 포스코 임원이 대한항공 이용 중 기내식이 입맛에 안맞아 라면을 끓여달라 주문하고는 짜거나 설익었다며 폭행했다는 내용이더군.

사람 됨됨이를 보려면 권력을 줘보라는 말이 맞나 싶으면서도 한편으로는 안쓰러웠다. 왜냐면 (어디까지나 내 생각엔) 권력을 아주 힘들게 쌓아올린 사람일수록 권력적 교만의 정도가 심하기 때문에, 얼마나 치열하게 올라간 자리인지 안봐도 훤히 보였으니까.

태생부터 위치한 본래의 클래스에 속해 변함없이 사는 사람은 일반적으로 교만은 없다. 그 사람 태생이 엘리트였으면 그런 교만도 없었을것. 호랑이가 알통자랑 않는것처럼, 교만이란 어쩌면 지위박탈 위기감에서오는 허세 아닌가 싶다.

나 또한 요즈음, 나태해지고 교만해짐을 스스로 느끼는데 진중히 돌봐야할 문제인듯 하다.

아파치 하마 설치 및 페이지랭크 예제 실행해보기

한국 분들에게서 질문이 제법 오고 있어서 한글로 하나 작성합니다. 모두 개별적으로 답변드리기는 쉽지가 않네요.

미리 준비해야할 것들
  • Hadoop 1.0의 HDFS 
    • Hama 0.6 버전까지는 Hadoop 1.0과 CDH3만을 지원하고 있습니다.
  • Sun/Oracle 배포 Java
  • SSH
  • Hama 최신버전을 다운로드 합니다.
이 글에서는 준비가 다 완료되었다고 가정하고 바로 하마 설치 들어가봅시다.

분산 모드로 설치하기

Hama 최신버전 타르볼을 압축해제한 후, 편집해야할 파일은 conf 디렉토리 밑에 groomservers, hama-env.sh, 그리고 hama-site.xml 세 개 입니다.

1) 먼저 hama-env.sh 파일을 까서, 아래와 같이 JDK가 설치된 경로와 zookeeper 실행여부를 선택합니다 (주키퍼를 설치해놓지 않았으면 true로 하고, 기존 설치된 주키퍼를 쓰려면 false로 합니다).
# The java implementation to use.  Required.
export JAVA_HOME=/usr/lib/jvm/java-7-oracle

...

# Tell Hama whether it should manage it's own instance of Zookeeper or not.
export HAMA_MANAGES_ZK=true 
2) 이제 hama-site.xml 을 까서 다음과 같이 기본적으로 설정되어야할 properties를 작성해줍니다. 항목별로 설명하면 bsp 프레임워크의 마스터 서버의 호스트명과 포트번호, HDFS 파일시스템의 네임노드 호스트명과 포트번호, 주키퍼 호스트명, 그리고 인풋 데이터 파티셔닝을 실시간 처리하겠다는 설정 값들입니다.
  <property>
    <name>bsp.master.address</name>
    <value>server01.udanax.org:40000</value>
  </property>

  <property>
    <name>fs.default.name</name>
    <value>hdfs://server01.udanax.org:9000/</value>
  </property>

  <property>
    <name>hama.zookeeper.quorum</name>
    <value>server01.udanax.org</value>
  </property>
3) 여기까지 되었으면 이제 groomservers 파일을 열어서, 슬레이브로 동작할 서버들의 호스트명을 다음과 같이 나열해줍니다:
server02.udanax.org
server03.udanax.org
server04.udanax.org
...
설정이 완료되면, sever01.udanax.org 서버가 마스터로 나머지 02~04번까지의 서버가 슬레이브로 동작하게 됩니다.

데몬 실행 및 페이지랭크 실행해보기

설정이 끝났으면, 다음과 같이 start-bspd.sh 구동 스크립트로 데몬을 실행합니다.
$ bin/start-bspd.sh
$ tail -f logs/hama-edward-bspmaster-udanax.org.log
2013-04-29 15:46:10,198 INFO org.apache.hadoop.ipc.Server: IPC Server Responder: starting
2013-04-29 15:46:10,198 INFO org.apache.hama.bsp.BSPMaster: Starting RUNNING
2013-04-29 15:46:21,165 INFO org.apache.hama.bsp.BSPMaster: groomd_server02.udanax.org_50000 is added.
로그를 보면 슬레이브들이 마스터서버에 추가되는 것을 볼 수 있습니다. 데몬이 잘 올라왔다면 이제 예제를 실행해볼 수 있습니다. 다음 명령어는 Pi 계산하는 예제입니다.
$ bin/hama jar hama-examples-0.6.1.jar pi
13/04/29 15:50:15 INFO mortbay.log: Logging to org.slf4j.impl.Log4jLoggerAdapter(org.mortbay.log) via org.mortbay.log.Slf4jLog
13/04/29 15:50:16 INFO bsp.BSPJobClient: Running job: job_201304291546_0001
13/04/29 15:50:19 INFO bsp.BSPJobClient: Current supersteps number: 0
13/04/29 15:50:22 INFO bsp.BSPJobClient: Current supersteps number: 1
13/04/29 15:50:22 INFO bsp.BSPJobClient: The total number of supersteps: 1
13/04/29 15:50:22 INFO bsp.BSPJobClient: Counters: 6
13/04/29 15:50:22 INFO bsp.BSPJobClient:   org.apache.hama.bsp.JobInProgress$JobCounter
13/04/29 15:50:22 INFO bsp.BSPJobClient:     SUPERSTEPS=1
13/04/29 15:50:22 INFO bsp.BSPJobClient:     LAUNCHED_TASKS=3
13/04/29 15:50:22 INFO bsp.BSPJobClient:   org.apache.hama.bsp.BSPPeerImpl$PeerCounter
13/04/29 15:50:22 INFO bsp.BSPJobClient:     SUPERSTEP_SUM=3
13/04/29 15:50:22 INFO bsp.BSPJobClient:     TIME_IN_SYNC_MS=220
13/04/29 15:50:22 INFO bsp.BSPJobClient:     TOTAL_MESSAGES_SENT=3
13/04/29 15:50:22 INFO bsp.BSPJobClient:     TOTAL_MESSAGES_RECEIVED=3
Estimated value of PI is 3.1424
Job Finished in 6.432 seconds
정상적으로 설치가 잘 되었다면 위와 같이 Pi 계산 결과값이 나오는것을 볼 수 있습니다. 성공하셨나요? :D 그럼 다음으로 이제 좀 더 현실적인 예제 PageRank를 계산하는 예제를 실행하려면, 먼저 generator 커맨드로 100개의 vertices와 1,000개의 edge를 갖는 랜덤 그래프 데이터를 HDFS 상에 생성합니다.
$ bin/hama jar hama-examples-0.6.1.jar gen symmetric 100 10 randomgraph 2
13/04/29 15:54:45 INFO mortbay.log: Logging to org.slf4j.impl.Log4jLoggerAdapter(org.mortbay.log) via org.mortbay.log.Slf4jLog
13/04/29 15:54:46 INFO bsp.BSPJobClient: Running job: job_201304291546_0002
13/04/29 15:54:49 INFO bsp.BSPJobClient: Current supersteps number: 0
13/04/29 15:54:52 INFO bsp.BSPJobClient: Current supersteps number: 1
13/04/29 15:54:52 INFO bsp.BSPJobClient: The total number of supersteps: 1
13/04/29 15:54:52 INFO bsp.BSPJobClient: Counters: 6
13/04/29 15:54:52 INFO bsp.BSPJobClient:   org.apache.hama.bsp.JobInProgress$JobCounter
13/04/29 15:54:52 INFO bsp.BSPJobClient:     SUPERSTEPS=1
13/04/29 15:54:52 INFO bsp.BSPJobClient:     LAUNCHED_TASKS=2
13/04/29 15:54:52 INFO bsp.BSPJobClient:   org.apache.hama.bsp.BSPPeerImpl$PeerCounter
13/04/29 15:54:52 INFO bsp.BSPJobClient:     SUPERSTEP_SUM=2
13/04/29 15:54:52 INFO bsp.BSPJobClient:     TIME_IN_SYNC_MS=121
13/04/29 15:54:52 INFO bsp.BSPJobClient:     TOTAL_MESSAGES_SENT=516
13/04/29 15:54:52 INFO bsp.BSPJobClient:     TOTAL_MESSAGES_RECEIVED=516
Job Finished in 6.279 seconds
그 다음 페이지랭크를 실행하면 끗~
$ bin/hama jar hama-examples-0.6.1.jar pagerank randomgraph pagerankresult 4

오픈 소스, 개발자들에게 참여 독려할만한 걸까?

5 ~6 년간 몸소 경험해본 바, 오픈 소스 참여가 개발자에게 마냥 좋은건 아니고 단점들이 좀 있다.

그 중 심각한건 .. 글로벌하게 개방된 네트워크 내 유능한 사람들과 지내다보면, 현실의 우물안 개구리 조직 생활이 재미가 없어진다.

아시다시피 경쟁이 치열한 한국엔 꼰대 문화가 있다. 방어하고자하는 세대가 있고 논리가 전혀 안통하는 매니저들이 있다는거. 아무리 유능해도 올라가는데에는 한계가 있고, 일이라는게 결국 사람이 하는거라 공과 사를 구분해도 사람간의 관계는 이모셔널할 수 밖에 없다. 그런 상황에 개발자적 스킬이 너무 유능해져도 나는 여기서 뭐하는건가 싶을거다. 또한, 이런 슈퍼 개발자는 취업 자체도 힘들어진다 (이건 외국도 마찬가지). 강해지면 적군이 삼삼오오 연합으로 달라드는 이치다. 이런건 누가 잘못해서가 아닌 자연에 이치다. 또, 적당한 실력에 시킨대로 열심히 하는 성실한 자를 찾는 경우가 많으니까.

한켠, 현실이 재미없어졌다하여 그리고 금전적으로 완전히 자유로워 놀면서 오픈 소스에 올인 할 수 있는 상황이라도 그건 나름의 고충이 있다. 마치 버춸 레알러티에 갇힌 리니지 폐인처럼 인생이 고독해진달까. MB 형님 표현을 빌어, 내가 remote position, open source 다 해봐서 좀 아는데 온라인으로 혼자 일하는 것처럼 재미없는 일도 없다.

물론 이러한 궤도를 완전히 뛰어 넘어 일개 개발자가 사회적 영향력을 갖게 되면 말은 틀려진다만은 그건 스티브 잡스 되는것 처럼 쉽지 않다. 위에 언급된 문제는 누군가 그 오픈소스를 높게 평가하고 Buying 하기전까지 겪어야될 문제다.

그럼 누가 오픈 소스를 하는게 좋나.

개인적으로는 개발자적 스킬보다는, 이미 기본 비지니스가 있고 오픈 소스 액티비티를 전략적으로 본인 비지니스에 활용하고 유리한 상황을 만들어내는데 재능있는 정치적(?)인 사람들이 해야 그 맛을 충분히 즐길 수 있다. 사회적 권력과 역량이 어느정도 되어야 한다는 말씀. 단순 개발한거 공개하고 개방형 개발자 네트워크에 들어가는건 적당히만 하는게 좋다는 얘기.

개발자로 태어나 그 열정을 한번 불사르고자 해보겠다면 말리지 않겠으나, 어설프게 들이대면 안하니만 못한게 오픈 소스.

Computers are useless. They can only give you answers.

We don't cling to score of karaoke machine after singing. Because we enjoyed singing. 

Life is the same. People who knows how to enjoy life is real winner.

인생 일기 Tuesday Feb 12, 2013

추락하는것은 날개가 있다... like Icarus who heeds the calling Of a sun but now is falling.

인생 일기 Sunday, Feb 2013

노래방에서 우리는 노래가 끝난 후에 발표되는 점수 따윈 연연하지 않는다.
과정을 잘 즐겼기 때문이다.

요즈음 인기 있는 오디션 프로그램도 보면,
누가 일등하고 누가 꼴등하면 어떠하랴.

인생은 결국 과정이며 어떻게 즐기느냐가 중요하다.
계좌잔고 따위로 인생을 평가할텐가.

한때는, 일을 해야하는 시스템으로부터 완전히 자유로워지는것만을 갈망했다.
그래서 불행했다.

자기가 정말로 좋아하는 일, 함께하면 즐거운 이들.
그 안에서 나의 삶과 필생의 업적을 이룬다면야, ...


I made a Clu

I have to work for buying foods. But, I couldn't work all the time. So, I created a program in my server. I called him, Clu. He earns less than me yet but he is just 1 year old ;-)

Big Data of Engineering Physics/Science

As you know, the manufacturing systems generate huge amounts of sensor data from distributed manufacturing devices. It's a big data world. However, the problems are all engineering physics/science related, and slightly different from web text mining techniques. Their main concerns are storing huge data, extracting interaction effects of systems, and mining of emerging patterns from time series (the real-time monitoring and control systems are another issue). I believe that Hadoop HDFS and Apache Hama can cover this area in the future.

빅데이터와 스플렁크에 대한 생각들

2011년 3월, KT에 재직할쩍에 유클라우드 내부의 모니터링 시스템을 검토하면서 스플렁크라는걸 처음 봤었다. 당시에는 모니터링이라는 기능에 집중하고 있었고, 상당히 말끔한 UI 이기는 하지만 기술적으로 (나에겐) 특별히 흥미로운점이 없어서 별 생각 없었는데 요즘 매우 뜨는것 같다.

본질은 그대로이나 '빅데이터' 거품이 합해졌다. 레거시 시스템에 설치하는 설치형 소프트웨어라는점에서 극단적인 장점과 단점이 공존하는데, 이는 중요치 않고 일단 데이터 과학자나 엔지니어 그리고 R&D 투자가 부족한 기업들에게 크게 어필하는것 같다.

기업/정부 시스템들이 딱히 필요성을 못느끼는 상황에서 '빅데이터' 트렌드를 따라가다보니 결과물은 쥐어짜야하겠고, .. 난항을 겪으면서 도입하는게 스플렁크라면 참 걱정스럽지 아니할 수가 없다.



스플렁크 외에 잡얘기를 잠깐 덧붙이면, ...

한국 IT는 중요한 컴포넌트를 대부분 가져다 쓰고, 비지니스 로직과 서비스에만 집중하는 경향이 있다. 저비용 개발과 수익을 우선시하기 때문에 그렇다. 그러다보니 결국 오늘날 서비스도 점점 글로벌화 되어가는 이 시점에, 소프트웨어는 물론 서비스 둘 다 놓치게 되는 상황이 오고 있는거 아닌가 싶다.

예전에 IT분야 뉴스를 보면 미투데이가입자가 몇만명 돌파했니, 네이버가 뭘 했니 하는 뉴스가 간간히 보였지만 요즘은 애플 vs. 삼성 말고는 별로 볼게 없다.

아니나 다를게 동영상하면 Youtube, SNS하면 페이스북/트위터, 검색하면 구글, 소프트웨어하면 오픈소스와 자바, .... 물론, 모바일 패러다임에 카카오톡같은 .5 IT 세대가 나오긴 했지만 결국 다 밀릴거 같다.

Samsung adopts Splunk for Big Data Analysis, closes Hadoop-based projects

Original news link (Korean): 클라우드-빅데이터, 삼성의 쓴맛 체험기

Samsung's "Hadoop and Big Data" project has ended (finally) by adopting Splunk, which began from 2010.

According to IT industry experts, they just decided to give up technology internalization and adopt Splunk after many trials and errors for about two years. They says the main problem is the lack of Hadoop and Open Souce experts.

I think this is very symbolic event in IT of Korea ...
I'm dying to tell them "No pain, no gain".

Quick Understanding of NoSQL