MAC Life2010. 5. 12. 21:04
스티브 잡스가 공개한 글입니다.
왜 애플에서 플래쉬 기술을 채택하지 않는가에 대한 설명이 되어 있습니다.

애플 포럼에서 casaubon님이 올린 글을 옮겼습니다.
번역을 너무 잘 하셔서, 굳이 원문을 옮기지 않았습니다.

이 이슈에 대해서는 개인적인 복수 라는 이론 부터 시작해서 여러가지 이론이 있습니다만,
스티브 잡스의 직접적인 의견은  최고 성능을 지향하는 애플 플랫폼을 위한 것이 아니라, 공통 플랫폼을 지향하는 어플이기 때문에 애플 제품에 맞지 않다 라고 정의하는 군요
 -------------------------

애플과 어도비와의 관계는 깁니다. 사실 그 유명한 차고에 어도비가 있을 때, 어도비 창립자들도 만났었죠. 애플이 어도비 사상 최초의 큰 손님이었습니다. 어도비의 포스트스크립트 언어를 애플의 레이저라이터 프린터용으로 채택했으니까요. 애플은 어도비에 투자하였고, 한동안 어도비 지분의 20%를 갖고 있었습니다. 양사는 긴밀히 협력하여 데스크톱 출판을 개척하기도 했죠. 정말 좋았던 때가 많았습니다. 그런 좋은 시절 이후로, 양사는 제각기 자라났습니다. 애플은 거의 고사 직전의 상황까지 갔었고, 어도비는 Acrobat으로 기업 시장을 두둘겼지만 역부족이었습니다. 오늘날 양사는 크리에이티브 고객들을 위해 여전히 협력하고 있습니다. 맥 이용자들은 어도비의 Creative Suite 절반을 구매하지요. 하지만 이 분야를 빼면 공동 관심사가 거의 없습니다.

저는 여기서 어도비 플래시 제품들에 대한 우리의 생각을 펼쳐놓을까 합니다. 우리가 어째서 아이폰과 아이포드, 아이패드에 플래시를 허용하지 않는지에 대해, 소비자들과 비판가들이 더 잘 이해할 수 있게 하기 위해서입니다. 어도비는 우리의 결정이 사업적인 결정때문이라고 주장하죠. 우리의 앱스토어를 지키기 위해서라는 의미입니다. 하지만 현실적으로 우리의 플래시 불가는 기술적인 문제점들 때문입니다. 어도비는 우리가 폐쇄형 시스템이고 플래시가 개방형이라 주장합니다만, 사실은 그 반대입니다. 설명해 드리지요.

우선, "개방성"에 대해서입니다.

어도비의 플래시 제품군은 100% 폐쇄형입니다. 어도비에서만 구입 가능하죠. 플래시의 차후 개선과 가격정책은 어도비만이 관할합니다. 어도비 플래시가 널리 쓰이고는 있지만, 널리 쓰인다는 말이 "개방형"이라는 의미는 아닙니다. 어도비가 전적으로 통제하고 어도비로부터만 구입 가능하기 때문이죠. 거의 어느 정의로 보아도, 플래시는 폐쇄형 시스템입니다.

애플도 폐쇄형 제품을 많이 갖고 있습니다. 아이폰과 아이포드 아이패드용 운영체제도 폐쇄형입니다만, 애플은 웹 관련 표준은 모두 개방되어야 한다고 강하게 믿고 있습니다. 그래서 플래시 대신, 애플은 HTML5와 CSS, 그리고 자바스크립트를 채택하였고, 이들은 모두 공개표준입니다. 애플의 모바일 기기는 이러한 공개표준으로, 모두 고성능에 저전력을 구현했습니다. 애플과 구글 외 여러 기업들이 채택해온 새로운 웹 표준인 HTML5가 있으면 웹 개발자들은 써드파티 플러그인(가령 플래시)에 의존하지 않고서도 진보적인 그래픽과 타이포그래피, 애니메이션과 트랜지션 효과를 만들어낼 수 있습니다. HTML5는 완전히 개방형이며, 표준 위원회가 통제합니다. 애플도 이 위원회의 회원사이고요.

심지어 애플은 웹용 공개표준을 직접 만들어내기도 했습니다. 예를 들어보죠. 우리의 모든 제품에서 사용하는 웹브라우저인 사파리의 렌더링 엔진은 WebKit입니다. 우리는 당시 소규모 오픈소스 프로젝트였던 WebKit을 갖고 사파리를 만들기 시작했으며, 이 WebKit은 완전히 개방된 오픈소스 HTML5 렌더링 엔진입니다. 구글도 안드로이드 브라우저에, Palm과 노키아도 자사 브라우저에 WebKit을 쓰고 있으며, RIM(블랙베리)도 사용하리라고 발표하였습니다. 즉, 스마트폰용 웹브라우저 거의 전부가 WebKit을 사용합니다. (마이크로소프트는 아닙니다.) WebKit 기술을 개방시킴으로써, 애플은 모바일 웹브라우저의 표준을 세워놓았습니다.

둘째로 "풀 웹"을 들겠습니다.

어도비는 애플의 모바일 기기가 "풀 웹"에 접근할 수 없다고 계속 주장하고 있습니다. 웹 비디오의 75%가 플래시이기 때문이라는 이유인데요. 그런 비디오 거의 전부가 보다 현대적인 포맷, H.264로도 볼 수 있다는 사실은 이야기하지 않고 있습니다. 아이폰과 아이포드, 아이패드는 이 H.264 포맷의 비디오를 볼 수 있습니다. 웹 비디오의 40% 가량을 차지하는 YouTube는 애플의 모바일 기기가 모두 다 앱으로 번들시키고 있는데요. 아이패드는 아마 최고의 YouTube 시청감을 안겨다줄 겁니다. 여기에 더해서, 아이폰과 아이포드, 아이패드는 Vimeo와 Netflix, Facebook, ABC, CBS, CNN, MSNBC, Fox News, ESPN, NPR, Time, New York Times, Wall Street Journal, Sports Illustrated, People, National Geographic 등 여러 곳의 비디오도 볼 수 있습니다. 못보는 비디오는 많지 않습니다.

