Slashdot Today

Slashdot Today 더 읽기"

What drives Google?

Wall Street Journal에 실린 Google CEO인 Eric Schmidt와의 Q&A라고 한다.
 
The principle that Google operates under is to hire very, very strong-willed, sort of driven persons. We have relatively little management and the management is very, very thoroughly vetted. They both have the intelligence and the history of working in high-tech, and they want to work, they want to change the world.
 
출처: http://customerevangelists.typepad.com/blog/2004/03/what_drives_goo.html

What drives Google? 더 읽기"

EBook Manager



 
주말에 만들어 본 EBook Manager GUI. wxRuby(wxWindows의 Ruby port)를 활용하였다. 아직 제작중이고, 맛보기 GUI 버전 정도일 뿐이다. 현재는 변환 과정을 wizard 형태로 만드는 것이 훨씬 낫지 않을까 하는 생각 중이다. GUI에 대해 제안사항이 있다면 언제든지 환영. (GUI를 처음부터 제대로 설계하려고 해도 아이디어가 잘 안떠오른다. GUI 비친화적 인간이라… -_-)
 
소스는 첨부하였으니, 구경해볼 사람들은 보는 것도 나쁘진 않을 듯.
ruby 1.4.2, win32 환경에서 테스트 되었으며, 다음 모듈들을 필요로 한다.
 
WxRuby
http://raa.ruby-lang.org/list.rhtml?name=wxruby
Ruby/Amazon
http://raa.ruby-lang.org/list.rhtml?name=ruby-amazon
 
여담으로, event handler 중 하나인 onButton()에서 event.get_event_object()를 활용했더니, ruby runtime에서 segmentation fault가 나더랬다. event.get_id()를 썼더니 해결되었다. evt_button의 event에 대해서는 get_event_object()를 쓸 수 없는 것인가… 덕분에 event handler 쪽에 Thread block을 전부 빼버렸다.
 
또다른 여담으로, ruby에서 block을 method parameter로 사용할 수 있는 것은 정말 환영하는 syntax인데, 한번 써보면 다음과 같다.
 
def onButton(event)
 if event.get_id() == ID_BUTTON_1
  @m_btnButton1.disable()

  Thread.new
  {
   …some handling code
   @m_btnButton1.enable()
  }
 end
 …
end
 
위의 코드는 Thread class의 initialize의 parameter가 block인 셈.
이러한 기법이 code에 해를 끼칠 수도 있으나, thread를 만들어내는 logic과 thread가 실행하는 logic사이에 data 사용에 locality가 있다고 가정하면, 이러한 code의 localizing이 어떤 면에서 장점이 있지않을까.
 

EBook Manager 더 읽기"

The Secret Source of Google's Power

The Secret Source of Google’s Power
http://blog.topix.net/archives/000016.html
 
처로군이 보내준 link. 제목 그대로 구글 파워의 원천을 세가지 정도로 기술하고 있다.
 
첫번째로, 하드웨어의 실패를 소프트웨어로 커버한다는 철학. 이러한 철학의 한 예가 바로 Google사의 proprietary distributed, fault-tolerent, petabyte filesystem인 Google Filesystem이라고 한다. 디스크나 머신 하나가 고장나면, 직접 교체하는 것이 아니라, 자동으로 replication이 추가되고, 다른 시스템이 그 역할을 대신하는 것이다.
 
두번째는, 값싼 하드웨어를 사용한다는 것. 이건 현재의 우리나라 웹 서비스 업체들에서는 보편적인 현상이므로, 굳이 많이 설명할 필요는 없을 듯 하다. 네오위즈도 이것을 네오위즈를 성공하게 만든 커다란 요인으로 보고 있는 것으로 알고 있다.
 
세번째, OS researchers. 구글의 엔지니어들은 OS, networking, distributed systems, compiler optimization, thread migration, distributed shared memory에 research background를 가지고 있다. 위 아티클에서 다음 말을 인용하고 싶다.
‘Wouldn’t it be great, as an engineer, to have production versions of all this great research.’
내가 만약에 컴퓨팅에 관련된 엔지니어로서 계속 남는다면, 바로 저런 모습을 목표로 삼을 것이다.
 
구글은 연구실로부터 자신의 시스템을 구축할 때까지, 10년간의 system software research를 행했다고 한다. 과연 우리나라의 성공적인 IT 기업들 중 어느 누가 10년을 내다보고 system software 기술에 투자를 할 수 있을까? 반면에, 10년 후 유명해질 어느 누군가는 어느 초라한 연구실에서 연구를 하고 있을지도 모를 일.

The Secret Source of Google's Power 더 읽기"

2004 April Fool's Day Collection

RFC 3751: Omniscience Protocol
ftp://ftp.rfc-editor.org/in-notes/rfc3751.txt
저작권 위반자의 컴퓨터를 파괴하는 방법도 불사할 수 있다는 어떤 의원의 말을 비꼬아서 만든 RFC. 모든 컴퓨터에 OP client를 설치 후, MPAA, RIAA의 서버가 query해서 ‘good guys’와 ‘evil-doer’를 구별, 파괴하는 방식을 기술하고 있다. 읽다보면 거의 불가능한 솔루션임을 알 수 있음. =_=;
 
Google Copernicus Center is hiring
http://www.google.com/jobs/lunar_job.html
검색기술의 도약을 위해 달에 테스트 환경을 구축한다는…황당한.
 
OpenBSD/game boy advanced sp
http://www.openbeer.it/porting/OpenBSD-gameboy.htm
 
Cold war bomb warmed by chickens
http://news.bbc.co.uk/1/hi/uk/3588465.stm
진위는 모르겠지만…
 
Were you fooled?
http://media.guardian.co.uk/site/story/0,14173,1183684,00.html
여러 fake story 모음..

