하늘나라로 간 재롱이

지난 몇 주 동안 재롱이는 물 외에는 아무 것도 먹지 않고 누워 있었다. 물을 먹을 기력조차 잃어버린 재롱이는 오늘 하늘나라로 떠났다. 회사에서 돌아왔을 때는 이미 재롱이의 마지막 얼굴을 볼 기회를 놓치고 만 뒤였다. 아침에 지각 걱정에 서두르느라 재롱이를 제대로 예뻐해 주지 못한 것이 정말 후회가 된다.

재롱이는 개 치고는 긴 16년이라는 시간을 살았다. 하지만 그 시간이라는 것이 어떤 의미가 있을까. 백일몽의 한 가운데서 떠오르는 공상 과학 영화의 한 장면처럼, 사랑하는 누군가를 다시금 살려내고 싶은 마음은 16년이라는 시간을 상대적으로보다는 절대적으로 인식하게 한다. 아마 백 년도 천 년도 모자랄 것이다. 그렇기에 우리는 신의 존재에 의문을 던지면서도 언젠가 다시 만나기를, 다음 세상을 상상하고 기약한다.

인생의 절반 이상을 함께한 누군가를 영영 다시 볼 수 없다는 느낌, 그것이 바로 죽음이 우리를 눈물짓게 하는 이유일 것이다. 숨막힐 정도로 아프고 텅 빈 가슴의 한 켠을 채우려면 얼마나 오랜 시간이 흘러야 할까.

12 Comments

  1. 전기양 said,

    July 8, 2006 at 11:17 am

    재롱이 좋은데로 갔을거에요 ㅠ.ㅠ

  2. 영희 said,

    July 10, 2006 at 1:03 pm

    희승씨 재롱이때문에 맘이 많이 아프구나..나도 재롱이가 죽었다는 얘기를 듣고 가슴이 시리던데..오죽했을까.. 어제 위로도 많이 못해주고 ..미안해..

  3. lono said,

    July 10, 2006 at 3:28 pm

    키우던 햄돌이가 떠날 때도 많이 씁쓸하던데,
    강아지는 훨씬 더 슬플 듯, 안타까운 ;_;

  4. 아휘 said,

    July 11, 2006 at 12:27 am

    나도 작년에.. 10여년을 같이 지내온 예삐라는 강아지와 이별했는데..
    그런데 예삐가 나쁜 기운을 몰고 나갔나봐..
    그 후 바로 취직이 되더라구,,
    16년 동안 잘 키워줬다면, 재롱이도 기쁘게 갔을 듯 하다 ^^

  5. Ryon said,

    July 14, 2006 at 11:51 am

    그 강아지가 운명을 했구나….

    전에 봤을때도 실명했었던거 같은데…..

  6. ricky said,

    July 21, 2006 at 4:23 am

    T_T 희승이 아저씨 힘내!!!

  7. Trustin Lee said,

    August 2, 2006 at 10:03 am

    네…ㅜㅜ

  8. Trustin Lee said,

    August 2, 2006 at 10:03 am

    울자기 요즘 전화도 뜸하고~ 잘지내는감? ㅋㅋ

  9. Trustin Lee said,

    August 2, 2006 at 10:04 am

    그 햄돌이가 죽어버린거야? 명복을 빌겠소 ㅠㅠ

  10. Trustin Lee said,

    August 2, 2006 at 10:04 am

    그래버렸다.

  11. Trustin Lee said,

    August 2, 2006 at 10:04 am

    홧팅!!!

  12. Trustin Lee said,

    August 2, 2006 at 10:06 am

    저는 별로 좋은 일은 없지만 형은 취직 축하드려욧!

코드 중복이 인류에게 미치는 해악

나이를 먹어 가는 만큼 완결된 형태의 글을 쓰는데 걸리는 시간이 길어진다. 시간이 흐르면서 남들의 시선도 의식하게 되고 삶이라는 것에는 단정짓기에는 너무나 많은 뒷 이야기들이 존재함을 알아버렸다.

누군가를 비난하기보다 이해하려고 애쓰는 자세야말로 많은 사람들과 일을 진행하는 데 있어 중요한 자질이 아닌가 싶다. 모두가 인격적으로 충분히 성숙할 수는 없다. 하지만 그 자질 하나만 있다면 우리는 서로의 멘터(mentor)가 될 수 있지 않을까?