애플 기기들이 플래시 게임을 못돌린다는 주장도 있습니다. 사실입니다. 그러나 다행스럽게도 앱스토어에는 게임과 엔터테인먼트용 타이틀이 5만 가지가 넘습니다. 게다가 상당수는 무료이죠. 아이폰과 아이포드, 아이패드만이 이들 게임과 엔터테인먼트 앱을 돌릴 수 있습니다.

셋째로 신뢰성과 보안, 성능을 얘기하겠습니다.

최근 Symantec에서 플래시가 2009년 최악의 보안기록을 가졌다고 강조한 바 있습니다. 플래시가 맥을 충돌시키는 제일 큰 이유라는 사실도 알고 있지요. 이 문제를 해결하기 위해 어도비와 협력중입니다만, 그 문제는 수 년째 계속 있었습니다. 우리는 아이폰과 아이포드, 아이패드에 플래시를 더해서 우리의 신뢰성과 보안을 떨어뜨리고 싶지 않습니다.

더해서, 플래시는 모바일 기기 성능도 별로 좋지 않습니다. 우리는 수 년째, 모바일 기기용, 어느 기기라도 상관 없으니 모바일 기기용 플래시 성능을 보여달라고 어도비에 계속 요청해왔습니다. 아직 전혀 못 본 상태이고요. 원래 어도비는 2009년 초에 스마트폰용 플래시를 선보이겠다고 공개표명 했었습니다. 그 기한은 2009년 하반기가 되었고, 2010년 상반기도 되었습니다. 이제는 2010년 하반기라고 하네요. 언젠가는 물론 나오겠죠. 나오기만 한다면 정말 기쁘겠습니다. 하지만 성능이 어떨지는 어떻게 알죠?

넷째로 배터리 수명이 있습니다.

모바일 기기의 경우, 영상을 재생할 때 배터리 수명을 최대한 늘리려면 하드웨어에서 비디오 디코딩을 해야 합니다. 소프트웨어 디코딩은 전력을 너무나 많이 소모하죠. 많은 수의 현대적인 모바일 기기는 H.264라 불리우는 디코더를 갖고 있습니다. H.264는 업계표준으로서, 모든 블루레이 DVD 플레이어에서 사용하고 있고, 애플과 구글(YouTube), Vimeo, Netflix 등 다른 회사들도 채택한 기술입니다.

플래시가 최근 H.264 지원을 추가시키기는 했지만, 플래시 웹사이트 거의 대부분은 더 예전 세대의 디코더를 요구합니다. 즉, 모바일칩용 구현이 안되어 있고 소프트웨어 디코더에서 돌리는 형태이죠. 그 차이점은 놀랄 정도입니다. 아이폰을 예로 들어보죠. 아이폰은 10시간동안 H.264 비디오를 돌릴 수 있습니다. 그런데 비디오를 소프트웨어 디코딩으로 돌릴 경우, 5시간도 안되어서 배터리가 소진됩니다.

웹사이트들이 비디오를 H.264로 다시 인코딩하면, 플래시를 전혀 사용하지 않아도 됩니다. 그러면 어느 플러그인도 필요 없이 애플의 사파리와 구글 크롬 브라우저에서 완벽하게 돌아갑니다. 아이폰과 아이포드, 아이패드에서도 훌륭하게 나오죠.

다섯 번째로 터치를 얘기하겠습니다.

플래시는 마우스를 사용하는 PC를 위주로 디자인하였지, 손가락을 사용하는 터치스크린용 디자인이 아닙니다. 예를 들어서 "롤오버"를 사용하는 플래시 웹사이트가 많습니다. 이 롤오버는 마우스 화살표가 특정 장소를 지나갈 때 메뉴나 다른 뭔가를 띄우는 행위를 가리킵니다. 그런데 애플의 혁명적인 멀티터치 인터페이스는 마우스를 사용하지 않아서 롤오버같은 개념을 갖고있지 않습니다. 따라서 터치-기반 기기를 지원하려면 플래시 웹사이트 대다수를 다시 작성해야 합니다. 플래시 웹사이트를 다시 작성할 필요가 생긴다면, 차라리 HTML5나 CSS, 자바스크립트같은 현대적인 기술을 사용하지 않을 이유가 없잖을까요?

아이폰과 아이포드, 아이패드가 설사 플래시를 돌린다 하더라도, 플래시 웹사이트 대부분을 터치-기반 기기용으로 재작성해야 한다는 문제를 풀지는 못할 겁니다.

여섯 번째 이유가 사실 제일 중요합니다.

플래시가 폐쇄형이고 독점적이며 기술적인 문제도 크고, 터치 기반 기기를 지원하지도 못합니다. 하지만 우리가 아이폰과 아이포드, 아이패드에 플래시를 허용하지 않는 더 중요한 이유가 있습니다. 우리는 웹사이트 비디오와 인터랙티브 콘텐트에 있어서 플래시의 단점을 논의하였지만, 어도비는 우리의 모바일 기기에서 돌아갈 앱을 만드는 데에 있어서 개발자들이 플래시를 사용하기 원합니다.

써드파티의 소프트웨어 레이어가 플랫폼과 개발자 사이에서 어떤 결과를 가져오는지에 대해, 우리는 뼈아픈 교훈을 알고 있습니다. 써드파티 소프트웨어 레이어는 플랫폼의 개선과 발전을 막고 표준에 못미치는 앱을 낳게 됩니다. 만약 개발자들이 써드파티 개발 라이브러리와 툴에 의존하게 되면, 플랫폼에 개선이 생길 경우, 써드파티가 그 신기능을 받아들여야만이 개발자들도 그 기능을 활용할 수 있습니다. 그렇다면 우리는 앞으로 우리의 개선사항을 개발자들에게 제공하기 위해서, 써드파티의 결정에 자비를 구해야 합니다.

