Food for Thought 02-May-2007

If I got to fail to find any principle from a person who was supposed to have really consistent system in his mind and behavior, is it me or he who’s changed?
어느날 정말로 일관적인 체계를 갖추었다고 생각했던 사람의 행동들에서 아무런 원칙도 찾아볼 수 없게 되었다면, 그것은 내가 바뀌었기 때문일까, 아니면 그가 바뀌었기 때문일까?
Personal network is not about doing something good to each other. It’s about doing something together with trust in each other even if it’s not equal to each other.
인맥은 서로에게 좋은 일을 함께 하는 것이 아니다. 한 쪽이 조금 부족하더라도 그 사람을 믿고 함께 하는 것이다.

Wedding Invitation

결혼식에 초대합니다.

Please click here to see the invitation card. (English)
청첩장을 보려면 여기를 클릭하세요. (Korean)

If you love Apache MINA or open source culture and have a plan to visit Korea in May, please step by and enjoy Korean wedding. Please also print the Korean version in case you need help from a passerby.

아파치 미나와 오픈 소스 문화를 사랑하시는 모든 분을 초대합니다!

This might be the first valid XHTML 1.0 Strict wedding invitation card. Otherwise it might be at least the first in Korea. Please let me know if I am wrong. Quite nerdy anyways, right? 🙂

XHTML 1.0 Strict를 만족하는 최초의 청첩장이 아닐까 하는데요. 적어도 한국 최초는 아닐까 싶네요. 만약 아니면 알려주세요. 어쨌든 꽤 nerdy하죠? 🙂

PS: Web Standards Solutions was very helpful for me.
PS: 실용 예제로 배우는 웹 표준이 많은 도움이 되었습니다.

Fixing Eclipse 'Organize Imports' Annoyance For Static Imports

Static import 문에 대한 이클립스의 ‘Organize Import’ 문제 해결하기

CTRL+SHIFT+O is probably the most pressed shortcut in Eclipse JDT. It cleans up any unused imports, expands ugly asterisks, and reorganizes the import statements in order. It was very nice until asterisks were considered ugly. Since static imports are introduced in Java 5, things have been changed dramatically. Who will ever want his or her static import statement with an asterisk to be expanded? Unfortunately, Eclipse JDT gets rid of the asterisks in static imports mercilessly.

CTRL+SHIFT+O는 아마도 이클립스 JDT에서 가장 많이 눌리는 단축키일 것입니다. 이 단축키를 누르면 더이상 쓰이지 않는 import 문은 사라지고, 보기 흉한 별표 import 문은 전개되고, import문은 순서에 맞게 재정렬됩니다. 별표 import 문이 보기 흉하다고 생각될 때까지는 참 좋았지요. Static import 문이 Java 5에 등장한 이후로 상황이 완전히 바뀌었습니다. 누가 별표 static import 문이 전개되길 상상이나 했겠어요? 안타깝게도 이클립스 JDT는 무자비하게 static import 문의 별표까지 없애버립니다.

What is fortunate though is that there’s an option that changes this default behavior.

그나마 다행스러운 것은 이 디폴트 값을 바꾸는 옵션이 있다는 겁니다.

  1. Choose ‘Window -> Preferences…’ menu.
  2. Choose ‘Java -> Code Style -> Organize Imports’ in the left pane.
  3. Set the ‘Number of static imports needed for .*’ to ‘1’ in the right pane.
  4. Click ‘OK’ button.
  1. ‘Window -> Preferences…’ 메뉴를 선택합니다.
  2. 왼쪽에서 ‘Java -> Code Style -> Organize Imports’를 선택합니다.
  3. 오른쪽에서 ‘Number of static imports needed for .*’를 ‘1’로 설정합니다.
  4. ‘OK’ 버튼을 누릅니다.

Wedding Photographing on April 8th

4월 8일 웨딩 촬영

Being a model for 5 hours was never easier than anything, but it was refreshing and exciting experience. Please click the image above to see the slide show.

5시간동안 모델이 된다는 것만큼 어려운 일도 없었지만, 신선하고 흥미진진한 경험이었습니다. 슬라이드쇼를 보려면 위 이미지를 클릭하세요.

Fixing 'undefined symbol: NS_InitEmbedding' error in Eclipse 3.2.2

이클립스 3.2.2에서 ‘undefined symbol: NS_InitEmbedding‘ 에러 고치기

I happily upgraded my Eclipse SDK to 3.2.2 as soon as it’s released, but it started to crash whenever a tooltip is displayed, printing out the following error message.

이클립스 3.2.2가 릴리즈되자 마자 기쁜 마음으로 업그레이드를 했는데, 툴팁이 표시될때마다 다음과 같은 에러 메시지를 출력하면서 죽어버리기 시작했습니다.

/home/trustin/.local/jdk/bin/java: symbol<br />lookup error: /home/trustin/.local/eclipse/<br />configuration/org.eclipse.osgi/bundles/5/1/<br />.cp/libswt-mozilla-gcc3-gtk-3236.so:<br />undefined symbol: NS_InitEmbedding

After a couple hours of Googling, I found specifying the Mozilla home fixes this problem.

한두 시간 구글링해본 결과 모질라 홈 디렉토리를 지정해 주면 문제가 해결된다는 것을 알게 되었습니다.

#/bin/sh<br /># This is my Eclipse launching script.<br /># 제 이클립스 실행 스크립트입니다.<br /><br /># Set the Mozilla home<br />export MOZILLA_FIVE_HOME=/usr/lib/mozilla<br /># and viola!<br />cd ~/.local/eclipse && ./eclipse <br />        -vmargs -Xms256m -Xmx768m <br />        -XX:MaxPermSize=256m