2004 April Fool's Day Collection 더 읽기"

PEI (Pigeon Enabled Internet) is FASTER than ADSL

http://www.notes.co.il/benbasat/5240.asp
 
기존의 테스트와 구분되는 것은 각 pigeon의 load를 증가시켜서 TCP(Transmission by Carrier Pigeon)가 ADSL보다 빠른 transfer rate를 가질 수 있음을 증명하기 위한 목적으로 수행되었다는 것이다. 세마리의 pigeon에 4GB이 data를 적재함으로써 약 2.27Mbps의 bandwidth를 증명했다. (원래 ADSL은 0.75-1.5Mbps)
 
Some Fun!
 
사진과 함께 “Scalability achieved by natural reproduction“이란 comment.
 

 
 
 
 
 
 
 
 
 
마지막엔 이런 comment도…
Note: In a case of emergency when you cann’t find pigeons, use chickens.
링크는 ‘The Teach Your Chicken to Fly Training Manual’이란 책의 아마존 페이지. (어..어째서 저런 책도 존재하는 건지…)
 
Reference
 
RFC1149: A Standard for the Transmission of IP Datagrams on Avian Carriers
http://www.ietf.org/rfc/rfc1149.txt
 
The highly unofficial CPIP WG
http://www.blug.linux.no/rfc1149/
 
RFC 2549: IP over Avian Carriers with Quality of Service
http://www.ietf.org/rfc/rfc2549.txt
 
CNET: Pigeon-powered Internet takes flight
http://news.com.com/2100-1001-257064.html?legacy=cnet&tag=mn_hd
 
Pigeons Enabled Internet – Technical Appendix
http://www.notes.co.il/benbasat/5265.asp

PEI (Pigeon Enabled Internet) is FASTER than ADSL 더 읽기"

Monkey's Audio: How to play files with APE extension

Monkey’s Audio란?
 
 PC의 CPU clock이 점점 올라가면서, mp3등이 encoding되는 bitrate도 점점 높아지고 있다. 또한, 가청주파수대를 넘어서는 부분도 잘라내지 않는 ogg를 선호하는 사람들도 늘어나고 있다. 여기에 또다른 audio file format이 등장했으니, 바로 Monkey’s audio, APE이다. 컨셉은 매우 간단하게도, 손실압축방식을 사용하지 않겠다는 것이다. 기존의 mp3, wma, ogg 등은 파일의 크기와 음질의 trade-off를 조절하기 위해 필요가 없다고 생각되는 audio 정보를 버리는 손실압축방식인데, storage가 매우 싸진 요즈음에는 이것이 불합리하다고 생각해볼 수도 있다.
 당연히, 손실압축에 비해서 APE는 파일 크기에 있어서 상당한 손실을 감수해야한다. Monkey’s Audio에서 제시하고 있는 비손실압축 코덱들의 비교 데이터에 따르면 약 52.7%-56.9%의 압축률을 보여주고 있다. 일반 CD로 된 앨범 1장이 약 650M의 데이터를 가지고 있다고 가정하면, 하나의 앨범을 듣기 위해서 약 350M가량의 storage를 사용해야한다.
 실제로 이러한 비손실압축 방식이 얼마나 쓸모가 있느냐는 사람마다 의견이 분분할 수 있고, 쓸모 또한 사람에 따라 매우 다르다. 자세한 이유는 독자들에게 충분한 인류학/진화심리학적인 기초 이해와 DNA 복제의 오류 메커니즘에 대한 보충 설명이 필요하므로 생략하도록 하겠다. 모든 걸 떠나서, 우리가 산 음반으로부터 뭔가 빠지는 듯한 기분으로부터, 그리고 이로부터 파생된, 대체로 시간낭비인듯한 논의로부터 definitely! 자유로울 수 있다는 것이 중요하다고 말하고 싶다. 생각지도 못한 곳으로부터의 자유라니, 왠지 이익을 본 것 같지 않은가?! (혹시 이러한 이론에 이의가 있다면, 본인은 자유와 그것을 얻기 위한 과정 이면에 존재하는 착취에 대해서 논의해 볼 자세가 되어있다.)
 당신이 만약 PDA나 iPod등의 mobile device를 추구하는 앞서가는 인간아종이라면 (본인도 이러한 분류에 속한다) Monkey’s Audio는 option이 아닐 수도 있다는 것을 유념하라.
 
Monkey’s Audio를 들으려면 어떻게 하나요?
 
물론 APE format으로 encoding된 audio 파일이 필요하다. 이미 APE를 활요하고 있는 친구에게서 받을 수도 있고, Monkey’s Audio에서 encoder를 받아서 자신이 가진 CD 음반으로부터 생성해낼 수도 있다. (아마 tape이나 LP라면 약간 곤란할 듯)
 
실제로 APE format의 audio 파일을 플레이하는데에는 여러가지 옵션이 있지만, 본인은 Winamp를 사용하기 때문에, 그것에 대해서만 설명하자면, Monkey’s Audio encoder를 설치하면 자동으로 Winamp input plug-in이 함께 설치된다. (물론 Winamp가 이미 설치되어 있는 경우에만) 너무 설명이 허무했는가..
 
이 Monkey’s Audio encoder를 download 받으려면 Monkey’s Audio 홈페이지를 참조하라.
http://www.monkeysaudio.com/
 
Why the heck APE?
 
제목을 보면 알겠지만, 이 글은 이 주제에 대해서 논하고 있지는 않다.
 
약올리기?
 
본인은 현재 ‘The Corrs’의 ‘Unplugged’ 앨범을 APE version으로 듣고 있다.
 

Monkey's Audio: How to play files with APE extension 더 읽기"