만약 그 써드파티가 크로스 플랫폼 개발툴을 제공한다면 상황은 더 나빠집니다. 지원하는 다른 플랫폼 모두에 신기능이 들어갈 때까지 한 플랫폼의 기능개선을 채택하지 않을 것이기 때문이죠. 따라서 최소공배수에 속하는 기능만 개발자들이 접근 가능해집니다. 다시 말씀드려서, 우리 경쟁 플랫폼에 아직 없다고 해서, 우리의 혁신과 개선을 개발자들이 사용하지 못하는 결과가 나온다는 것입니다. 그런 상황을 우리는 받아들일 수 없습니다.

플래시는 크로스 플랫폼 개발툴입니다. 즉, 최고의 아이폰과 아이포드, 아이패드 앱이 어도비의 목표가 아닙니다. 어도비의 목표는 크로스 플랫폼 앱의 작성을 돕는 것입니다. 그래서 어도비는 애플의 개선사항을 정말 느리게 채택해왔습니다. 가령 맥오에스텐은 이제 출하한지 거의 10년이 되어 갑니다만, 어도비는 이제서야 완전히 Cocoa를 채택했습니다. 2주일 전에 나온 CS5에서 말이죠. 맥오에스텐을 완전히 채택한 주요 개발사로 보면 어도비가 마지막입니다.

우리의 동기는 단순합니다. 우리는 우리 개발자들에게 제일 진보적이고 최고로 혁신적인 플랫폼을 제공하고 싶습니다. 그리고 개발자들이 우리 플랫폼을 기반으로 세계 최고의 앱을 만들기 바랍니다. 우리는 또한 우리 플랫폼을 지속적으로 개선시켜서 개발자들이 훨씬 더 놀랍고 강력하며 재밌고 유용한 애플리케이션을 만들어낼 수 있기 바랍니다. 모두가 이기는 게임입니다. 최고의 앱이 나오면 우리도 더 많은 기기를 팔 테고, 개발자들 또한 보다 넓은 소비자들에게 접근할 수 있게 됩니다. 이용자들도 어느 플랫폼보다도 최고의 앱과 다양한 앱을 기쁘게 사용할 수 있게 됩니다.

결론을 내리지요.

플래시는 PC와 마우스 시대에 태어났습니다. 플래시는 어도비의 성공작 중에 하나이며, 이들이 PC 외에서도 플래시를 어째서 확대시키고 싶어하는지 우리도 이해합니다. 그러나 모바일 시대는 저전력과 터치 인터페이스, 개방형 웹표준의 시대입니다. 플래시는 이중 어느 것도 충족시켜주지 못하고 있습니다.

애플의 모바일 기기에 제공되는 미디어 기업들의 콘텐트는 막대합니다. 즉, 웹 콘텐트나 비디오 시청을 위해 플래시가 필요할 일이 별로 없습니다. 애플의 앱스토어에 있는 20만 가지의 앱 또한 게임을 포함하여 그래픽으로 풍부한 애플리케이션을 만드는데 플래시를 필요로하지 않았습니다.

HTML5처럼 모바일 시대에 맞춰서 새로 나온 개방표준이 모바일 기기에서 승리할 것입니다. (PC도 마찬가지입니다.) 어도비 또한 애플보고 과거를 떠나버렸다고 비판하는 대신, 미래에 훌륭한 HTML5 툴을 만드는데 보다 더 집중할 수 있겠습니다.

Steve Jobs

April, 2010

'MAC Life' 카테고리의 다른 글

MAC mini로 만든 Server FARM  (2) 2010.06.29
나의 여섯번째 애플~~  (0) 2010.05.25
바텍이 Things 로 옮겼네요  (0) 2010.03.21
산호세 애플샵  (0) 2010.02.28
MAC에서 Perl/Tk 컴파일하기  (0) 2009.11.20
Posted by GUNDAM_IM
MAC Life2010. 3. 21. 18:10
사용자 삽입 이미지

iGTD 프로그램 제작자가 Things 프로그램으로 옮겼네요
iGTD 홈피 가니 위와 같은 그림으로 설명하고 있습니다.
그림만 봐도 어떤 상황인지 딱 설명됩니다.  
( 그리고, 요런 그림 많이 보는게 PT 자료 만들때 많은 도움이 됩니다. )


하긴 Things 입장에서는 라이벌 프로그램인 iGTD가 더이상 개발 안되는게 유리하죠. 성능도 좋은데다가 공짜라서
많이 사용하고 있으니까요.

그나저나 Things는 ME에 자동 동기화 되어야 할텐데 죽어라 그 기능은 안넣네요.
Desktop, Notebook, iPod에서 연동에서 사용할려면  불편합니다. 그냥 편하게 ME에 연동시켜 버리면 잊어버리고 살텐데 말이죠 iCAL같은 ME 연동 프로그램들은 한군데서 등록하면 어느샌가 다 동기화가 되어 있어서 편합니다.
미팅 스캐줄 잡히면 노트북이나 데스크 탑에서 등록시켜 넣으면, 가지고 다니는 iPod에서 알람되는 형식이죠.

 요 그림은 Things 제작사인 culture code 블로그에 올려진 그림입니다.
 제작자들의 캐리컬쳐를 올려 놓았습니다.
 오른쪽 밑이 바텍이네요

사용자 삽입 이미지

'MAC Life' 카테고리의 다른 글

나의 여섯번째 애플~~  (0) 2010.05.25
Thoughts on Flash  (0) 2010.05.12
산호세 애플샵  (0) 2010.02.28
MAC에서 Perl/Tk 컴파일하기  (0) 2009.11.20
SIGGRAPH [2]  (0) 2009.08.07
Posted by GUNDAM_IM
MAC Life2010. 2. 28. 08:45
오래간만에 글을 올리는군요