그럼에도 나에게는 한 치도 물러날 수 없는 원칙이 있다. 우리는 이 세계를 발전시키기 위해 존재한다는 것이다. 우리가 우리의 행동이 세상 사람들에게 혜택을 주어야 할 만큼 노력하지 않는 것만한 불행도 없다. 나는 그런 모든 시도 앞에서 결코 물러나고 싶지 않다. 그런 사람들이 있었기에 세상은 그나마 이 정도 약진해 왔다.

우리는 소프트웨어를 만들 때 어떻게 만들고 있는지 이 관점에서 진지하게 생각해 볼 필요가 있다.

코드 중복이야말로 스스로의 시간을 세상과 단절시키는 최고의 방법이다. 스스로 질 떨어지는 커넥션 풀이나 ORM 프레임워크를 만들 시간에 왜 Jakarta Commons DBCP나 Hibernate에 공헌하지 않는가? 다른 부지런한 사람이 같은 일을 해서 보기 좋게 공개할 것이란 안이한 생각 덕택에 컴퓨터 공학의 역사는 얼마나 늦어졌는지 이젠 헤아릴 수조차 없다. 개인은 명성을 얻을 기회를 잃어버린다. 컨퍼런스에서 스포트라이트를 받았어야 할 시간에 술집에서 치킨 뜯으면서 무의미한 자기 과시에 시간을 허비해 인류의 존재 이유에 의문을 갖는 개체의 수를 증가시킨다.

혹자는 말한다. 인류에게 도움이 되는 소프트웨어를 어떻게든 빨리 제공하기만 하면 인류에 큰 도움이 될 수 있다고. 아쉽게도 기대와는 많이 다르다. 소프트웨어를 만들고 유지보수하는 과정에서 낭비되는 시간이 갖는 가능성의 유실은 인류가 받을 도움을 마이너스로 상쇄하고도 남는다. 또 소프트웨어 개발 과정에서 은연중에 수립된 불합리한 마인드가 커뮤니티에 뿌리박혀 오늘날 어떤 현실을 낳게 되었는지는 자명하다.

세상을 발전시키는 소프트웨어는 중요한 인류의 자산이다. 그러나 그 과정에서 인간이 세상을 향해 취해야 할 기본적인 자세를 파괴한다면 그것은 무가치를 넘어 해악이다.

