Review

John Legend - P.D.A (We Just Don't Care)

Let's go to the park
I wanna kiss you underneath the stars
Maybe we'll go too far
We just don't care
We just don't care
We just don't care

You know I love it when you're loving me
But sometimes it's better when it's publicly
I'm not ashamed, I don't care who sees
us hugging and kissing, a love exhibition, oh

We'll rendezvous out on the fire escape

My world, My rules

News? Article? Forum? Blog? What are the difference characteristics of them in Web 2.0 era? This question suddenly appeared in my mind for so long. I think I have a good answer now. At present, Web 2.0 usually means to feedback from visitor. There are various feedback, e.g., visitors may publish their own contents or comment existing contents. News, Article, Forum and Blog have this feature built-in. Anyway, the difference is ownership and rules just like below quote from The Cell.

My world, My rules!

Programming Language and Martial Art

หลังจากคราวที่แล้วว่ากันเรื่อง ภาษาสำหรับเขียนโปรแกรมกับอาวุธ คราวนี้เรามาว่ากันเรื่อง ภาษาสำหรับเขียนโปรแกรมกับวิทยายุทธ์ ก็อย่างที่เคยบอก เรื่องนี้เป็นเรื่องละเอียดอ่อนอันดับต้นๆ ของโลก ผมแค่นึกขึ้นมาได้ตอนขับรถกลับบ้านเท่านั้น เท่านั้นจริงๆ ช่วงนี้คงจะอ่านนิยายกำลังภายในมากเกินไป มีทั้งจอมคนแผ่นดินเดือดและฟงอวิ๋น สนุกจนไม่ต้องหลับต้องนอน แต่นิยายสมัยนี้ไม่ค่อยมีกระบวนท่าโดดเด่น ผมเลือกมาเฉพาะที่คนส่วนใหญ่จะรู้จักเท่านั้นพอ

Ender's Game

ผมได้ยินกิตติศัพท์ของ Ender's Game มานานมาก ถ้าจำไม่ผิดครั้งแรกที่ได้ยินคือเมื่อ 8 ปีที่แล้วจากปากของอาจารย์ผมเอง ทุกครั้งที่คุยเรื่องนิยาย ไม่ว่าจะเป็นจีนหรือว่าวิทยาศาสตร์จะต้องมีเรื่องนี้มาเกี่ยวข้องเสมอ ถ้าจะอธิบายให้ถูกก็คือ ผมได้ฟังเรื่องฉบับย่อประมาณปีละอย่างน้อย 2 ครั้งเป็นเวลา 8 ปี ไม่ว่าจะเป็นรุ่นพี่รุ่นน้อง ถ้าเรียนหรือทำงานกับอาจารย์ผม รับรองว่าต้องเคยได้ยินอย่างน้อยก็มีเรื่องปนๆ มาบ้าง บางทีก็ไม่ได้บอกชื่อเรื่อง แต่พอเริ่มปุ๊ปก็แทบจะเดาชื่อเรื่องออกทันที ผมชอบอ่านนิยาย แต่เน้นไปทางด้านจีนหน่อย กำลังภายในประมาณนั้น พวกวิทยาศาสตร์ก็อ่านบ้าง แต่ไม่ถึงกับติด ถ้าเรื่องดังๆ ก็จะพยายามหามาอ่าน แค่กันตกยุค แต่เรื่องนี้อยากอ่านมานาน พอดีได้ข่าวจากรุ่นน้องอาจารย์เดียวกัน โชคร้ายที่ตอนไปเดินงานหนังสือไม่ได้ซื้อมาด้วยเพราะไม่รู้... สามวันก่อนก็เดินหาที่ซีเอ็ดแต่ก็ยังไม่เจอ เมื่อสองวันก่อนก็บ่นๆ ที่มหาลัยกับรุ่นพี่อาจารย์เดียวกัน ยังไม่ทันพ้นชั่วโมงก็พบ Ender's Game เกมพลิกโลก ภาคภาษาไทยวางอยู่บนโต๊ะอาจารย์ เมื่อวานเลยยืมมาอ่านทันที เดี๋ยวค่อยซื้อทีหลัง ตอนนี้ยังไม่มีโอกาสไปเดินหาจริงๆ จังๆ

How to measure memory consumption of a program on Linux

According to the hard fight which is a comparison of Java, Python and Ruby side by side, the performance is very impressive because Python is faster than the rest. A java guru immediately identified flaws of this test in Java codes. In addition, he also improved the codes for getting faster program. However, he was too busy to perform the benchmarks again himself. I volunteered to do this task on my laptop. After preparing all codes in Java, Python and Ruby, I have to measure how long it takes to execute each code. The tool I used was "time". Everything went well until I was asked to also measure memory consumption in each case. time always gave me zero without any error message. It seems this is a bug in Linux kernel that getrusage() will return zero in all memory related values. Fortunately, I found a workaround using Python!

How to forward port in user space using socat

I was asked to help setting up a kind of traffic redirection through VPN. In particular, the VPN server is Cisco VPN so the client should be Cisco VPN client too. Since the client is Ubuntu Edgy, it is very easy to install and run cvpnd. Then I tried to forward a TCP port to another host on the same port using IPTables and DNAT. Unfortunately, it failed. Incoming TCP connection through this port always get "connection refused". I guess that the problem might involve the module cisco_ipsec. This module may hook packet routing somewhere in the kernel so DNAT will not work correctly through its network interface. However, I don't have enough to investigate deeper for more detail since the service must be available tonight. In other words, I have 15 minutes left. So I decided to use port forwarding tool running on user space instead. After searching for a while, I found socat. socat looks like an extension of netcat which provides extremely flexibility to all of us for forwarding anything and then redirect to anything.