본문 바로가기

분류 전체보기

아이팟 아이팟을 한 번 보세요.아이팟은 배터리를 갈아 낄 수 없습니다.배터리가 수명을 다하면, 정말 안 됐습니다만, 새 아이팟을 사러 가세요.애플은 배터리를 바꾸려면 친절하게도 직접 공장에 보내라고 합니다.직접 한 번 보내 보세요.배터리 갈아 끼우는데 65.95 달러나 받습니다.우째 이런 일이..... 제 이론은 이렇습니다.애플은 완벽하게 부드럽고 매끄러운 아이팟 표면을 형편없는 배터리 덮개로 망치고 싶지 않았습니다.아이팟 뒤태는 얼마나 아름답고 섹시합니까!여기에 툭하면 깨지는 작은 걸쇠가 달렸고, 주머니 속 먼지와 온갖 지저분한 때가 틈새에 잔뜩 끼는 배터리 덮개라니!싸구려 잡동사니 가전제품에나 붙는 구역질 나는 놈이 말이나 됩니까?아이팟은 제가 여태까지 보아온 가전 제품 가운데 최고로 매끈한 작품입니다.아이.. 더보기
Winamp ...지난 몇 년 동안 진정한 고음들이 모인 위대한 소프트웨어들이 많이 나왔습니다.그럭저럭 프로그래머들은 결코 만들어내지 못하는 소프트웨어들이죠. 2003년, 널소프트는 윈앰플 새 버전을 출시하면서 웹사이트에 다음과 같은 글을 올렸습니다.(http://web.archive.org/web/20031224061615/www.winamp.com) - 죽여주게 멋지고 새로운 외관!- 신바람 나는 새로운 기능들!- 대부분 제대로 동작! 마지막 '대부분 제대로 동작!'에서 사람들은 모두 배꼽을 잡고 뒤집어졌습니다.사람들은 행복했고 윈앰프에 열광했습니다....그게 다 웹사이트에 올라온 '대부분 제대로 동작!'이란 문구 때문이었습니다. 멋지지 않나요? 조엘온소프트웨어를 넘어서, 272p 더보기
밀리미터 싸움 사람들에게 팔려고 만든 소프트웨어, 상품 소프트웨어는 밀리미터 싸움입니다.매일매일 조금씩 전진합니다.단 한가지씩 찔끔찔끔 나아집니다.공장 설정 알람 시각을 자정에서 오전 일곱 시로 바꿉니다.간신히 누군가에게 도움이 되는 작은 개선을 이룹니다.겨우 1 밀리미터 전진합니다. 이렇게 개선해야 할 사소한 일들은 수천, 수만 가지나 됩니다.이런 사소한 일들을 찾아내려면 끊임없는 비판 정신이 필요합니다.모든 사물에서 오류를 찾아내도록 마음을 다잡아야 합니다.여러분 주위의 소중한 사람들이 짜증나서 미치더라도 할 수 없습니다....이렇게 작은 문제 하나하나를 조금씩 바로잡아 가면서 제품을 닦고, 다듬고, 광내고, 장인정신으로 무장시키면 마술이 일어납니다.밀리미터가 모여 센티미터가 되고, 센티미터가 모여 미터가 되고, .. 더보기
헝가리안 표기법 (틀린 코드를 틀리게 보이도록 만들기) 틀린 코드를 틀리게 보이도록 만들기2005년 5월 11일 목요일 ...(중략)다음 C코드는 문법도 정확하고, 코딩 표준도 지켰습니다. 일부러 이렇게 짠 것 같아 보이기 까지 합니다.char* dest, src; 하지만 C로 코딩을 많이 해본 사람이라면, dest는 char형 포인터지만, src는 단순한 char형이란 사실을 금세 알아차립니다.... 코드에서 더러운 냄새가 납니다. ...조금 더 미묘한 문제도 있습니다.if (i != 0) bar(i); foo(i); 중괄호 팔아먹기 신공으로 여러분 뒤통수를 때립니다. i값이 뭐든 foo(i)를 호출해버리는군요.이렇게 중괄호가 없는 코드 블록이 나타나면, 뭔가 찝찝하고 불편한 느낌이 들어야 합니다. 프로그래머가 격는 세가지 단계를 알려드리겠습니다.1. 뭐가.. 더보기
여러분 프로그래밍 언어는 이렇게 할 수 있어요? 여러분 프로그래밍 언어는 이런거 됩니까 (2004년 3월 2일 화요일) 어느 날, 여러분은 코드를 훑어보다가 언뜻 보기에 거의 똑같은 코드 블록들을 발견 합니다.// 시시한 예제: alert("I'd like some Spaghetti!"); alert("I'd like some Chocolate Moose!");코드 중복은 나쁜거니까, 함수를 만듭니다. function SwedishChef( food ) { alert("I'd like some " + food + "!"); } SwedishChef("Spaghetti"); SwedishChef("Chocolate Moose");이 코드는 처음보다 더 낫습니다. 유지보수성, 가독성, 추상화 등등의 이유 때문에. 다른 예제를 살펴보겠습니다. alert(".. 더보기
[조엘]커뮤니티 소프트웨어 만들기 커뮤니티 소프트웨어 만들기2003년 3월 3일 월요일 사회 과학자 레이 올덴버그는 자신의 책 '위대한 좋은 장소(The Great Good Place, 1999)에서 인간에게는 집과 직장 말고, 친구를 만나고, 맥주를 마시고 그날 일어난 일들을 이야기하면서 인간 관계를 즐기는 제3지대가 꼭 필요하다고 역설했습니다. 커피숍, 바, 미용실, 호프집, 당구장, 클럽 같은 단골집들은 생존에에 필요한 공장, 학교, 아파트만큼 필수불가결한 요소입니다.하지만 자본주의자들이 세상을 지배하면서 이러한 제3지대는 잠식 당했고, 사회는 점점 황폐해졌습니다.... (중략)많은 사람들의 삶이 일하러 갔다가 집에 돌아와서는 텔레비전 보기로 굳어졌습니다. 일-텔레비전-잠-일-텔레비전-잠.제가 보기에 이 증상은 시애틀 근교와 실리콘.. 더보기
폰트 관련 용어 예전 폰트 관련 라이브러리(cairo graphics library)를 이용하여 코딩하는데 있어서어려움을 겪게 했던 폰트 관련 용어들 기준선 (baseline) : 글자들이 그 위에 놓여 있을 것 같은 가상의 선몸통선 (mean line) : a,c,e,i,m,n,u,v,w,x와 같은 소문자들의 윗부분을 따라 이어지는 가상의 선엑스자 높이 (x-height) : 기준선과 윗선 사이에 있는 소문자 몸체 부분의 높이를 엑스자 높이라 하는데, 이것은 소문자 x의 글자 획이 기준선과 윗선에서 끝나기 때문이다.어센더 (ascender) : b,d,h 등의 소문자에서 윗선 위로 올라가 있는 획디센더 (descender) : p,y,g 등의 소문자에서 기준선 아래로 쳐지는 획속공간(카운터)(counter) : b,d.. 더보기
Autotrace 빌드하기 (Windows) Autotrace 빌드하기 (Windows) autotrace : bitmap 이미지를 vector 그래픽으로 만들어 주는 프로그램테스트 환경 : Windows 8, Visual Studio 2010 http://autotrace.sourceforge.net/이것이 공식 사이트인 듯 하나, binary는 다운로드 되지만, 소스 다운로드가 되지 않는다.그리고 binary는 실행하면 죽어 버린다 ㅠ이 사이트에서 웹에서 변환할 수 있는 사이트(아래 링크)를 제공하니 샘플로 돌려볼 수 있다.http://www.roitsystems.com/cgi-bin/autotrace/tracer.pl 우분투 웹사이트에서 autotrace 소스 및 매뉴얼을 확인할 수 있다.http://manpages.ubuntu.com/man.. 더보기
[Windows] 윈도우 시작시 프로그램 자동실행 2 윈도우 시작 시 자동 시작 프로그램 일단, 아래 링크에서 ‘Autoruns’를 설치한다. (MS에서 제공하는 거니까 괜찮다)http://technet.microsoft.com/en-us/sysinternals/bb963902.aspx Autoruns를 실행해보면 아래 그림과 같이 내컴퓨터에서 자동 실행되고 있는 모든 프로그램을 보여준다. 이 프로그램을 봐도, 인터넷을 뒤져봐도, 내가 아는 한,….윈도우 시작할 때 프로그램을 자동으로 시작하는 방법에는 4가지가 존재한다. (더 있다면 제보좀..)1. 시작 프로그램에 등록하는 방법 2. Registry의 Run에 등록하는 방법 3. 스케줄러에 등록하는 방법 (Windows Vista부터 지원)4. 서비스에 등록하는 방법 분류로 놓고 보면 4가지인데, 위 그림.. 더보기
[펌] 부재의 아이디어 부재의 아이디어 공갈빵을 씹으면, 그 안에는 아무것도 없다. 빵으로 채워져 있어야 할 곳이 텅 비어 있는 것이다. 공갈빵의 주된 아이디어는 빵이 아닌 빵의 부재를 먹는 것이다.데이트는 두 존재가 만나 친밀한 시간을 보내는 것이다. 그러나 아다치 미츠루의 만화 [H2]에는 '기다리는 시간도 데이트의 일부잖아'라는 명대사가 나온다. 존재가 아닌 부재에 주목하는 것은 인식의 전환을 가져온다. 역설적이게도, 부재에는 엄연한 존재감이 있다. '든자리는 몰라도 난자리는 안다'고 하지 않던가. 가야금 소리가 진양조로 느리게 흐를 때, 음과 음 사이에는 바람이 드나든다. 그것은 현을 튕기는 소리를 듣는 것이기도 하지만 그 사이의 침묵을 듣는 것이기도 하다. 그 침묵, 즉 소리의 부재는 확실한 존재감을 가진 음악적 요소.. 더보기