8 Comments

  1. 영회 said,

    June 13, 2006 at 10:30 am

    좋은 글이 군요..

  2. 해빈 said,

    June 13, 2006 at 3:47 pm

    In a broad perspective, yes, I strongly agree with you. But you may be putting too much burden on all of us and our software. What if you only a need simple class to do whatever you wanted, do you still have to use that huge and enormous open source library? I acknowledge the fact that the simple class is bound to be more complicated and complex. Yet, for just now, if it suits its purpose well enough then I would have to say “job well done.” Reasons? First, avoids Yo-Yo effect for typical Object-Oriented programs. Second, much easier maintenance. Last but not least, no hassle with licenses.
    Yet, in a broad perspective, I do agree with you, but for narrow scope, you may go easy on us, pity hardworking laborers.

  3. Trustin Lee said,

    June 13, 2006 at 6:16 pm

    That’s a common pitfall. Why is a reusable component huge if we use only small part of it? If it is too complex for your simple scenario, then you’d better find a better replacement for it. There should be someone who tried to resolve that complexity. Otherwise, you’re the one to resolve it and share it with other people all over the world. It would be even better if we can improve the existing component become very thin and light when you use only small part of it by refactoring it.

    Can you assure the _one_ class will remain as a real one class in the future? That’s the waste we’re creating everyday. I bet it will not be compatible with any known standard interfaces so the cost of switching will overwhelm the initial merit of the home-grown solution significantly. Much easier maintanance? That’s the funniest joke I have ever heard this year.

    Regarding licenses, it’s absolutely OK if you’re using open source softwares with BSD-compatible licenses. It’s not a hassle but required knowledge for developers who is considering to adopt F/OSS.

    It’s a temporal burden which will go away as you get used with the discpline. You will get an eternal burden on your back while avoiding the temporal burden. I found that people who are against this idea are just not used to it. It’s just an excuse for a lazy being. You have to think again.

    And let me know if any softwares I wrote made you suffer. You never asked me about the problems you encountered recently, so I cannot understand why you’re saying ‘us’.

  4. 해빈 said,

    June 14, 2006 at 1:12 am

    well, i don’t exactly remember where i quoted ‘easier maintenance’, yet, there is a paper regarding that issue. what it said was that it is always much easier to debug a class than a library. ^^;; (because, there would be lesser yo-yo effect and lesser hassle to deal with when you run your debugger.)

    us means typical developer like myself without any architectural mind. he he…

    i do love your open source libraries. but when things go wrong, such as, oil, it is rather difficult to pinpoint the problem. (i would certainly face similar problem even though I use a simple class)

    but, as i mentioned previously, i strongly agree with you in a broad perspective. but, sometimes, you cannot really eliminate all the inefficiencies.

    🙂 i still respect you very much~ i am not trying to criticize your opinion. certainly, my one is also a mere opinion. ;-)

  5. Trustin Lee said,

    June 20, 2006 at 10:04 am

    Is a library a library if we use only a few part of it? I think it is a very controversial issue and usually a simple class evolves into a library as time goes by. That’s also why there’s a company like SpikeSource.

    My point is that the idea ‘Job well done’ can be very dangerous to our society. :)

  6. Trustin Lee said,

    June 20, 2006 at 10:04 am

    격려의 말씀 감사드립니다 ^^;;

  7. Max said,

    June 27, 2006 at 1:30 pm

    우리나라에 이런글을 쓸수 있는 사람이 있군여…

    – 감동구절 –
    ———————————-
    ‘누군가를 비난하기보다 이해하려고 애쓰는 자세야말로 많은 사람들과 일을 진행하는 데 있어 중요한 자질이 아닌가 싶다. 모두가 인격적으로 충분히 성숙할 수는 없다. 하지만 그 자질 하나만 있다면 우리는 서로의 멘터(mentor)가 될 수 있지 않을까?’

    제랄드 M. 와인버그 가 연상될 만큼 좋은 글이 였습니다.
    좋은글 읽으니 기분 좋쿤요… ^^

  8. Trustin Lee said,

    August 2, 2006 at 10:10 am

    과찬의 말씀이십니다. ^^;;;

리더의 안티패턴

  • 무지
    • 잘못된 아키텍처에 대한 집착에 가까운 나르시즘
    • 전체를 바라보는 멍청하리만치 낮은 시각
    • 개체지향 디자인에 대해 전혀 모르거나 경험이 없음
    • 무지에 대한 무지
  • 이중성
    • 겉으로는 익스트림, 속으로는 제멋대로
    • 내 실수는 시행 착오를 통한 학습, 남의 실수는 시간 낭비
  • 독단
    • 팀원의 능력과 의욕의 개무시
    • 우리의 회의는 당신의 통보
    • 상대방을 지쳐서 말없이 따라오게 만드는 신통한 재주
    • 상대방의 경험을 무시한 직접 써 보지 않은 모든 것에 대한 불신
  • 성격 장애
    • 조급증에 의한 럭비공화
    • 가끔씩 들어오는 인신 공격

Improvements in JDBC 4.0

This is the summary of an article from JavaWorld.com.