그동안 몇가지 일이 있었는데 그중 하나가 산호세에 있는 애플샵에 갔습니다.

뉴욕의 애플샵만 생각해서 외곽 건물 모양만 보고 찾았는데 덕분에 엄청 고생했습니다.
뜻밖에도 마트 내에 조그만 샵으로 있더군요.

경찰관에게 물어보고, 건물 찾아서.. 들어가서 간신히 찾았습니다.

사용자 삽입 이미지
  멀리 찾아들어간 애플샵의 외부 모습입니다.
  조금 흔들렸습니다.

 
사용자 삽입 이미지
   안에는 사람들이 엄청 많이 있더군요.. 구경하는 사람들 반, 안내하는 사람들 ( 매장 직원들 ) 반입니다.
   파란옷 입은 사람들이 직원들입니다.
 
 
사용자 삽입 이미지
 사진찍어도 되나 하는 소심함에 많이 못찍었습니다만..
 매장은 역시 깔끔하더군요
 최신제품도 잘 전시해 두었고
 조금만 헤매면,  직원들이 뛰어와서 필요한게 없냐고 합니다.
 처음애는 기분이 좋았는데 은근히 감시당하는거 아냐 할 정도로 즉각 즉각 반응이 오는 것입니다.

사용자 삽입 이미지
 제것과 같은 맥프로 17"이죠
 
  한달만 늦게 갔으면 아이패드 하나 입양할 수 있었는데 아쉽습니다.
 
  여기서 매직 마우스 하나랑, 보세의 QC15 하나 입양했습니다.
  QC15는 299불인데 한국에서는 50만원에 팔고 있습니다. 정말 엄청 폭리죠..
 
  근데 여기 샾을 찾는데 거의 30분을 해멨습니다.
  나중에 팔로 알토에 식사하러 갔는데 거긴 길가에 떡하니 놓여 있는 애플 매장을 발견했습니다.
  아 그냥 이쪽으로 올걸.. 하는 생각이 들더군요..

  사람은 팔로 알토 쪽이 없었습니다.  저녁때라서 그런가 한가한 모습.이었습니다.
  차를 타고 이동중이라서, 사진은 못찍었습니다.

 
사용자 삽입 이미지
 그리고 위의 국수집은 유명(?)한 베트남 쌀국수집입니다.
 Quality Inn 옆에 있는 가게입니다.
 처음갔을 때는 매뉴를 볼줄 말라서 많이 고생했는데 지금은 매뉴가 한글도 써 있어서 선택하는데 편해졌습니다.
 그만큼 한국 사람들이 많이 오는 데 입니다.

 옆에 호텔이 Value Inn이었을 때 부터 갔으니까 10년 넘게 단골이지만,
 주인 아저씬 당연히 저를 모르겠죠..
 

'MAC Life' 카테고리의 다른 글

Thoughts on Flash  (0) 2010.05.12
바텍이 Things 로 옮겼네요  (0) 2010.03.21
MAC에서 Perl/Tk 컴파일하기  (0) 2009.11.20
SIGGRAPH [2]  (0) 2009.08.07
CUDA on MAC OS  (0) 2009.06.23
Posted by GUNDAM_IM
MAC Life2009. 11. 20. 09:48
Perl은 스크립트 베이스로 움직이는 아주 쉬운 랭귀지중 하나입니다.
그냥 예전의 Basic처럼 풀어쓴다는 느낌으로 사용하며, 원래 목적은 스트링을 쉽게 처리하기 위한 것이 목적인 언어입니다.  

SoC의 테스트 환경을 빌드 할 경우에도,

PERL->PLI->Verilog

와 같이 하여서 몇가지 트릭으로 Command를 만들고, 보내기도 하기 때문에 유용하게 쓰일때가 많이 있습니다.

사실 저는 Makefile 신봉주의자에 가까워서, 모든 것을 Makefile로 해결하였습니다. 하지만  떄떄로 시뮬레이션할때 상호간에 Interactive한 환경을 빌드 할 경우 몇가지 옵션을 만들어서 해결해야 하는 것이어서, 사실상 그때마다, Makefile내에 새로운 Target을 지정하여 사용하였습니다.

이런 방식은

TCL/TK -> Makefile @ Multi Target

정도로 표현이 가능하겠습니다.

예를 들어서 언제 써먹냐 하면 SoC내의 부팅 옵션을 틀리게 지정하고 싶은 경우에
Make NANDBootSIM 을 하면 NAND Boot 되는 옵션으로 세팅되면서 시뮬레이션을 돌리지만,
그때마다 다른 조건들을 맞추어주거나 조건의 배열을 만들어주어야 하는 불편함도 좀 있습니다.


그래서 좀더  유연한 확장을 위해서 Makefile+Perl을 같이 사용하기 위해서 Perl환경을 꾸며보기로 했습니다.
명색이 그래도 그냥 Perl을 사용하긴 싫고 하여 Perl/Tk도 같이 붙여서 사용하는것이 좋을 듯 하였습니다.

시뮬레이션은 MAC에서 하지는 않지만, 그래도 Perl/Tk 스크립트를 짜고 간단한 테스트를 하는 것은 MacBook에서 수행해기 때문에 MAC에도 빌드해 두어야 할 필요성이 생겼습니다.
다행히 Perl자체는 이미 Leopard에 포함되어 있어서 사용에는 아무런 문제가 없습니다.

일단 코드는 아래 사이트에서 받아 볼 수 있습니다.

http://search.cpan.org/~srezic/Tk-804.028_501/

다운로드 받아서 빌드를 하면 잘 풀어집니다.

perl Makefile.PL
make
sudo make install

로 하면 잘 풀어서 컴파일이 됩니다.

