Articles
- 신한은행 창업주 이희건 회장의 50훈 (발췌)
지켜야 할 것을 끝까지 지키는 냉정함, 버려야 할 것을 단호히 버리는 용기, 무엇을 지키고 무엇을 버릴지 판단할 수 있는 지혜를 연마해 사람의 기대에 당당히 부응하도록 하라. 재물을 잃는 것은 조금 잃는 것이고, 신용을 잃는 것은 많이 잃는 것이다. 그러나 용기를 잃는 것은 전부를 잃는 것이다. 고객을 대할 때는 항상 고객도 잘 ... more
- Removing Old Continuum Build Results Automatically
I am using Apache Continuum as a continuous integration server to test Netty, the Java NIO Client Server Network Application Framework. I’m pretty satisfied with the CI server since it’s running more than 1000 Netty test cases about 4000 times a day with 7 different JDKs (see the live ... more
- Ant2IDE - IDE project file generation from Ant build.xml
Ant2IDE generates Eclipse (or other IDE-specific) project files with proper classpath and source folder settings from Ant build.xml automatically. I wrote ant2eclipse long time ago with my crude shell script skill to generate Eclipse project files from an Ant build.xml file. In Ant2IDE, I extended the idea so that it works in ... more
- Opening a new tab in an existing GNOME terminal window
GNOME terminal has great support for tabbed terminal sessions. You can simply open a new tab by pressing CTRL+SHIFT+T and it’s very convenient. However, it seems like there’s no straightforward way to ask gnome-terminal command to reuse an existing window and add a new tab there. I tried various ... more
- 내가 하는 일은 세상을 (어떻게) 바꾸는가
스스로 최선을 다하게 되는 데는 여러 가지 이유가 있기 마련이다. 나는 주로 내가 하는 일이 이 세상을 어떻게 바꾸게 될 것인가에 대해 주로 생각한다. 그리고 어느 시점까지는 그런 생각을 통해 많은 부분에서 성공적인 시간을 보내 왔던 것 같다. 그런데 최근의 여러 가지 일들을 통해 이 주제에 대해 재고하게 될 ... more
- /me started to twit
You can see what I am doing now. 좀 더 언어상 편안한 미투데이 도 시작했습니다.
- Performance Comparison between NIO Frameworks
Most NIO frameworks can saturate 1 gigabit ethernet at some point. However, some frameworks can saturate the bandwidth with the smaller number of connections while others can not. The performance numbers of the 5 well-known open source NIO frameworks are presented here to help you figure out the excellence of ... more
- 유명인으로 산다는 것
누구나 생애 한 번쯤 생각해 보았을 것이다. 자기 자신이 (적어도 어렸을 적에) 대통령이나 연예인이 된다거나, (아주 조금 더 현실적으로) 이름난 엔지니어가 된다거나. 하지만 조금이라도 남의 이목을 받아 본 사람이라면 유명인으로 산다는 것이 얼마나 힘든 일일 지 상상할 수 있다. 언제부턴가 내가 모르는 사람이 나를 이야기하고 알아본다는 신선한 충격은 잠시나마 ... more
- Inserting Google Analytics Tracking Code using Shell Script
In most cases, you should be able to configure your CMS or blog template to insert the Google Analytics JavaScript tracking code at the end of every page in your web site. However, you sometimes need to install the tracker code into static HTML pages which are not managed by the ... more
- Netty 3.0.0.CR4 released with a Getting Started Guide
I wanted to write a decent guide book for the Netty project to help users get started with it very quickly, but it was not really easy to learn DocBook XML and to learn how to override several default JBoss.org DocBook stylesheet settings within a short period of time. ... more
- Streaming Audio from Windows to PulseAudio Server
PulseAudio is a great network audio server for Linux. It allows me to stream audio between machines. However, the biggest problem with PulseAudio is that it doesn’t have a descent client implementation for Windows. There are a couple known workarounds such as using WinESD, but they are ... more
- Guestbook page created: 방명록 페이지 신설
I’ve created a guestbook page so you can say hi to me. Let’s be the first! :) 안부 인사를 받을 수 있도록 방명록 페이지를 신설했습니다. 1등이 되어 봅시다! :)
- 영한 혼용과 똘레랑스
영어는 우리 생활 곳곳에 침투해 있다. 어떤 사람은 그것에 더 많이 익숙하고 다른 이는 그렇지 못하다. 나는 그 중간 즈음에 위치했다고 생각하고 있다. 그래서일까, 외국 생활을 오래 했다거나 외국계 회사에서 오래 일했다는 이유로 한국어 문장 속에서 영어를 혼용하는 것이 아직은 거북하게 들린다. 대표적으로 다음과 같은 것들 ... more
- 추석맞이 이직 1년 결산
9월 1일, 이직을 했다. 나는 덕택에 풀타임 오픈 소서 및 수석 소프트웨어 엔지니어라는 명칭을 얻었다. 전보다 훨씬 많은 급여를 받게 되었다. 거기다가 마치 ‘노동의 미래‘나 ‘세계는 평평하다‘를 그대로 옮겨 놓은 듯한 재택 근무 작업 환경도 차렸다. 무엇을 사더라도 예전보다도 ‘더 멋진’ 물건을 찾기 시작했다. 더 많은 음반이 ... more
- 한국 미나 사용자께 드리는 네티로의 전환 권고
미나 프로젝트에서 손을 뗀 후, 지난 약 3개월간 네티 프로젝트 에 상당한 시간을 할애하였고, 그 결과 현재 API 와 구현 모두 안정화 단계에 접어들었습니다. 적절한 문서화, 공개 가능한 성능 테스트 보고서 작성 및 웹 사이트 컨텐츠 보강을 마치는 대로 최초의 안정 버전이 릴리즈될 예정입니다. 지금까지 적어도 2 주에 한 번씩은 ... more
- Netty reaches 75%+ test coverage. What's next?
Netty 3.0.0.CR3 was my first serious attempt to achieve high test coverage by writing many test cases in my life, and it was very exciting for me. I was able to fix more than a dozen bugs with them. EclEmma was very helpful to review all the source code and ... more
- Netty moves its nest from GoogleCode to JBoss.org with its first release candidate
Finally, I have managed to move Netty to JBoss.org and announce the first release candidate. If you were using Google Groups, you need to subscribe again. Here’s the new URL: http://www.jboss.org/netty/ and here are the related announcement messages: The Netty project moved to JBoss.org Netty 3.0.0.CR1 released: the first release candidate!. For those who don’t ... more
- Using GNOME Evolution with a huge IMAP mailbox
Update: The latest development snapshot of Opera 9.5 has full support for virtual folder with powerful filter which supports a regular expression. Let’s give it a try! Adding GPG signing and better multiple identity support would be an icing on the cake. I’ve been struggling with various mail clients ... more
- Filling the gap between blocking I/O and NIO
A non-blocking NIO Channel and a blocking InputStream have inevitable impedance mismatch. Because an InputStream is supposed to block for every read operation unless there’s some data available in the buffer, any InputStream-based decoder implementation can’t be used with a non-blocking NIO application right away. A common workaround is to ... more
- A problem with recent RSS feeds in gleamynode.net
Brett Porter kindly pointed me out that there’s some problem with the RSS feed of gleamynode.net. I have updated FeedBurner information along with the meta tags to make sure the same problem doesn’t occur again. Also, please make sure that you are using the FeedBurner RSS feed if ... more
- 네티 한국어 사용자 그룹을 개설했습니다.
원문은 여기 미나 프로젝트를 떠난 지도 상당한 시간이 흘렀습니다. 네티 프로젝트 를 시작하고 처음부터 모든 것을 다시 작성하느라 바쁘게 보낸 몇 달 간이었습니다. 이제 버그 리포트도 들어 오고 커뮤니티가 형성되어 가는 과정이어서 흐뭇합니다. 그동안 국문으로 여러분들께 미나에 대한 지원을 하고 싶었지만 재단 정책을 포함한 여러 가지 이유로 하지 못해 ... more
- Using Fail2Ban to refuse brute-force attacks
I have been using a quick and dirty shell script to update /etc/hosts.deny file when brute-force attack flows into my server. It was pretty effective but was not effective enough to block the break-in attempts immediately. Today, I found a better solution – Fail2Ban. It scans the ... more
- Opera 9.5 and freezing Adobe Flash plugin for Linux
The recent regression of Adobe Flash plugin (or Opera?) was causing Opera to freeze whenever I open a web page with Shockwave Flash content. I finally found the workaround for this issue in the Gentoo Bugzilla .
- A nice quote about computer programming
From Larry O’Brien and Bruce Eckel in Thinking in C#: Computer programming is tremendous fun. Like music, it is a skill that derives from an unknown blend of innate talent and constant practice. Like drawing, it can be shaped to a variety of ends – commercial, artistic, and pure entertainment. Programmers ... more
- Introducing APIviz - Java API Visualizer
I’ve just released APIviz. APIviz is a JavaDoc doclet which extends the Java standard doclet. It generates comprehensive UML-like class and package diagrams for quick understanding of the overall API structure. Please take a look at the sample report, give it a try to your application and let me ... more
- IBM developerWorks Interview with Trustin Lee
December 2006, copied from: http://www.ibm.com/developerworks/kr/interview/2006_12.html 최근 아파치 디렉터리 프로젝트의 서브 프로젝트였던 MINA가 TLP (Top Level Project)로 승급되면서 PMC (Project Management Committee) 의장으로 선출됐다고 들었습니다. MINA 프로젝트에 대해 설명해 주세요. 기존의 아파치 프로젝트는 HTTP 서버 관련 프로젝트만 진행했지만, 점차 웹 서버 외에 다른 프로젝트들이 생겨나고 있습니다. 이를 관리하기 위한 조직이 PMC입니다. 제가 의장으로 ... more
- Project Archive
The following is the list of the project in which I was involved once upon a time. I don’t maintain or take part in them anymore: Apache MINA Project – Cofounder & the first chairman Apache Directory Project – Committer & emeritus PMC (Project Management Committee) member Lorentz – A Generic object ... more
- 혼자 갖는 사색의 시간
/etc/cron.daily의 logwatch가 보내 온 메시지가 어느덧 시간이 깊은 밤 속으로 접어들었음을 깨닫게 한다. 오랜만에 혼자서 집을 지키니 왠지 모를 불안감도 들고 대체적으로 기분이 이상하다. 하지만 지금쯤의 시각에 혼자만의 시간을 가져 본 것이 얼마만이냐. 그렇기에 이 때를 틈타 오랫동안 연락하지 못한 지인들에게 밀린 답장도 하면서 이런 저런 생각이 ... more
- Rewriting everything from ground up
맨땅에서부터 전부 다시 짜기It's probably my fifth time to write a network application framework from scratch. They were all event-driven. The first and the second one (Netty 1) were based on blocking I/O. The others (Netty 2, MINA and Netty 3) are based on non-blocking I/O.아마 네트워크 ... more
- Clarification of the rumors around MINA and me
미나와 저에 대한 소문의 해명Since I expressed my mixed feeling into my previous blog post, I heard many rumors around MINA and me. I communicated with persons who contacted me privately, but it seems like more and more people are interested in this issue. Therefore, I’d like to ... more
- 'Make it mutual' by Olivia
I listen to Olivia more often than before these days. My favorite of favorites is 'Make it mutual.' I repeat and repeat falling into an endless loop of her voice.
- So Long, MINA!
Before I begin, I'd like to admit I learned a lot of great things and met many nice people in the foundation. It was an exceptional experience for me to make MINA one of the world's best network application frameworks. I believe MINA was a good example which ... more
- 여기는 샌프란시스코 자바원 2008
생각보다 외국 나갈 일이 잦다. 이번에는 자바원 2008 발표 겸 아내와의 결혼 1주년 기념 겸 해서 샌프란시스코에 왔다. 잊어버리기 전에 몇 가지 적어 둘까 한다.샌디에고나 올랜도와 마찬가지로 샌프란시스코는 대체적으로 넓직넓직하다. 건물도 크고 길도 넓다. 뉴샤텔이 가진 아기자기함은 없지만 느껴지는 여유는 뉴샤텔 못지 않은 듯 하다. ... more
- Long technical IRC conversation
It's been a long time ago since I took part in a technical IRC conversation. Today, a few core community members of the Apache MINA project got together in the IRC channel and discussed about providing a way to build an extremely high performance network applicatiion by providing means ... more
- 그 다음은 무엇이 되어야 좋을까?
Update: 아직은 조심스럽지만, 의외로 오해가 잘 풀려 계속해서 미나 프로젝트에 공헌할 수 있게 될 것 같습니다. 좀 더 기술적인 논의에 집중할 수 있게 되지 않을까 생각해 봅니다. 그래도 이젠 무엇이 되어야 좋을 지는 생각해 볼만한 문제가 아닌가 싶습니다.세상엔 원치 않게 서로를 상처입히는 일이 많이 생긴다. 시간이 지나 ... more
- Changing the default sound card automatically in Linux
Many people including me usually use a USB sound card or a USB speaker to enjoy noise-free high-fidelity sound. I simply don’t understand why all the main board manufacturers ship with a built-in sound chipset which just sucks. It’s not an exception for all laptops. In a non-portable system ... more
- Switching from GNOME to XFCE 4.4
I recently switched from GNOME to XFCE + SLiM, which is more light-weight. I am very satisfied with XFCE because of smaller footprint and less unnecessary applications.However, I have encountered a few small issues.Problem with opening a URL from ThunderbirdClicking a URL in Thunderbird doesn't open a browser at ... more
- URL Monitor - Getting Notified When a Web Page is Updated
I've been using RSS Generator for a while to generate RSS for web pages which don't provide RSS. However, the service often goes unreliable probably due to enourmous load from various RSS readers. Another caveat was that the URL of the generated RSS is so long that it's ... more
- 남자는 두쪽을 가져야 한다.
프레인 대표이사 이준영님의 블로그에 올라온 글입니다. 읽다 보니 와닿는 바도 있고 재미도 있어서 올려 봅니다. 그런데 왜 이렇게 줄바꿈을 많이 하시는지. 줄바꿈 정리하다가 RSI 입겠군요. ㅡㅡ;소프트웨어도 사용자 편의성이 좋으면서 내부 아키텍처도 우수해야 하듯, 나에겐 어떤 두 가지가 필요한지 고민해 보게 됩니다.출처: http://tinyurl.com/65dmoq애니콜은 말했습니다. 세상은 세가지로 이루어졌지요. ... more
- 나의 메일 관리 원정기
글을 쓰려고 마음을 먹으면 항상 먼저 떠오르는 할 말이 바로 시간이 너무 빠르게 흘러간다는 것이다. 그럴 때마다 내가 뭐 그리 바쁜 위인이라도 되는지 허탈한 웃음이 나오곤 한다. 그런데 요즘에는 정말 하는 일도 없이 시간이 흐르는 것 같다. 늦잠 자랴 아기 돌보랴 식사하고 한숨 돌리랴. 이런 삶의 ... more
- The Workarounds for Eclipse Crash with JDK 1.6.0.05+
Eclipse crashes almost always with SUN JDK 1.6.0.05 or above. There are two workarounds:Use SUN JDK 1.5.Prevent org.eclipse.core.internal.dtree.DataTreeNode.forwardDeltaWith() from being compiled by the hotspot engine:cd /usr/local/java/eclipseecho "exclude org/eclipse/core/internal/dtree/DataTreeNode forwardDeltaWith" > .hotspot_compilerI prefer the second solution because JRE 1.6 outperforms JRE 1.5 in performance, which means better IDE responsiveness etc ... more
- Adding the latest beta SUN JDK to the Gentoo <tt>java-config</tt> VM list
Gentoo Linux has a very nice java integration; you can have more than one JDK distributions in your machine and switch the VM in system-wide and per-user manner. To switch your current VM, you can simply enter 'java-config --set-user-vm=VM' and that's all.However, you need to know how java-config works ... more
- 슬픔에 대한 용기 (Mut der Trauer) - 에리히 케스트너 (Erich Kästner)
요즘 SBS 에서 방영중인 그여자가무서워라는 드라마가 있다. 시청자 게시판에는 혹평 일색인듯 하지만, 나는 미우나고우나와 함께 아주 재미있게 보고 있다. 지난 110회에서는 비주얼 노벨의 한 장면처럼 시를 흘려 보내는 신선한 시도가 이루어졌는데, 그 시의 아름다움과 배경에 뿌려지는 최영림의 시선에 대해서는 누구라도 섣불리 혹평할 수 없을 듯 하다:슬플 때는 거리낌 ... more
- 아기를 바라보며 느끼는 것들
밤이 깊었다. 오래 전 사진에서 느껴지는 조금씩 늙어 가는 나와 내 아내의 모습은 빠르게 흐르는 시간을 실감케 한다. 빠르게 흐르는 시간과는 대조적으로 나의 머리는 가끔씩 무엇을 해야 할 지 쉽게 잊고 만다. 이런 상황을 맞딱뜨리고 있자면 왠지 모를 불안이 엄습한다.불안.불안 장애로 신경 정신과 치료를 받아 온 지도 ... more
- Fujitsu S6510 + MTRON 30GB SSD = Cool!
I purchased a new laptop. I wanted something very light and high-performing one, which means I have few candidates. The candidates were Lenovo ThinkPad X61(s), Toshiba Portage R500 and Fujitsu S6510. Toshiba was excluded because of its infamous customer support in Korea. I almost chose X61, ... more
- 'Donate' button created
'Donate (기부하기)' 버튼을 만들었습니다.I know I will never become a millionare by adding a single button to this very personal blog, but I've just added the PayPal 'Donate' button on the right side of this page. Please feel free to donate for whatever I did for your goodness. ... more
- Turning off Radeon LCD backlight when GNOME screensaver is activated
I wrote a quick and dirty script that turns on and off ATI Radeon LCD backlight by monitoring DBUS events to detect the activation and deactivation of GNOME screensaver. It requires the radeontool package to be installed and it needs to be set with suid flag (i.e. chmod u+s ... more
- A few great news
몇 가지 멋진 소식 My wife and I got Chae-eun, a cute new born daughter, on Feb 9th 2008. I will be speaking about Apache MINA in JavaOne 2008. 귀여운 딸 채은이가 2월 9일에 탄생했습니다. 2008년 자바원 에서 아파치 미나 에 대해 발표하게 되었습니다.
- Introduction to Open Source at Winter of Code Boot Camp, 2008
The following movie is the recording of my speech in the Winter of Code boot camp, 2008. I explain what open source is and what motivation lies behind the open source movement.다음 영상은 2008년 윈터 오브 코드에서 제가 발표한 것을 녹화한 것입니다. 오픈 소스란 무엇이고 그를 뒷받침하는 동기에 ... more
- ant2eclipse - Converts Ant build.xml into Eclipse .classpath
Update: ant2eclipse has been deprecated by Ant2IDE. Please use Ant2IDE instead. I wrote a simple shell script called ‘ant2eclipse‘. It runs your ant build file with -v switch, gathers essential information such as source path, its output patch and the JAR path that the project depends on, and generates ... more
- rpmdepclean - Uninstalling unnecessary RPMs
I spent a couple of sleepless nights to switch from Gentoo Linux to Fedora Core, since I became a Red Hat employee. Although Fedora Core is really a nice Linux distribution, I still miss the concept of 'world' in Gentoo.When a user installs a Gentoo package, the name of ... more
- My Favorite Text Editor - SciTE
Finally, I've found the text editor that fits exactly to me, highly-customizable, feature-rich and fast-launching. It's called 'SciTE'. Because the command is not so comfortable to type, I created two symbolic links after uninstalling gedit.$ ln -s /usr/bin/scite notepad$ ln -s /usr/bin/scite geditThe following is my ~/.SciTEUser.properties:code.page=65001output.code.page=65001LC_CTYPE=ko_KR.UTF-8check.if.already.open=1position.left=400position.top=150position.width=820position.height=620buffered.draw=0tabbar.visible=1tabbar.multiline=1toolbar.visible=1statusbar.visible=1caret.fore=#FF0000caret.width=2caret.line.back=#00FF00caret.line.back.alpha=20line.margin.visible=1line.margin.width=4margin.width=16blank.margin.left=4blank.margin.right=4wrap=1wrap.style=2cache.layout=3output.wrap=1output.cache.layout=3wrap.visual.flags=1wrap.visual.flags.location=3wrap.visual.startindent=0edge.column=79edge.mode=1edge.colour=#C0DCC0selection.fore=#006000braces.check=1braces.sloppy=1# Brace ... more
- The Reason Why Time Goes By So Fast Like This
... is probably because I am having really great time in Red Hat. There was a Remoting team meeting in Switzerland last month and I also attended the October new hire orientation in Singapore. Both countries were fantastic to me. People, city ... almost everything. Especially, ... more
- Food for Thought 23-Oct-2007
Sell the product on what it is actually does well (and no more). Resist the temptation to promote it via bogus recommendations. Perfect is the enemy of good. -- Linus Torvalds
- Interesting Search Results Related with Network Application Frameworks (or NIO Frameworks)
네트워크 어플리케이션 프레임워크 (또는 NIO 프레임워크)와 관련된 흥미로운 검색 결과들Google returns:구글 결과를 보면:Netty (the ancestor of MINA) and Grizzly for 'NIO framework'MINA for 'network application framework'None of the above for 'server framework' or 'client framework''NIO framework'에 대해서는 Netty (MINA의 조상)와 Grizzly를 리턴하고,'network application framework'에 대해서는 MINA를 리턴하고,'server framework'나 'client framework'에 ... more
- God is fair to everyone
신은 누구에게나 공평하다.If not, why did I have stolen my brand-new boardwalk D7?Argh, I am pretty pissed off...아니라면 새로 산 boardwalk D7을 잃어버릴 리가 있겠습니까?아, 열받네요...So, I am mending the barn after the horse is stolen. Arrrrrrrrrghh! :'(그래서 소 잃고 외양간 고치고 있습니다. 아아아아아아아아아! T^T ... more
- Me as an ASF Member and a JBOSS/RedHat Employee
아파치 소프트웨어 재단 멤버이자 JBOSS/RedHat 직원으로서의 나Two and half years have passed since I started to contribute to the Apache Software Foundation. I couldn't get involoved many projects due to time constraint, but I improved open source software with many people. I wrote the code of the project ... more
- 2007.05.06-11. Honeymoon Hawaii
하와이 신혼여행Young-hee and I stayed in Hawaii for 4 days; the first 2 days for Maui island and the remainder for Oahu.영희씨와 저는 마우이섬 이틀 오아우섬 이틀 해서 하와이에 4일 동안 신혼여행을 다녀왔습니다.Young-hee rented a car in Maui, and it was her first real driving since she obtained her driver's ... more
- Food for Thought 050207
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?어느날 정말로 일관적인 체계를 갖추었다고 생각했던 사람의 행동들에서 아무런 원칙도 찾아볼 수 없게 되었다면, 그것은 내가 바뀌었기 때문일까, 아니면 ... more
- 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 ... more
- 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 ... more
- 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시간동안 모델이 된다는 것만큼 어려운 일도 없었지만, 신선하고 흥미진진한 경험이었습니다. 슬라이드쇼를 보려면 위 이미지를 클릭하세요. ... more
- Fixing '<tt>undefined symbol: NS_InitEmbedding</tt>' 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가 릴리즈되자 마자 기쁜 마음으로 업그레이드를 했는데, 툴팁이 표시될때마다 다음과 같은 에러 메시지를 출력하면서 죽어버리기 ... more
- 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 ... more
- 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 ... more
- Why does a platform software fail? (2nd ed.)
플랫폼 소프트웨어는 왜 실패할까?Abstract (요약문)Why is developing a good platform software difficult? It is because developing a platform software is a procedure that solves two problem domains; business domain and platform software API design domain. The biggest problem is that recognizing and fixing an API design problem is ... more
- 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 ... more
- September 3 - Kyungju Tour
9월 3일 - 경주 여행Young-hee and I went to Kyungju, an ancient capital city of the Silla dynasty, last year. We didn't enjoy all aspects of Kyungju because of our laziness, but I was so happy to see her astonished by King Munmu's tomb, probably the only sea tomb ... more
- A Samba <tt>smbpasswd</tt> problem with passwords longer than 14 characters
패스워드 길이가 14자 이상일 때 삼바 smbpasswd 문제I recently switched to Gentoo Linux due to some random problem with dmraid in Ubuntu Linux. It was perfect at least for dmraid issues, but I realized again that it's not really a kind Linux distribution after dealing with other various issues ... more
- InterfaceLIFT - Free Wide High Resolution Wallpapers!
InterfaceLIFT I found unbelievably large amount of free wide high-resolution wallpapers there, which fits nicely with my 30" Apple Cinema Display. 무료 와이드 고해상도 월페이퍼 (바탕화면 이미지) 가 엄청나게 많은 사이트를 발견했네요. 제 30인치 애플 시네마 디스플레이에도 딱 맞습니다.
- "Bash Here" Context Menu with PuTTYcyg
PuTTYcyg를 이용한 "Bash Here" 컨텍스트 메뉴PuTTY is an excellent terminal software. That's why Mark Edgar added Cygwin support there. Consequently, it is very natural to replace crappy "Open Command Prompt Here" with PuTTYcyg, right? Then, let's go ahead!PuTTY는 환상적인 터미널 소프트웨어입니다. 그래서 Mark Edgar가 거기에 Cygwin ... more
- 위장을 튼튼하게 하고 싶다.
지난 주에 감기 몸살로 고생하다가 이내 회복해 참 흐뭇했는데, 몸살이 같이 데려온 장염은 쉽게 낫지를 않는다. 며칠 전 갑자기 악화되면서 순식간에 수척해지고 몸무게가 줄었다. 참다 못해 병원에서 주사를 맞아 부모님 댁에서 회복중이다. 다른 데보다 위장이 아프면 더 고생스럽다. 예전에 복막염을 앓던 날이 떠오르기 때문이다. 약한 ... more
- Spring Framework의 열기를 느끼며
나는 Spring framework의 장점을 UNIX의 장점에 비유하곤 한다. POJO에 대한 메타 모델을 정의하고 이를 바탕으로 POJO의 Factory 및 Registry 역할을 한다는 아주 기본적인 생각으로, 그 역할 정의를 훼손하지 않고 다양한 확장을 통해 수많은 기능을 제공하기 때문이다. 이러한 확고한 디자인 철학은 UNIX와 마찬가지로 감동을 가져다 준다.그러나 이런 구조적 아름다움은 ... more
- A Few Tips on JavaDoc
JavaDoc에 대한 몇 가지 팁It's another Java 5-ish post which might not attract people, yet is very important. I find a lot of wrong or out-of-date JavaDoc due to lack of understandings on useful JavaDoc tags. Bad JavaDoc affects the quality of in-house softwares seriously, so knowing and ... more
- 2007 is now! What's my resolution?
이제 2007년이다! 나의 결의는?Personal Stuff지금까지 행복했던 것 보다 더 행복해진다. 영희씨와의 결혼 생활을 시작한다. 잘 먹고 잘 운동하여 건강해진다. 마음의 평정을 되찾는다.Be happier then ever. Start to live in harness with Young-hee, my girl friend. Eat well, exercise well, and be healthier. Take my ... more
- The Memory of Black Tea
홍차의 추억Once upon a time when many people was into green tea, I tried black tea because I always had wanted to be special. But it was too bitter for me because it was just a cheap tea bag listed just to provide an assortment of a menu. ... more
- ALSA OSS Emulation with Multiple Sound Cards
사운드 카드 여러개일 때의 ALSA OSS 에뮬레이션aoss is a useful command that forwards all OSS (Open Sound System) requests to ALSA (Advanced Linux Sound Architecture) device drivers transparently, but it's sometimes not so easy to use when an executable is wrapped by a shell script like VMware. The most ... more
- Presentation Material: Java 5 Generics
발표 자료: Java 5 GenericsDownload here. (Korean)여기에서 받으실 수 있습니다.Yes, I know. Java 6 has been released. But it is also true that not all developers know how to design their API with Generics, and it's because they might not have a chance to catch up this big ... more
- Setting <tt>svn:keyword</tt> Property Automatically
svn:keywords 프로퍼티 자동으로 설정하기Subclipse dropped 'Add Keywords...' dialog since 1.1.7. I couldn't understand why they got rid of such a useful feature, but now I figure out that it is because there's much easier way to do that. Yes, I don't need to forget to set the property ... more
- Inner Game - Work as Experiential Learning
이너 게임 - 체험적 학습으로서의 일I drew a mind map of 'Inner Game of Work', written by Timothy Gallwey. It was quite an interesting read though there were several boring sections. (Sorry for not publishing the mind map in English. I don't have time to translate it ... more
- Packet sniffing using tcpdump
tcpdump를 이용한 패킷 훔쳐보기It is easy to monitor packets being exchanged by network applications in your desktop machine, because we have a great software called 'Ethereal'. But what if we are working on a remote console without any GUI? We have to use tcpdump. The following is ... more
- Tabbed Editing with GViM and Nautilus File Manager
The default text editor of GNOME desktop environment is 'gedit'. I prefer ViM because it has much better functionality and customizability, and moreover, it launches faster. One thing I've been missing from GViM, a GUI version of ViM, was tabbed editing. GViM already supports tabbed editing, but ... more
- Installing Subversion 1.4 in Ubuntu Edgy Eft (6.10)
Ubuntu Edgy Eft (6.10)에서 Subversion 1.4 사용하기I've been using Subversive for a while because one of my colleagues told me it's better than Subclipse, but I didn't see any advantage from it, uninstalled it, and installed the latest version of Subclipse.Subversive가 좋다는 이야기가 있어 사용하다가 그다지 좋은 점을 느끼지도 못했고 ... more
- 다양한 객체 지향 원칙들이 존재하는 이유
재미있게 주몽을 보고 잠깐 들어와 보니 이런 저런 다양한 글들이 Context 개체가 남발되고 있다거나, 의미의 면적이 좁은 인터페이스를 제공하거나 그에 의존해서는 안된다거나, 최소 권한의 원칙과 같은 이야기를 하고 있습니다.다 맞는 말씀입니다만, 저는 이런 원칙들의 궁극적인 목표를 생각해야 할 필요가 있다고 봅니다. 그것은 바로 소프트웨어 개발 비용을 절감시키는 것입니다. ... more
- Modifying Default ulimit Values for a Normal User in Linux
Linux에서 일반 사용자의 default ulimit 값 수정The default value of ulimit -n (the maximum number of open file descriptors per process per user) is 1024 in Ubuntu Linux. There's no problem with this default value in my daily life, but I start to get 'Too many open files' errors ... more
- 인생, 책처럼은 되지 않는다!
요즘 잠이 많이 부족하다.출퇴근 시간 다 합쳐 네 시간이다. 차 안에서 자고 싶지만 계속 버스 안에서 잤더니 목도 허리도 아파서 잠도 더 이상 못자겠다. 이사를 하려고 해도 돈이 너무 아깝다. 2억 가까운 돈을 전세금으로 써야 한다니, 그 돈이 있으면 차라리 펀드를 들겠다. 결혼할 때까지 이 생활을 ... more
- 배고픔의 자서전
계절 탓에 일찍 드리워진 암흑을 헤치고 나아가는 버스 안에서 쏟아지지 않는 잠을 청했다. 하지만 고단한 몸은 삶의 의미를 맹목적으로 질문하고 있었다. 아마도 낮에 읽은 '배고픔의 자서전'에서 아멜리 노통브와 니쇼상이 나눈 마지막 대화 때문이리라."아무려면 어때? 아직은 이렇게 목숨이 붙어 있는 걸."미칠것 같은 공허함, 결핍, 두려움, 절망 속에서 그래도 우리는 ... more
- mina.apache.org
10월 25일 ASF 보드 미팅 결과, Apache Directory Project의 서브 프로젝트였던 MINA의 TLP (Top Level Project) 승급 요청이 공식적으로 승인되었습니다. 곧 mina.apache.org 도메인 하에서 프로젝트를 진행하게 됩니다. 저는 투표를 통해 Apache MINA PMC (Project Management Committee)의 의장으로 선출되었습니다. ASF에서 신규 프로젝트에 대해 ASF member가 아닌 committer가 첫 ... more
- Remember the Milk 완전 한글화
예전에 소개드린 바 있는 Remember the Milk가 완전 한글화되었습니다. RTM의 번역 시스템은 특이하게도 커뮤니티 멤버들이 웹 인터페이스를 통해 번역 데이터베이스에 문구를 집어 넣도록 되어 있습니다. 물론 운영자나 원 번역자의 검토를 거쳐서 최종 서비스에 통합되기는 하지만 정말 편리하고 인상적인 번역 시스템이 아닐 수 없습니다. 번역이 매끄럽지 못한 부분이 ... more
- June 15~18: Saipan Tour
첫눈 임직원분들과 함께 NHN 합병 발표 전에 다녀온 사이판 여행 사진들입니다. 예전에 포스팅한 적이 있지만, 내용이 없어서 몇 자 적어 봅니다.첫눈 직원분들 얼굴도 약간 들어 있네요. 첫눈에서의 시간은 특정 인물과의 트러블이 많았고, 덕택에 힘들면서도 마음이 통하는 사람들을 많이 만나게 되어 지금까지의 직장 생활과는 또 다른 모습이었습니다. 하지만 ... more
- The Search for the Best Bookmark (최고의 책갈피를 찾아서)
사람이 한 가지 일만 하며 살 수 없듯, 책도 한 권만 끝까지 읽고 다음 책으로 넘어가기란 여간 어려운 일이 아닙니다. 항상 두 권 이상의 책을 들고 다니다 보면 책갈피의 필요성을 느끼게 되는데요, 그래서 오랜만에 여기 저기 다녀 보고 가장 멋지고 실용적인 책갈피를 찾아 보았습니다.가장 먼저 찾은 것은 MoMA (The ... more
- The Music of Month: September 2006
몇 년 전부터 매달 시디를 사 모으다 보니 어느덧 300장을 목전에 두고 있습니다. 바쁠 때면 구입한 음반을 몇 번 들어보지도 못하고 다음 월급날을 맞기 쉽상입니다. 이제부터는 매달 그 달에 구입한 음반 중 가장 마음에 드는 음반을 선정해 보도록 하겠습니다.#1. Paris Match의 여섯번째 앨범 After Six는 지금까지 발매된 Paris ... more
- 환자가 병원에서 기대하는 것 (What a patient expects in hospital)
얼마 전인가 심장병을 앓고 있는 - 시한부에다가 이혼까지 한 - 호텔 간부와 호텔 리어의 동거를 다룬 드라마를 본 적이 있다. 호텔이라는 이국적 환경과 죽음이라는 결말을 기다리는 사랑 이야기는 시간가는 줄 모르고 TV 앞 소파에 사람들을 앉혀두었다.이 드라마에서 주인공은 혈액 응고를 막는 약을 처방받았는데, 어느 날 손이 칼에 베이자 정신없이 ... more
- Task Management Mind Map (할 일 관리 마인드 맵)
대학교를 졸업하고 직장 생활을 한 지도 4년이 다 되어 갑니다. 더 많은 일을 하게 될 수록 더 많은 일이 주어지고, 그 일들을 책임감 있게 수행하기를 요구받습니다. 항상 수십여 개의 할 일이 목록에 올라와 있는 모습을 보면 너무 무리하고 있는 것은 아닌가 싶기도 합니다. 도저히 견디다 못해 관심사를 ... more
- A Useful Paradise (유용한 낙원)
바쁜 하루 하루가 지나고 나면 어김없이 주말이 찾아온다. 네 시간이 넘는 출퇴근으로 늦잠이라도 자야 하건만 재깍 눈이 떠진다. 느긋이 쉬고 싶지만 정신 없이 컴퓨터 앞에 앉아 잡무를 처리하다가 진이 빠지는가 하면, 읽고 싶은 책도 없어지고 보고 싶은 사람도 볼 수 없게 되어 묘한 짜증을 죄 없는 가족에게 나즈막히 ... more
- Passwordless Login with SSH
우선 OpenSSL 과 OpenSSH 가 설치되어 있어야 합니다. 윈도우즈에서는 cygwin 버전을 사용하세요. 로컬 머신에서 다음을 실행합니다: ssh-keygen -t rsa -b <비트수 (2048)> Private key 에 대한 passphrase 를 묻게 되는데 입력하지 않습니다. 생성이 완료 되면 ~/.ssh/ 에 id_rsa (private key) 와 id_rsa.pub (public key) 파일이 생성된 것을 알 ... more
- 블로그 이전중입니다.
수작업으로 이전중이므로 시간이 조금 걸릴 것 같습니다. 양해 부탁드리겠습니다. 아래 보이는 글들은 아주 오래전에 쓴 것들입니다. 하나씩 손으로 이전하다 보니 훑어보게 되는데, 그땐 내가 이랬구나 돌이켜 보게 되네요. 비록 유치하고 서투른 글들이지만 글이 모두 이전될 때까지 재미삼아 봐 주세요.
- 나이를 먹는다는 것
나이를 들면 나쁜 점과 좋은 점이 있다. 나쁜 점부터 말하면 머리가 나빠진다. 기억력, 순발력, 새로운 지식의 습득 능력이 떨어지는 것이다. 좋은 점이라면 경험이 많아진다는 것이다. 많은 것들을 놀라지 않고 받아들일 수 있기 때문에 좀 더 행복에 가까워질 수 있을 것 같다.하지만 나이가 들어 고지식하다는 소리를 듣는 것은 참 불쾌한 일일 ... more
- 스리랑카로 떠나다
곧 스리랑카에서 있을 ApacheCon Asia 2006 발표를 위해 내일 스리랑카로 떠난다. 규모는 유럽이나 미국에 비해 작지만 ApacheCon 최초의 아시아 컨퍼런스에 발표자로 참석한다는 사실이 기쁘다. 최초라는 건 정말 멋지다. 모든 좋은 일의 최초가 되고 싶다.그런데, 우리 나라 뉴스에서는 언급이 되고 있지 않은 듯 하지만 현재 스리랑카 정부와 타밀 반군과의 휴전이 깨질 ... more
- 소프트웨어의 복잡도가 증가하는 이유
복잡도를 다루기 위해 복잡도를 추가하는 오류는 세상 곳곳에서 행해지고 있는 문제입니다. 이는 대부분 탄성을 자아내는 무지와 게으름, 아집에서 옵니다.제가 일하던 팀에서는 이런 일이 있었습니다.당시 C3P0 커넥션 풀을 사용하고 있었는데, 풀 스레드 덤프를 떴을 때 디비 부하로 인해 커넥션을 획득하는 부분에서 대기상태로 있는 스레드들이 아주 많았습니다. 그도 아니면 만에 하나 스레드 ... more