April 2004 Archives

Visual C++ Toolkit 2003

| | Comments (0)

Windows platform에서의 개발 환경은 점점 좋아지고 있는 것 같다.
Microsoft에서 공짜 compiler suite인 Visual C++ Toolkit 2003를 내놓음으로 인해, Windows에서 사용할 수 있는 개발 환경이 하나 더 추가되었다. 일반적으로 VCT2k3을 이용해 빌드한 어플리케이션은 재배포 가능하다고 하니, 사용하기에는 상당히 자유로운 편인 것 같다. 그 외에도 VC++에서 잘 동작하지 않았던 partial template specialization도 지원하게 되었다고 하니 반가운 소식. (하지만 여전히 실제로 사용하기에는 부담스러운?)

구성요소는 다음과 같다.
- command-line compiler and linker, ..
- VC++ C Runtime Library, static-link module, the Standard C++ Library (including STL)
- the Microsoft .NET Framework Runtime, including library files
- samples

자세한 내용은 다음 페이지를 참조.
http://msdn.microsoft.com/visualc/vctoolkit2003/

다운로드는 다음 페이지를 참조.
http://www.microsoft.com/downloads/details.aspx?FamilyId=272BE09D-40BB-49FD-9CB0-4BFA122FA91B&displaylang=en

윈도우즈 머신에 MovableType을 셋업했습니다.
딥뿔군의 ExportMT script를 이용해서 네이버 아티클들도 전부 이사했습니다.
http://myruby.net/archives/002132.html

블로그
http://www.lastmind.net/

위키
http://www.lastmind.net/tWiki/bin/view/Main/WebHome

앞으로 딥뿔군의 네이버 블로그 포스터를 써서, 크로스 포스팅 정책을 취할 생각입니다만, lastmind쪽이 기본 사이트가 될 것 같습니다. ^^

mod_perl 셋업에 실패해서 일단 CGI로 세팅해두었기 때문에 comment가 좀 느린데,
UNIX machine을 하나 구해서 새로 셋업해볼 생각입니다.

Enterprise architects are the one star generals of their business.  They have some authority.  Usually less than their subordinates believe they have, and more than their superiors and peers want them to have.   Ultimately, it comes down to the individual architects vision and their ability to lead others to accomplish the tasks needed to achieve it.


Vision is a key differentiator.  Specifically, those architects with clarity of scope and definition thrive and succeed where others fail to achieve.  Ours is a job centered on communicating complex, frequently abstract, concepts which while providing re-occurring long-term value on what appears to be little more than another wasteful expense in this year's accounting.


How then are we to justify the expansive nature of our goals?

First, don't follow the money, lead with it.  If your architecture is chasing the "funded" projects seeking to ride their fiscal wave, you are doomed to over-promise and under deliver.  As soon as you become a dependency to another project the implied value of an enterprise effort is subverted by the immediate (and very real) needs of the project.  Instead you must fight your own fight and develop a funding stream dedicated to enterprise development.  Only then can you produce components so valuable to the projects that the projects will be drawn to by the obvious savings or ease of development.


Next, it’s not enough to tell those around you about your goals and their obvious value to the enterprise, you must establish and actively pursue a marketing campaign.  Although you will need to advertise both the availability and features of your enterprise architecture, a great deal of the marketing efforts must focus on gathering mind share.  Think political campaign.  You don’t need sales you need support, trust, credibility, and power.  You need to build both a constituency to represent and a majority consensus among those with similar but not necessarily like minded views.


Lastly, Technical users of your enterprise products are swayed by applied technology and cogent discussions of the pluses and minuses associated with a particular choice.  Give it to them.  Armed with working prototypes, running code, metrics on performance, and well documented APIs you will be allowed to begin the conversation.  Don’t for a moment believe you position, title, or self importance will ensure adoption.  Know the current application development process … its value and its warts.  Chances are software has been built and successfully deployed.  Suggestions of change must be complete and compelling.

From http://blogs.msdn.com/stcohen/archive/2004/04/11/111329.aspx

about to move out!

| | Comments (4)
처로군과 딥뿔군이 네이버로부터 딴 곳으로 이사를 계획 중인 사실에 영향을 받았는지, 나도 슬슬 네이버를 접을까 생각 중이다. 원래부터 commercial 사이트에 내 데이터를 올리기를 싫어하는 지라 시작할 때부터 떨떠름 했었더랬다. 순전히 귀찮은 탓에 네이버에 들어앉은 셈이라..
 