중간 중간에 경고나 에러가 뜨는데, 그런것에 대해서 일일이 반응하시지 마시고 무시하고 진행하면 됩니다.

용법은 단순합니다. perl 스크립트의 시작시에 다음과 같이 한 줄을 넣으면 됩니다.

use Tk;

다음은 예제 스크립트입니다.

my $mw = MainWindow->new;
$mw->Label(-text => 'Hello I\'m Perl/Tk !')->pack;
$mw->Button(
    -text    => 'Quit',
    -command => sub { exit },
)->pack;
MainLoop;


test.pl이라는 이름으로 저장하고요

perl test.pl

을 하면 다음과 같이 창이 나타납니다.

사용자 삽입 이미지
tk는 좀 그렇다 치더라도
대량의 테스트 패턴을 인터렉트브한 상황에서 만들어야 할 경우 PLI/C도 유용한 환경입니다.
하지만 그때마다 PLI를 만드는것 보다는 Perl Script로 만들어서 동작시키는 것도 좋습니다.

'MAC Life' 카테고리의 다른 글

바텍이 Things 로 옮겼네요  (0) 2010.03.21
산호세 애플샵  (0) 2010.02.28
SIGGRAPH [2]  (0) 2009.08.07
CUDA on MAC OS  (0) 2009.06.23
맥에서 프로파일링 하기  (0) 2009.06.18
Posted by GUNDAM_IM
MAC Life2009. 8. 7. 11:49
여기 SIGGRAPH에 와서 가장 기분 좋은 일은 생각 이상으로 많은 사람들이 맥을 쓴다는 것입니다.
원래 SIGGRAPH가 그래픽 전문 컴퍼런스인 점도 있겠지만, 이곳 전시장에서는 전체 컴퓨터 사용 인구중에서 맥을 사용하는 인구가 대략 과반수 이상이 맥을 씁니다.

대충 느낌으로 말한다면

맥북프로  40%  맥북 20% 그리고 나머진 윈도우 정도가 됩니다.

60% 정도 이상은 맥을 쓰고 있다는 의미입니다. 재미있는 점은 맥북에어가 하나도 안보인다는 점입니다.
아무래도 "가오"는 최고인데 성능 때문에.. 외면받는느낌일듯 합니다.


맥은 노트북을 열면 동일 네트웍에 뜬 맥을 보여줍니다.
아래 그림은 컨퍼런스 안에 있는 스타 벅스 커피샾의 네트웍에서 잡은 맥의 네트웍입니다.

사용자 삽입 이미지
정말 많이 잡히죠.. 동그란것은.. 윈도우이고 맥 그림이 나타나는 것은 전~~~~부.. 맥입니다.

사용자 삽입 이미지

중국 아저씨께서, 맥을 열심히 보고 있습니다.
사용자 삽입 이미지

뭔가 포스 있는 분이.. 맥으로 타이프를 치고 있습니다. 뒤에서 슬쩍 볼려고 했지만, 자세히는 보지 못했습니다.


사용자 삽입 이미지


두사람이 각각 맥으로 뭔가를 하고 있습니다.
이런 광경은 이곳에서 정말 흔합니다.

그리고 이런것만 있는게 아닙니다.
사용자 삽입 이미지

강의 자료중 상당부분이 맥으로 만들어왔더군요
눈의 가시같은 PPT도 가끔 있긴 하지만 대부분은 그림이나 폰트가 깔끔하게 나오는 맥을 이용해서 PT를 하고 있습니다.
  중간에 발표자가 바뀔때 나타난 화면이 맥 화면이었습니다.

우리나라에서는 마이너한 생활을 하는 맥이지만, 이곳에서는 나름 주류 생활을 하는 분위기여서 정말 좋습니다.
우리도 얼렁 이런 문화가 되어야 하는데...

'MAC Life' 카테고리의 다른 글

산호세 애플샵  (0) 2010.02.28
MAC에서 Perl/Tk 컴파일하기  (0) 2009.11.20
CUDA on MAC OS  (0) 2009.06.23
맥에서 프로파일링 하기  (0) 2009.06.18
OSX용 YUV Player 입니다.  (0) 2009.06.16
Posted by GUNDAM_IM
MAC Life2009. 6. 23. 05:15

GUNDAM의 데스크 탑은 MAC PRO입니다.

하도 윈도우만 써봐서 질려서리.. 장만한 것입니다.


요근래 이리저리 한 이유로 하여서  멀티 프로세서에 관한 이슈가 생겼습니다.

그래서 관련한 자료를 찾다가 CUDA를 보게 되고, 흠..  문득 내가 가진 MACPRO는 CUDA를 지원하는가에 대한 궁굼함이 생겨서 한번 테스트 해보기로 했습니다.


물론 그래픽카드 파트 넘버를가지고 찾아보면 될일이지만,

한번 CUDA 프로그램을 돌려보며 찾아보기로 했습니다.




1. 설치 및 환경 설정


다운로드는 여기서 합니다.


http://www.nvidia.com/object/cuda_get.html.


 설치되어야 하는 것은 Tool과 SDK Example  두개입니다.

 저처럼 Tool만 설치하고 Example이 없다고 당황하지 마시고 반드시 두개를 설치하기 바랍니다.


설치가 되면은


/usr/local/cuda


에 설치됩니다.



설치 후에는

  PATH와

DYLD_LIBRARY_PATH를

추가 합니다.


 

PATH는 /usr/local/cuda/bin 을

DYLD_LIBRARY_PATH 는  /usr/local/cuda/lib 를

추가합니다.


export PATH=/usr/local/cuda/bin:$PATH

export DYLD_LIBRARY_PATH = /usr/local/cuda/lib:$DYLD_LIBRARY_PATH


위의 코드를


~/.bash_profile.


에 추가하면 됩니다.


확인은

    nvcc -v

를 입력하여 제대로 움직이는지를 확인합니다.