Annotations and the generic DataSet

  • DataSet
  • extends java.util.List.
  • has a java.sql.ResultSet (when connected) or a javax.sql.rowset.CachedRowSet (when disconnected) in it.
  • Query
    • is instantiated by Connection.createQueryObject() or DataSource.createQueryObject()

    interface EmployeeQueries extends BaseQuery {
      @Select (sql=”SELECT employeeId, firstName, lastName FROM employee”)
      DataSet getAllEmployees ();

      @Update (sql=”delete from employee”)
      int deleteAllEmployees ();
    }

    Connection con = …
    EmployeeQueries empQueries = con.createQueryObject (EmployeeQueries.class);
    DataSet empData = empQueries.getAllEmployees ();
    for (Employee e: empData) {
      System.out.println(e.getFirstName());
    }

    Exception Handling Hierarchies

    • SQLException is now classified into multiplle sub-classes for better identification of the cause.
    • Support for chained exceptions and iterability

    catch(SQLException ex) {
      for(Throwable t : ex) {
        System.out.println(“exception:” + t);
      }
    }

    Leverage nonstandard vendor implemented resources

    java.sql.Wrapper supports non-standard vendor-dependent types safely

    PreparedStatement ps = …;
    if (ps.isWrappedFor(OraclePreparedStatement.class)) {
      OraclePreparedStatement ops = ps.unwrap(OraclePreparedStatement.class);
    }

    This is very similar to a simple downcasting pattern which uses instanceof keyword, but it is different and flexible in that isWrappedFor(…) and unwrap(…) can perform downcasting recursively and programmatically by its definition. To put simply, this is a safe downcasting pattern for the decorator pattern. This pattern will be also very useful for other use cases, not just for connection pool implementations.

    Miscellaneous

    • New types
    • SQLXML: created by calling Connection.createSQLXML()
    • RowId: represents vendor-independent value to reference a row in a database directly.
    • has a different life time: DatabaseMetadata.getRowIdLifetime()
  • Connection.isValid() and Connection.setClientInfo()
  • Use of Java SPI: No need to call Class.forName(…) anymore

  • JavaWorld에서 읽은 기사의 요약입니다.

    어노테이션과 DataSet

    • DataSet
    • java.util.List를 상속
    • 내부적으로 java.sql.ResultSet (접속되어 있을 때)나 javax.sql.rowset.CachedRowSet (접속이 끊어져 있을 때)를 갖고 있음
  • Query
    • Connection.createQueryObject()나 DataSource.createQueryObject()를 호출해 생성

    interface EmployeeQueries extends BaseQuery {
      @Select (sql=”SELECT employeeId, firstName, lastName FROM employee”)
      DataSet getAllEmployees ();

      @Update (sql=”delete from employee”)
      int deleteAllEmployees ();
    }

    Connection con = …
    EmployeeQueries empQueries = con.createQueryObject (EmployeeQueries.class);
    DataSet empData = empQueries.getAllEmployees ();
    for (Employee e: empData) {
      System.out.println(e.getFirstName());
    }

    예외 처리의 계층화

    • SQLException이 여러 하위 클래스로 구분되어 예외의 원인을 좀 더 자세히 알 수 있음.
    • Chained exception을 지원하고 간결한 for 루프를 쓸 수 있음.

    catch(SQLException ex) {
      for(Throwable t : ex) {
        System.out.println(“exception:” + t);
      }
    }

    벤더 종속적 자원의 활용

    java.sql.Wrapper는 벤더 종속적 타입을 안전하게 사용할 수 있는 방법을 제공

    PreparedStatement ps = …;
    if (ps.isWrappedFor(OraclePreparedStatement.class)) {
      OraclePreparedStatement ops = ps.unwrap(OraclePreparedStatement.class);
    }

    이것은 instanceof 키워드를 사용하는 기존의 단순한 다운캐스팅 패턴과 아주 비슷하지만, isWrappedFor(…)와 unwrap(…)가 다운캐스팅을 재귀적 및 프로그램적으로 수행할 수 있다는 점에서 다릅니다. 간단히 말해 데코레이터 패턴에서 쓸 수 있는 안전한 다운캐스팅 패턴인 셈입니다. 이 패턴은 커넥션 풀 구현 뿐만 아니라 다른 비슷한 곳에서도 유용하게 적용할 수 있을 것 같네요.

    기타

    • 새 타입
    • SQLXML: Connection.createSQLXML()을 호출해서 생성
    • RowId: 데이터베이스의 한 행을 직접적으로 참조할 수 있는 값을 나타내는 벤더 종속적 값
    • 라이프타임이 다를 수 있음: DatabaseMetadata.getRowIdLifetime()
  • Connection.isValid()와 Connection.setClientInfo()
  • Java SPI의 사용: Class.forName(…)을 더 이상 직접 호출할 필요가 없음
  • Beauty of Inaction

    멍하니 정류장의 줄 가운데 서서 오지 않는 버스를 기다리는 내내 원망했던 적이 있다. 나는 마음속으로 외쳤다. 나에게 주어진 시간을 왜 길바닥에서 낭비해야만 하느냐고.

    많은 시간이 지났고, 나의 태도도 바뀌었다. 이제는 격렬하게 살아가는 현대의 삶에서 무위(無爲)만큼 아름다운 것도 없다고 생각한다. 지키지 못할 스스로와의 약속에 고뇌하는 것보다는 길거리를 지나가는 사람들의 표정 하나 하나를 통해 나를 바라보는 것이 어쩌면 더 중요한 것은 아닐까?

    I had been complaining of a bus not coming on time in the middle of a line. I shouted at the world from inside of my heart; “why am I supposed to waste my given time on this damn street?”

    Time passed since then and my attitute also changed. Now, I think nothing is more beautiful than ‘inaction’ in a fierce modern life. Wouldn’t it be more important for us to looking into ourselves through the faces of the people on a street, rather than thinking of countless promises destined to be broken?

    10 Comments

    1. lono said,

      March 23, 2006 at 8:49 am

      now, drive for yourself~

    2. mylee said,

      March 24, 2006 at 1:59 pm

      예 전에는 약속으로 인해 기다리는 시간, 멀리 이동해야만 하는 시간 들이 낭비스럽다고 생각했었어요. 그런 시간들에 대해서 또 무지 민감했구요. 짜증도 많이냈죠.. 하지만 언젠가부터 그런 시간 조차도 내가 컨트롤 할 수 있다고 생각했어요.. 어디에 있던지에 상관없이 내가 할 수 있는 무언가를 계속 할 수 있다면.. 그렇게 연장선으로 생각하면 그만인 거였죠. 차안에서 필요한 테잎을 듣는다던가 책을 본다던가.. 내 몸은 그저 이동하고 있는 거였지만 난 항상 내가 할 수 있는 무언가를 찾아 함께 했고.. 그러다 보니 이젠 그런 것들에 자유로와 졌어요.. 성격도 좋아진거 같구 ^^

    3. Trustin Lee said,

      March 25, 2006 at 10:57 pm

      I think I’m too short-sighted and too old to get a driver’s license now. LoL!

    4. Trustin Lee said,

      March 25, 2006 at 10:58 pm

      동감이에요. 그래서 저는 하루에 두세시간씩 되는 출퇴근 시간이 그렇게 싫지가 않아요. 음악도 듣고 생각도 하면서 있으면 어느새 목적지에 도착한 나를 발견하게 되곤 하죠. 공감하는 사람이 있어 기쁘네요. ^^

    5. pcpenpal said,

      March 26, 2006 at 1:30 am

      저도 출퇴근을 매일 통합 3시간씩 하지만 별로 나쁘다고 생각하지 않아요. 다만 지각하는 출근길에서는 생각의 1/4는 지각 고민이라는 것이… -_-;

    6. Trustin Lee said,

      March 28, 2006 at 5:43 pm

      고민을 머릿속에서 지워버리3~

    7. 레이시 said,

      March 29, 2006 at 11:55 pm

      오랜만이어요 ^^
      나도 동감하는 부분인데
      언제나 나는 ‘심심하지 않다’를 만드는건
      항상 어딘가에서 재발견하는 능력이 있어서 일꺼에요.

    8. Trustin Lee said,

      March 30, 2006 at 8:42 am

      오랜만이야 윤진 ^^
      매일 하루를 원하는 만큼 다시 태어난 사람으로 살 수 있다면 좋을텐데 말이야… 홧팅~!

    9. 파탈 said,

      April 17, 2006 at 1:54 am

      봄햇살이 너무 따뜻해요. 보도블럭 틈바구니에서 피는 잡초들을 구경하며 통학을 하는 요즈음이에요.

    10. Trustin Lee said,

      April 17, 2006 at 2:50 am

      갑자기 쌀쌀해진 저녁에 잠시 봄이라는 것을 잊어버릴 뻔 했네요. 겨울이란 계절을 잊을 정도의 녹음에 흐뭇했었는데 말예요. 내일은 따뜻했으면 좋겠네요. ^^

    A Class Loader and Static Fields in Java

    Simon Kitching wrote a wonderful page which describes an infamous class loader issue related with static fields. The page is basically to explain why static Logger fields are dangerous, but it counts for other ordinary static fields, too.

    Simon Kitching 이 static 필드와 관련된 악명높은 클래스 로더 이슈를 설명하는 훌륭한 페이지를 작성했습니다. 이 페이지는 기본적으로 static Logger 필드가 왜 위험한지를 설명하고 있지만, 다른 일반적은 static 필드에도 해당됩니다.

    Signing Files Recursively Using GnuPG

    GnuPG is a great privacy tool; it makes sure that the software distribution you deployed is identical with what you deployed originally. In the Apache Software Foundation, committers have to sign all their distributions before they are mirrored to other servers such as Ibiblio.org for security reasons. However, signing each file one by one takes too much time. There has to be an easier way, and I created a shell script which signs all files recursively in one shot.

    GnuPG는 훌륭한 프라이버시 툴입니다. 이것을 사용하면 업로드한 소프트웨어 배포본이 정말 여러분이 배포한 것과 일치하는지 확인할 수 있습니다. 아파치 소프트웨어 재단에서는 보안상의 이유로 개발자가 모든 소프트웨어 배포본에 서명하기 전까지는 Ibiblio.org와 같은 다른 서버로 미러링이 되지 않습니다. 그러나, 각각의 파일을 하나 하나 서명하는 것은 시간이 너무 오래 걸립니다. 좀 더 쉬운 방법이 있어야 할 것 같아서 한 방에 서브디렉토리에 있는 모든 파일을 서명하는 쉘 스크립트를 작성했습니다.

    #!/bin/sh

    DEFAULT_KEY=”[email protected]

    echo -n “PGP Key Password: “
    stty -echo
    read PASSWORD
    stty echo
    echo “”

    for FILE in $(find . -not ‘(‘ -name “*.md5″ -or -name “*.sha1″ -or -name “*.asc” ‘)’ -and -type f) ; do
        if [ -f “$FILE.asc” ]; then
            echo “Skipping: $FILE”
            continue
        fi

        echo -n “Signing: $FILE … “

        md5sum “$FILE” | cut “-d ” -f1 > “$FILE.md5″
        sha1sum “$FILE” | cut “-d ” -f1 > “$FILE.sha1″

        echo “$PASSWORD” | gpg –default-key “$DEFAULT_KEY” –detach-sign –armor –no-tty –yes –passphrase-fd 0 “$FILE” && echo done.
    done

    자기애

    선망을 멈추지 못한다면, 엉뚱한 것을 선망하느라 우리 삶의 얼마나 많은 시간을 소비할 것인가.
    Alain de Botton (알랭 드 보통), Status Anxiety (불안)

    삶에 대한 해석은 사람에 따라 판이하게 다르다. 어떤 이에게 삶은 열정을 담아 불살라야 할 대상이다. 다른 누군가에게는 나른한 오후의 낮잠처럼 있는 그대로의 모습으로 즐기는 무언가다. 다만 공통점이 있다면 지금 그리고 있는 삶의 모습이 정말 내가 원하는 것인지, 우리는 잘 모른다는 것이다.

    진정한 자기애란 무엇인지 생각해볼 시간을 가질 여유가 없다는 것은 불행한 일이다. 어느 사이 읽힐 시간도 없이 책상 한 켠을 채워가는 의미없는 도서들과 나도 모르게 행하는 타인을 향한 끊임없는 단편적 평가를 언제쯤이면 끝낼 수 있을까?

    2 Comments

    1. 전기양 said,

      February 24, 2006 at 1:58 pm

      200% 공감합니다 ㅠ-ㅠ
      (전 지난주까지 뒷자리에 앉아있던 사람 ㅎㅎ)

    2. Trustin Lee said,

      February 24, 2006 at 7:03 pm

      오… 이제는 먼 곳에 떨어져 있지만 앞으로 자주 들러주세요~!

    바지 지퍼

    지하철 안. 한 소녀가 내 옷깃을 부드럽게 잡아당겨 주의를 끈다. 그녀 손에 쥐어진 핸드폰이 나를 향하고 있다. 자세히 읽어 보니 ‘바지 지퍼’ 라고 써 있다. 내 바지 지퍼가 열려 있는 것을 보고 그런 것이라니, 정말 얼굴만큼이나 상큼한 발상이 아닐 수 없다. 생면부지의 사람에게 느껴지는 친근함은 상의를 끌어 내리는 황급함만큼이나 빠르게 찾아왔지만, 그녀는 어느 새 신도림 역 플랫폼으로 발을 내딛고 있었다.

    한 사람의 작은 아이디어가 누군가의 노곤한 아침을 활력으로 채워줄 수 있다는 사실, 그녀의 아이디어에 박수를…! (혹시 당신?)

    10 Comments

    1. pcpenpal said,

      February 23, 2006 at 5:56 pm

      다시 봐도 훌륭한 SENSE 네요.

    2. MegaWave said,

      February 23, 2006 at 6:50 pm

      민망했겠는걸~ ㅋ

    3. 여친 said,

      February 24, 2006 at 1:54 pm

      상황대략난감-.-;; 경고드려요ㅋ

    4. Trustin Lee said,

      February 24, 2006 at 7:01 pm

      네 그렇죠?

    5. Trustin Lee said,

      February 24, 2006 at 7:02 pm

      살다 보면 그런 일도 있는건데~ㅋ

    6. Trustin Lee said,

      February 24, 2006 at 7:02 pm

      경고 발동~ 주의하겠음! ^^;

    7. Ryon said,

      February 25, 2006 at 6:59 pm

      ㅋㅋㅋ

      모회사 이동통신 광고 같네…..

    8. Trustin Lee said,

      February 26, 2006 at 11:27 am

      ㅋㅋ

    9. 해빈 said,

      March 28, 2006 at 5:06 pm

      ㅋㅋㅋ ‘경고 발동’ by 여친.
      푸하하하, 너무 재밌어요~ ㅋㅋㅋ

    10. Trustin Lee said,

      March 28, 2006 at 5:43 pm

      ㅋㅋㅋ

    The One Wish for 2006

    2005년, 나는 다니던 회사를 그만두고 대학원에 입학했다. 하지만 이내 대학원 생활에 염증을 느끼고 휴학을 해버렸다. 그리고 지난 한 해 동안 집에서 오픈 소스 LDAP 서버와 그를 기반으로 한 신원 관리 (IDM) 솔루션을 개발해 왔다. 아쉽게도, 이제는 재정적인 문제로 더 이상 풀 타임으로 전념할 수 없게 되었다. 그렇게 2006년이 찾아왔다.

    2005년은 미국에서 컨퍼런스 발표를 했다는 점에서 정말 뜻깊은 해임에 틀림없다. 하지만 계속되는 재택근무, 자기 관리 미흡, 스트레스 등으로 몸이 약해진 것은 정말 가슴아픈 일이다. 사람이 건강하면 많은 근심을 할 수 있지만, 그렇지 못하면 단 한가지 근심 밖에는 가질 수 없다는 글귀가 유난히 와닿는다. 요즘 가만히 혼자 있게 되면 항상 건강을 염려하게 된다. 누군가와 함께 시간을 보내거나 무엇인가에 열중하고 있는 순간만큼은 그런 근심을 잊어버릴 수 있어 행복하다. 그래서 집에서 혼자 일하는 것은 외롭다기보다는 무섭다고도 할 수 있겠다.

    헬스 클럽에서 운동을 마친 뒤 혼자 시내에서 식사를 하고, 스타벅스에서 제일 싼 음료 – 페리에나 우유 – 를 사서 노트북으로 일하는 것이 최근의 생활이었다. 하지만 신촌의 스타벅스는 너무나 시끄럽다. 일이 풀리지 않거나 네트워크가 불안하면 정말 힘들다. 집에 돌아와 조용히 저녁을 즐길라 치면, 10여년을 함께 산 눈이 먼 – 하지만 여전히 사랑스러운 – 멍멍이가 나를 쉴 새 없이 보채기 시작한다. 한켠에서는 부모님이 끊임 없이 오늘 있었던 일을 세세히 물어보고 원치도 않는 음식을 권한다. 정말 폭발할 것만 같다. 지금 겪고 있는 모든 어려움을 뒤로 한 채 제 2의 삶을 살 수 있다면 얼마나 좋을까 상상한다. 하지만 그러기에 내 마음은 아직 따뜻하다. 어쨌든 나는 적어도 마치 그것이 현실이라도 된 양 열심히 상상한다. 그리고 부질없는 증오로 하루를 완벽하게 낭비한다.

    이렇게 하루를 보내고 나면 기분이 좋을 리 없다. 그리고 그런 하루가 나의 마음을 병들게 하고, 마음의 병은 또 하루를 망친다. 2006년에는 이 나쁜 고리를 끊고 싶다. 그것이 내가 내년에게 바라는 단 하나의 소망이다.

    노트: 이 글은 1월 초에 쓴 뒤에 번역이 늦어 공개하지 않고 있었습니다. 지금은 좋은 회사에 취직하여 열심히 일하고 있으니, 걱정하기보다는 즐거운 한 해를 기원합시다!

    In 2005, I quit my job to go to graduate school. Shortly after, I got sick of school life and requested leave of absence from the university. Since then, I’ve been developing an open source LDAP server and an open source identity management solution based on it for last 1 year. Unfortunately, now I cannot continue working on those projects as a full-time member due to my financial problem, and here came 2006.

    2005 is the memorable year that I spoke in the conference held in the US. However, continuing homeworking, a lack of self-management, and stress made me feel very depressed. “If people is healthy, he have many things to take care of. Otherwise, he cannot have anything but one; the anxiety for his health.” This saying I encountered in a book comes deep into my heart. I’m always afraid of my physical status when I’m alone silently. It is very happy for me to be with someone and to share my time because I can forget all the anxiety. Homeworking, therefore, is sometimes scary, rather than lonely.

    Recently, my daily life was to exercise in gym, to have a lunch alone in downtown, and to start to work at Starbucks with my laptop after buying the cheapest beverage such as Perrier or low-fat milk. Even though the life like this is not really bad, the Starbucks Shichon branch is too crowded to focus on my work. It makes me feel very difficult if the work doesn’t go OK or the network is unstable. If I try to enjoy my dinner silently at home, my lovely dog, who lived with me for more than 10 years, starts to bother me as usual. From another direction, my parents ask about what happened today and offer full dishes I don’t want actually. I feel like I’m a granade which is going to explode very soon. I imagine how great my second life will be only if I can put all these difficulties behind. I know. My heart is still too warm to abandon things like that. I just don’t give up imagining it like it’s real anyway, and the day is completely wasted thanks to these worthless worldly thoughts.

    Who will feel good at the end of the day like this? It makes my mind sick, and my mind ruins another day. This year, I want to break this bad cycle. That’s what I really wish for 2006.

    Note: This post was written in the first week of January. I just didn’t publish it because I didn’t have enough time to translate it. Now I’m working for a good company which is located in South Korea, let’s just say ‘happy lunar new year’ instead of worries!

    8 Comments

    1. MegaWave said,

      January 30, 2006 at 1:39 am

      취직이라…웬지 안어울려 -_-;

    2. Ryon said,

      January 30, 2006 at 11:39 am

      결국 대학원은 때려 친건가???

      그러게 내가 파트로 가라구 했잖아….

      어째든 회사 잘 다니구….

      새해 복 많이 받아라…

    3. Trustin Lee said,

      January 31, 2006 at 9:28 am

      이래뵈도 출퇴근 경력 2년 –v

    4. Trustin Lee said,

      January 31, 2006 at 9:29 am

      신쨩 안녕? 아직 때려친건 아닌데 여건상 그만두고 나중에 재도전하게 될 것 같다. 너도 올 한해 욜씨미 일하길 ㅋㅋ~!

    5. ologist said,

      January 31, 2006 at 11:04 pm

      snow관련 회사들어갔다는 소문을 들었는데…^^
      축하드리고, 멋진 회사생활…그리고, 더 active한 활동기대하겠습니다.

    6. Trustin Lee said,

      February 1, 2006 at 10:51 pm

      ㅎㅎ 도대체 어떤 분께 그런 첩보를; 격려의 말씀 감사드립니다. ^^;

    7. 오후 said,

      February 7, 2006 at 3:19 pm

      스타벅스는 어디든 많이 시끌거리지요.

      집이 신촌 근처라면 홍대 정문앞에 최근에 오픈한 스타벅스를 들러보세요.

      공간이 넓고 아직 잘 안 알려져서인지 꽤 호젓한 곳이랍니다.

      2층이나 3층으로 올라가면 꽤 한가롭게 원하는 일을 할 수가 있습니다.

      생각이 많으신 건 알고 있지만 너무 과하면 몸에도 영향을 미치니

      항상 조심하세요

      그럼…

    8. Trustin Lee said,

      February 8, 2006 at 10:51 am

      오후님 오랜만이에요. 요즘 블로그에 글이 안올라와서 소식이 궁금했답니다. 잘 지내고 계시지요?

      TGIF 홍대점 근처에 있는 ‘잔디와 소나무’ 라는 곳도 꽤 괜찮아서 홍대에 약속이 있을 때엔 그곳에서 일을 했었는데, 스타 벅스도 큰 곳이 하나 더 생겼나 봐요. 전에는 1층짜리 작은 것 뿐이었는데. ^^

      오후님도 행복하시고, 님의 블로그를 통해 다시 한 번 뵐 수 있기를 기대하겠습니다.