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층짜리 작은 것 뿐이었는데. ^^

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

Tying Device Name in Linux Using ‘udev’

랩탑에서 윈도우즈를 사용해 왔었는데, 얼마 전부터 SVN 저장소 체크아웃이 파일명 길이 제한 때문에 실패해 작업에 어려움을 겪어 왔습니다. 궁여지책으로 리눅스를 설치하고 WiFi Radarxsupplicant로 무선랜도 성공적으로 설정했습니다만, 부팅할 때마다 이더넷 디바이스 이름이 eth0 가 되었다가 eth1 이 되었다가 하여서 매번 설정 파일을 손으로 수정해야 했습니다. 오늘 결국 참지 못하고 검색하여 udev rules 파일을 작성하면 해결할 수 있음을 알게 되었습니다. 다음은 udev rules 파일의 예입니다.

I’ve been using Windows on my laptop, but it started to fail to ‘svn co’ thanks to the infamous path length limitation. That’s why I’m on Linux now. It was really easy to configure sophisticated wireless network with WiFi Radar and xsupplicant. Only one problem was that the order that ethernet devices are detected is somewhat random. My Intel PRO/Wireless 2100 NIC is usually named as ‘eth0′, but sometimes as ‘eth1′. I had to modify the configuration files whenever the name changes since the last boot. Today, I googled about this issue and found that I can resolve it using a udev rules file. Following is the example of udev rules file:

KERNEL=”eth*”, SYSFS{address}=”<the lower-cased MAC address>”, NAME=”ethwireless”
KERNEL=”eth*”, SYSFS{address}=”<the lower-cased MAC address>”, NAME=”ethwired”
KERNEL=”eth*”, SYSFS{address}=”<the lower-cased MAC address>”, NAME=”ethfirewire”

이제 ethernet.rules 파일을 가리키는 심볼릭 링크를 /etc/udev/rules.d/ 디렉토리에 생성해 새 설정이 다음 부팅때부터 적용되도록 해야 합니다:

Now, we have to create a symbolic link to this file at /etc/udev/rules.d/ directory so the new settings get into action from the next boot:

# cd /etc/udev/rules.d
# ln -s ../ethernet.rules 030_ethernet.rules

재부팅하기 전 /etc/network/interfaces 나 /etc/wifi-radar.conf 같은 네트워크 설정 관련 파일의 인터페이스 이름을 적절히 변경하는 것을 잊지 마세요.

Please don’t forget to rename network interface names in configuration files such as /etc/network/interfaces and /etc/wifi-radar.conf.