2. Example 컴파일


/Developer/CUDA/에서 make를 하는 것으로 컴파일이 됩니다.


Example을 컴파일 하면


make -C projects/alignedTypes/

ld: in ../../lib/libcutil.a, archive has no table of contents

collect2: ld returned 1 exit status

make[1]: *** [../../bin/darwin/release/alignedTypes] Error 1


이 됩니다.


ranlib을 아래와 같이 수행합니다.


GUNDAMMACPRO:lib kevinIm$ ranlib libcutil.a

GUNDAMMACPRO:lib kevinIm$ ranlib libparamgl.a

GUNDAMMACPRO:lib kevinIm$ ranlib librendercheckgl.a


다시 컴파일을 하면 잘 진행이 됩니다.


끝나면


/Developer/CUDA/bin/darwin/release


폴더에서


deviceQuery


를 수행합니다.


GUNDAMMACPRO:release kevinIm$ ./deviceQuery

CUDA Device Query (Runtime API) version (CUDART static linking)

There is no device supporting CUDA.


Device 0: "Device Emulation (CPU)"

  CUDA Capability Major revision number:         9999

  CUDA Capability Minor revision number:         9999

  Total amount of global memory:                 4294967295 bytes

  Number of multiprocessors:                     16

  Number of cores:                               128

  Total amount of constant memory:               65536 bytes

  Total amount of shared memory per block:       16384 bytes

  Total number of registers available per block: 8192

  Warp size:                                     1

  Maximum number of threads per block:           512

  Maximum sizes of each dimension of a block:    512 x 512 x 64

  Maximum sizes of each dimension of a grid:     65535 x 65535 x 1

  Maximum memory pitch:                          262144 bytes

  Texture alignment:                             256 bytes

  Clock rate:                                    1.35 GHz

  Concurrent copy and execution:                 No

  Run time limit on kernels:                     No

  Integrated:                                    Yes

  Support host page-locked memory mapping:       Yes

  Compute mode:                                  Default (multiple host threads can use this device simultaneously)


Test PASSED


Press ENTER to exit...


헉.. CUDA를 지원하지 않네요 흑흑

나중에 한번 그래픽 카드를 바꾸어서 테스트 해봐야 할 듯 합니다.


두어달만 늦게 장만했어도 되는것을 샀을텐데

MACPRO 산지 2달만에 신형이 나와서 순식간에 중고가 되어버렸습니다.

'MAC Life' 카테고리의 다른 글

MAC에서 Perl/Tk 컴파일하기  (0) 2009.11.20
SIGGRAPH [2]  (0) 2009.08.07
맥에서 프로파일링 하기  (0) 2009.06.18
OSX용 YUV Player 입니다.  (0) 2009.06.16
나의 다섯번째 애플~~  (1) 2009.03.30
Posted by GUNDAM_IM
MAC Life2009. 6. 18. 23:30
맥에서 프로파일링을 하는 것에 대해서 설명합니다.
맥은 프로파일링 툴로서 SHARK라는 툴을 제공합니다.

Shark는 XCODE에서도 사용할 수 있지만 Command Line에서도 사용할 수 있습니다.

그리고 아무렇게나 띄워 놓고, O/S 상에서 돌아가는 태스크 중에서 선택해서 프로파일링 을 할 수 있습니다.
이번에는 3번째 방법인 아무렇게나 띄워 놓고 필요한 프로그램을 프로파일링 하는 것에 대해서 설명합합니다.
나머지 2개는 나중에 필요해지면 그때 가서 진행하도록 하겠습니다. - 그때 공부해서 하겠습니다. ㅋㅋ

일단 Shark는 /Application 폴더 있지 않고 /Developer 폴더에 있습니다.

/Developer/Applications/Performance Tools/shark

입니다.

사용자 삽입 이미지

실행하면 위와 같은 간단한 창이 뜹니다.

제일 왼쪽에 시작 버튼이 있고요, 제일 오른쪽에 실행에 대한 방식을 선택하는 Combo Box 입니다.

사용자 삽입 이미지
그 콤보 박스에서 제일 위에 있는 Launch를 선택합니다. 이후에는..
자동으로 실행하면 됩니다.

시작 버튼을 누르면 다음과 같은 창이 나옵니다.

사용자 삽입 이미지
칸을 하나하나 설명하면,
제일 위의 Executable은 실행 프로그램을
Working Dir은 실행 폴더를
Arguments는 옵션을 줍니다.

일단 다음과 같이 설정합니다.

사용자 삽입 이미지
Application : /Users/kevinim/Documents/etri_svc/JSVM/jsvm/bin/AvcRewriterStaticd
Working Dir : /Users/kevinim/Documents/etri_svc/JSVM/
Arguments : output/Coral.svc.264 output/Coral.svc.avc.2.264

으로 설정합니다.

이것은 환경에 따라 틀리므로 적당하게 설정하시고
시작 버튼을 누르면 한참 진행한 후에 결과가 나옵니다.

사용자 삽입 이미지
위의 그림은 작업이 끝난 후에 결과를 분석하는 과정입니다.
그냥 자동으로 수행됩니다.

이후에 각 함수별로 잘 정리된 그림이 나옵니다.

사용자 삽입 이미지
그리고 위의 창에서 Chart TAB을 선택하면 다음과 같은 그림이 나옵니다.

사용자 삽입 이미지
왼쪽의 그래프는 Call Stack Depth를 표시해 줍니다. 얼마나 함수가 호출되어 왔는지에 대한 정보를 보여줍니다.
이중에서 제일 깊이 된것 중에 하나를 선택하면 창의 오른쪽에 그에 해당하는 Call Stack Frame을 보여줍니다.

사용자 삽입 이미지
위의 그림은 Call Stack에 대한 그립니다.
더블 클릭하면 해당 함수로 들어갑니다.