여러가지로 솔루션을 생각중이지만, 일단은 원래의 위키 사이트가 있던 회사 윈도우즈 머신에다가 MT(Movable Type)를 설치해볼 생각. (저번에 설치 시도했다가 실패했었는데, 이젠 MT가 직접적으로 윈도우즈를 지원하는 것 같다. zip 파일을 제공하는 것을 보면!) MT에 처음으로 feel을 받은 것은 이 사이트(http://unadorned.org/dandruff/)를 보고나서인데, 딥뿔군에 의하면, 지금은 거의 가장 유명한 blog tool이 된 것 같다. MT를 사용할 때 얻을 수 있는 또다른 장점이 딥뿔군이 네이버에서 migration할 때, 나도 똑같은 툴을 사용할 수 있다는 것. ㅋㅋㅋ
 
개인적으로는 blog와 wiki의 용도는 상당히 다르다고 생각하고, 또한 마음에 드는 CMS도 찾기 힘들어서, 따라서 이원화된 구조로 가는 것이 바람직하다고 생각하고 있다. 기존의 tWiki가 UTF-8 URL encoding을 지원하지 않아서 좀 괴로웠는데, beta에서 지원하고 있으니 version up을 시도해볼 예정이다. 데이터 저장을 파일로 한다는 것도 마음에 안드는데, 혹시 DB storage를 지원하는지 살펴봐야겠다. 플러그인과 템플릿을 강력하게 지원하는 점에서 tWiki는 매우 훌륭하지만, 계속 걸림돌이 되는 문제가 있다면 moni wiki로 갈 생각도 하고 있다. blog과 wiki의 연동 방안에 대해서는 계속 생각해볼 것.
 
계획의 일환으로 신청해둔 도메인 네임들은 다음과 같다.
lastmind.com (The Last Mind를 의도한 것이다. 상당히 거만한.. =_=)
lastmind.net
esoterica.name
이미 윈도우즈 머신쪽에 연결되어있으므로, 들어가면 내 위키 사이트를 볼 수 있다.
대문에 내부 페이지들에 대한 링크를 붙여놓진 않았으므로 들어가봤자 볼 건 별로 없으리라.
 
내가 도메인 신청한 곳은 가비아란 곳인데, 도메인 네임당 2년에 36k. 1년에 9.9k 정도인 곳도 있다고 하니 참고. 딥뿔군의 dns에 기생해서 살고 있는 중이다. (Thanks to deepblue!!!) 딥뿔군이 졸업하면? 내일은 내일의 태양이 뜨겠지.
 
기계는 계속 윈도우즈 머신을 쓸 생각은 없다. (관리에도 불편, 집에서 작업하기에도 불편!) 조만간 리눅스 머신을 구하든가 (회사 머신을 쓰든, 내가 세컨을 마련하든) 노트북을 사고 기존의 윈도우즈 머신을 리눅스 머신으로 만들어버릴 생각을 하고 있다.
 
 
regular expression을 테스팅하는 도구.
당연히 기본적인 match/replace test등이 가능하다.
 
다른 regex 테스팅 도구와 다른 점은,
- Regexlib.com에서 regex example을 검색할 수 있다.
- 성능 분석이 가능하다.
 
http://royo.is-a-geek.com/iserializable/regulator/
http://sourceforge.net/projects/regulator/
 
@은수형이 전에 추천해 준 간단한 regex 테스팅 툴도 하나 있는데, 물어보고 아래에 적어주겠음.
며칠전에 Net::Server module에서 재민군이 syslog 관련 버그를 발견했는데, 이미 보고된 심각한 버그임에도 불구하고, debian-testing에 남아있었다.(모듈의 최신 버전에서는 수정된 문제) debian testing을 믿을 수 없는 것인가, 아니면 비표준 Perl 모듈을 믿을 수 없는 것인가?
 
모듈 페이지: http://search.cpan.org/~bbb/Net-Server-0.87/lib/Net/Server.pm
데비안 패키지 페이지: http://packages.debian.org/unstable/perl/libnet-server-perl
버그리포트: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=202439

news grabber

| | Comments (0)
자동으로 타이틀 인식해서 모아주기
자동 grabbing

Some 'Kewl' Tools

| | Comments (1)
Desktop Sidebar
여러 모니터링 기능 외에도, RSS Auto-discovery and automatic HTML to RSS conversion을 지원한다.
http://www.desktopsidebar.com/
 
Fiddler: a HTTP Debugging Proxy
 
HTTP를 다루는 사람들에게 유용할만한 툴.
http://www.fiddlertool.com/fiddler/

Slashdot Today

| | Comments (0)

Gmail

| | Comments (0)
Gmail
https://gmail.google.com/
 
Testing Gmail
http://miscoranda.com/102
 
Obligatory Gmail Screenshots
http://fury.com/article/1990.php
 

What drives Google?

| | Comments (1)
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

XPde Desktop Environment

| | Comments (0)

EBook Manager

| | Comments (5) | TrackBacks (0)

 
주말에 만들어 본 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이 어떤 면에서 장점이 있지않을까.
 
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년 후 유명해질 어느 누군가는 어느 초라한 연구실에서 연구를 하고 있을지도 모를 일.

Dating Design Patterns

| | Comments (2)

'Design Patterns'의 패러디. 사보고 싶다. 하지만, 연애에 정통한(?) 친구의 말에 의하면 연애는 항상 case by case라고 한다. +_+
 
http://www.amazon.com/exec/obidos/ASIN/0974312002/qid%3D1080878203/sr%3D11-1/ref%3Dsr%5F11%5F1/103-6893209-5095018
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 모음..
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
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으로 듣고 있다.
 

About this Archive

This page is an archive of entries from April 2004 listed from newest to oldest.

March 2004 is the previous archive.

May 2004 is the next archive.

Find recent content on the main index or look in the archives to find all content.

Powered by Movable Type 4.21-en