I won't be that kind anymore.

더이상 그렇게 친절하진 않겠어요.

I’m getting e-mail messages from people I have never known. Most people are very polite when they ask something, but some people hardly introduces himself and proceed to the main point; the questions he wants to ask such as gory details about his NIO code, which is never related with MINA. I won’t reply to such an impolite message anymore.

전혀 알지도 못하는 사람에게 메시지를 받곤 한다. 대부분의 사람들은 뭔가 부탁하거나 물어볼 때 아주 예의바르지만, 어떤 사람은 자신을 제대로 소개하지도 않은 채 본론 – 예를 들어 MINA와 전혀 관련도 없는 자신의 NIO 코드에 대한 자세한 이야기 – 을 늘어놓는다. 앞으로는 그런 무례한 메시지에 더이상 답장하지 않겠다.

The following is a good example of an annoying impolite message from someone who think me as his paid consultant. (I won’t translate it because it doesn’t deserve a drop of sweat.)

다음은 나를 돈내고 고용한 컨설턴트로 여기는 짜증나는 무례한 메시지의 좋은 예다. (땀한방울 조차도 아까워서 번역하지는 않겠다.)

안녕하세요. 분당의 ********** 입니다.

다름이 아니라 Nio 서버 관련 Datagramchannel read시 알고 있는것과 다른 현상이 발생하여 질문 드립니다.

아래와 같이 UDP Datagramchannel을 selector에 등록하고 클라이언트로부터 request시 서버가 selector로부터 read된 데이타를 읽어 service() 비지니스를 수행하는 서버를 만들었읍니다. 문제는 Client에서 20개의 request만을 쐈는데 서버에서는 20개 이상의 이벤트를 read한다는 것입니다. 가비지 서비스 호출로 인해 자원 낭비되는 현상이 발생하여 골치가 아프군요. 왜 이런 문제가 발생하는지 궁금하여 메일을 드립니다.

아래는 간단한 서버 스타팅 부분의 소스입니다.

… <The message ends right after the source code.> <소스 코드 나열 후 아무 말 없이 메일 끝남>

I don’t want to blame people in my blog, but I can’t stop it unwillingly.

블로그에서 사람을 욕하고 싶지는 않지만, 욕을 안할래야 안할 수가 없군요.

Talking about Open Source without Real Open Source Experience

It’s always easy to write misleading stuff when there’s not enough knowledge and experience, and here comes another troll.

Good luck, great skill, and tremendous effort would be required to become a committer of a famous open source project for a Korean developer, due to the cultural and linguistic barriers. However, is there any great meaning there? Why does he or she have to join the community where active development is in progress already? Probably for his own fame and career.Il-min Lee

What the hell is this guy saying? I’m 100% sure that he have never done any real open source activity at all. How could he write such an article with lack of the essential understanding about open source activity? His irresponsibility makes me sick.
Well, at least, the article addresses a good point that open source is not about great code quality.

오픈 소스에 대한 진짜 경험 없이 오픈 소스를 말하기

충분한 지식과 경험이 없을때 오해를 불러일으키는 내용을 쓰기한 항상 쉬운 일이다. 여기에 그런 분이 또 계시는군요.

언어, 문화적인 제약이 있는 대부분의 한국 개발자가 외국의 유명 오픈소스 제품의 커미터가 되는 것은 아주 운이 좋거나 대단한 실력과 노력이 동시에 필요할 것이다. 하지만 그게 무슨 대단한 의미가 있을까? 이미 두터운 커뮤니티를 통한 개발이 활발이 진행되는 곳에 구지 끼어 들어갈 필요가 뭐가 있을까? 자신의 명성과 커리어를 위해서라면 모르겠지만.이일민님

이게 무슨 기가 막힌 말인지 도무지 알 길이 없다. 직접 제대로 된 오픈 소스 활동을 해 보지 않고 쓴 글임을 확신한다. 오픈 소스 활동의 본질에 대한 이해가 매우 부족한 상태에서 어떻게 이런 글을 쓸 수 있는지, 그 무책임함에 치가 떨린다.
뭐, 적어도 그 글은 오픈 소스가 훌륭한 코드 품질에 대한 것은 아니라고 잘 지적하고 있긴 하다.

Reading 'Just For Fun' Again

I am suffering from crazy gastritis these days. Thank God, it’s Korean lunar new year holidays here, so I can be as lazy as I can staying at my parents’ house. Being lazy doesn’t ease my uncomfortable stomache though. Reading a book or an article sometimes helps me forget my physical pain, which drives me panic.
Today, I picked up ‘Just for Fun: The Story of an Accidental Revolutionary‘ from my bookshelf. I don’t remember what I felt from this book when I was a undergraduate student, but reading this book today as a committer made me feel a lot of things that can’t be expressed easily from my heart.

'리눅스 그냥 재미로' 다시 읽기

요즘 미칠듯한 위염으로 고생중이다. 구정이라 부모님 댁에 머물면서 빈둥거릴 수 있다는 게 정말 다행스럽다. 하지만 빈둥거린다고 불편한 속이 편해지는 건 아니다. 패닉으로 몰고가는 육체적 고통을 잊는데는 때때로 책이나 기사를 읽는 것이 도움이 된다.
오늘, ‘리눅스*그냥 재미로 – 우연한 혁명에 대한 이야기‘를 책장에서 집어들었다. 학부생이었을 때 이 책으로부터 무엇을 느꼈었는지는 기억나지 않는다. 하지만 오늘 커미터로서 이 책을 읽는 것은 내 마음속에서 쉽사리 표현하기 어려운 많은 것들을 느끼게 해 줬다.