사용자 삽입 이미지
창의 왼쪽 밑에 보면 확대 축소를 컨트롤하는 슬라이드 버튼이 있습니다. 이것으로 확대를 하면 아래와 같은 그림이 나옵니다.


사용자 삽입 이미지
세로로 노란색 부분이 선택한 호출 부분이고 가로로 노란색이 부하가 가장 많이 걸리는 함수 등에 대한 부분입니다.


다시 프로파일 창에 들어가서

로드가 많이 걸리는 함수를 찾아서 더블클릭하면 다음과 같이 창이 됩니다.

사용자 삽입 이미지
소스만 보는 창이고, 어셈블를 본다든지 두개 다 보는 것도 가능합니다.
물론 이렇게 까지 볼일이 없겠지만 하여튼 유용하기도 합니다.

사용자 삽입 이미지
위의 창은 어셈블러와 C를 같이 보여주는 창입니다.

인라인 함수로 메모리를 모두 0으로 초기화 시키는것에 생각보다 시간이 많이 걸리는 것을 알수 있습니다.

그리고 컬럼에서 [!] 로 표시된 컬럼이 있습니다. 이것은 최적화에 대한 정보를 알려주는 컬럼입니다.

사용자 삽입 이미지
위에서 보는 것 처럼 함수가 작고 자주 호출하는 것은 인라인으로 해보는게 어떻겠냐고 알려줍니다.

실제 코드는 2가지 타입이 있는데, 디버깅 정보가 포함된 버전과 아닌 일반 버전이 있습니다.
양측간에 차이점이 있고 이로 인해서 프로파일링 결과가 조금씩 차이가 나는 것을 감안하고 보면
도움이 됩니다.

코드 최적화는 다른 문제여서 그것은 언젠가 기회가 되면 다시 설명하도록 하겠습니다.
여기서는 코드 최적화 할일이 없어서요..




'MAC Life' 카테고리의 다른 글

SIGGRAPH [2]  (0) 2009.08.07
CUDA on MAC OS  (0) 2009.06.23
OSX용 YUV Player 입니다.  (0) 2009.06.16
나의 다섯번째 애플~~  (1) 2009.03.30
맥에서 개발한다는 것은..  (0) 2009.03.19
Posted by GUNDAM_IM
MAC Life2009. 6. 16. 08:13
OSX에서 구동할 수 있는 YUV 플레이어입니다.

출처가 어디있는지는 링크를 안걸어 두어서 잊었지만,
인터넷 키워드 서치하면 나옵니다.

{

  나중에 따로 서치하여서
  이곳을 찾았습니다.

  http://bax.comlab.uni-rostock.de/en/projects/glyuvplay.html?type=http%3A%2Fappserv%2Ferrors.php%3Ferror%3Dhttp%3A%2F%2Fwww.saa-web.de%2Fball%3F%3F%3F

}

용법은 간단하지만,
사용하는데에는 불편함이 없습니다.

특히 영상을 적당한 사이즈로 스케일링하여 보여주기 때문에
1080p와 같은 커다란 이미지도 볼 수 있습니다.

이 기능은 1080p에서는 꼭 필요한 기능이죠..

사용자 삽입 이미지

이미지를 선택하는 그림입니다.
다양한 포멧을 선택할 수 있습니다.

사용자 삽입 이미지

플레이 중인 화면입니다.

사용자 삽입 이미지

FPS등을 세팅할 수 있습니다.

기능이 나름 쓸만합니다.


이 프로그램의 원본 사이트입니다.
http://bax.comlab.uni-rostock.de/en/projects/glyuvplay.html
- 현재 (2011/10/1) 최신 버전은 0.96입니다.
 

'MAC Life' 카테고리의 다른 글

CUDA on MAC OS  (0) 2009.06.23
맥에서 프로파일링 하기  (0) 2009.06.18
나의 다섯번째 애플~~  (1) 2009.03.30
맥에서 개발한다는 것은..  (0) 2009.03.19
수치스러운 인터페이스의 명예의 전당  (0) 2009.03.05
Posted by GUNDAM_IM
MAC Life2009. 3. 30. 13:52
이번에 드디어 17" Mac Book Pro를 입하 하였습니다.

그동안 산것을 세어보니 5번째네요

Apple-IIe -> Newton Message Pad 130 -> MAC Book Pro 15" 초기형 -> MAC PRO -> MAC BOOK PRO 17"

17"를 장만한것은 그동안 잘 사용하던 MAC BOOK PRO 15" 가 이제 3년의 보증기간이 끝났고,
무엇보다 그동안 차에서 떨어뜨리고, 애기들이 사뿐히 밟아주고, 비도 맞고, 책상 모서리에 찍히고 해서
성한 곳이 없는 외모에다가, 내부에 하드 바꾼다고 몇번이나 케이스를 열고 닫아서,
내부도 그닥 성한곳이 없습니다.

항상 재조립을 하면 나사가 한두개 남더라구요 (^___^)

그래서 새로 장만해야겠다고 생각하고 있었고 Air를 고려했지만,
서브 노트북은 예전에도 써봤는데 성능이나 모든면에서 그렇게 땅기지가 않아서 이번는 아예 커다란 사이즈로 가기로 했습니다.

암튼 항상 느끼는 것이지만 애플이 좋은것은 15" 버전이 3년이 넘었는데도 아직도 새로운 프로그램을 올려도 그렇게 성능이 부족하다는 느낌이 하나도 들지 않습니다. 처음이나 지금까지도 아무런 문제가 없이 잘 쓸 수 있다는 점이 강점이고, Apple Care에 등록하면 3년간은 거의 1:1 무상으로 서비스를 받기 때문에 편리합니다.

집에있는 책상에는 Message PAD 130 이 있습니다.  , 최초의 PDA씨리즈 입니다.
애플이 스컬리 (X파일이 아닙니다.) 사장 시절에 의욕적으로 추진한 제품인데, 결국 시대를 쪼끔 앞서간 느낌으로 망한 제품이지요. 물론 아직도 잘 동작합니다. 배터리 새거로 넣으면 잘 동작해요.. 요샌 쓰지 않아서 고이 책상위에 모셔놓았습니다. 가끔 큰넘이 노리기는 하지만, 그냥 장난감 핸드폰인줄 알고 있습니다. 디보 컴퓨터보다 작고 또 무겁고,  핸드폰 보다는 크다고 싫어합니다

구형과 신형에서 바뀐점은

    프로세서가 좀더 좋아진점하고
    메모리가 4G로 바뀌었다는점
      - 2G는 자이링스 ISE도 잘 못돌리는 메모리여서 고생이 많았습니다.
    팬의 소음이 좀 쎄졌다는것..
    그리고 마우스 트랙패트에 버튼이 트랙패드 자체로 대치되어서 그 밑으로 숨었다는 점
    애플의 자랑 멀티터치가 지원된다는 점 - 우훗.. 디따 큰 아이팟 같습니다.
    -  이거 물건입니다. PT할때 이걸로 그림 보여주고, 회전 확대를 하면,
       보는 사람들이 빨려들어갑니다.
    무게가 좀더 무거워져서 어깨가 아플것 같다는 점

 등입니다.
 
17" 제품은 좀더 써보고 (시간이 나면) 사용 후기를 올리도록 하곘습니다.


'MAC Life' 카테고리의 다른 글

맥에서 프로파일링 하기  (0) 2009.06.18
OSX용 YUV Player 입니다.  (0) 2009.06.16
맥에서 개발한다는 것은..  (0) 2009.03.19
수치스러운 인터페이스의 명예의 전당  (0) 2009.03.05
Culture Code의 개발 이미지  (0) 2009.01.28
Posted by GUNDAM_IM
MAC Life2009. 3. 19. 13:52

사실대로 말하자면, 맥에서 개발하는 것은 C/C++ 프로그램 정도입니다.

GUI가 필요하면 QT를 불러서 해결하지 코코아 라이브러리 부르지 않습니다.


일반 터미널에서 코딩하는 정도여서 윈도우즈에서 시그윈을 써서 개발하는 것과 큰 차이는 없습니다.

맥용 인텔 컴파일러를 써서 빠르다고 하여도, 리눅스용이나 윈도우즈 용이 없는 것도 아니고..


더구나 VTUNE이 매킨토시 용은 없기 때문에 프로파일링 하기에는 오히려 불편하지요...


마지막엔 개발이 다 끝나면 호환성 문제로 윈도우즈나 리눅스용으로 다시 옮겨야 하기때문에 복잡한 시스템 함수는 가급적 배제하고 코딩합니다.


일전에 H.264 SVC 프로그램을 맥북 프로에서 인터넷에서 구한 소스 코드 그대로 컴파일하여 테스트 해보았습니다.

그 결과 윈도우즈 시그윈에서 컴파일한것 보다 2배 정도 빨라졌습니다. 소스는 거의 손도 안되었는데 말이죠.


거짓말이라고 생각하시는 분들은 한번 맥에서 컴파일 해보세요 정말 빠르거든요.


물론 이것은 쓰레드를 잘 지원하는 MAC OS의 능력에 힘입은 바가 큽니다.


주요 Job인 ASIC 설계용 프로그램들은 대부분 서버에서 동작하니까 서버를 불러오면 되는거라서

결국 맥에서는 맥다운 프로그램을 하지 못하는 게 되네요


그럼 맥을 개발 시에는 언제 쓸까요 ?


우선 C/C++을 이용해서 대용량 그래픽 처리 시스템을 개발할때 쓰면 정말 좋아요.

플랫폼이 인텔 플랫폼과 완전히 틀려서 속도 잘 나옵니다.

QT하고 OpenCV를 써서 GUI하고 그래픽 처리를 하게 하니, 속도 잘 나옵니다.


이런 경우외에는 그닥.. 쓸만한데가


아, 하지만 누가 뭐래도 가장 큰 만족은 “가오” 이펙트..

폼생 폼사 맥으로 사는 것이 그래서 결국은 “가오” 이펙트가 커서 입니다.


왜 "가오"라고 이야기하냐 하면은..


그 외에도 맥이 안정성이 뛰어나고 GUI가 정말 유저 "쁘랜드리" 하다고 하여도, Mail.app가 가지는 편리함이 이렇쿵 저렇쿵, iCAL이 얼마나 좋은지.. 써보지 않고는 알수 없는거라서


내가 코딩한 프로그램이 얼마나 빨리 도는지 설명을 하여도 믿지 않아서.. (T  T)


그냥 사람들에게 이야기할 때는 가오라고 이야기합니다. (OTL)

그래야 "맥을 써보지도 않은" 사람들이 납득하더라구요.

그런사람들에게 침이 튀도록 이야기해도 잘 안되기 때문에 더욱 그렇습니다.


제발 "써보고" 아니라고 이야기해주면 좋을텐데 말이죠


지금은 VMWare같은 윈도우즈 에뮬레이터 위에서 Window툴을 돌리고,
서버에서 엑스 윈도우 띄워서 돌리고
맥에서는 자료 정리하고, C코딩하고 그러면서 진행합니다.

흠.. 그러고 보니 정말 맥용 프로그램은 없네요.

맥 프로그램 배울 시간에 아이폰 프로그램을 한번 해볼까 생각중입니다.

'MAC Life' 카테고리의 다른 글

OSX용 YUV Player 입니다.  (0) 2009.06.16
나의 다섯번째 애플~~  (1) 2009.03.30
수치스러운 인터페이스의 명예의 전당  (0) 2009.03.05
Culture Code의 개발 이미지  (0) 2009.01.28
맥에서 히든파일 보기  (0) 2009.01.23
Posted by GUNDAM_IM