Saturday, July 15, 2006

Block Scope

ลองดูตัวอย่างนี้
def bar()
"outer bar"
end

class Foo
def bar()
"my bar"
end

def test(&block)
block.call
end

def test2()
yield
end

def test3(&block)
instance_eval(&block)
end
end

f = Foo.new
f.test { bar }
f.test2 { bar }
f.test3 { bar }


คำถามก็คือ

f.test { bar }
f.test2 { bar }
f.test3 { bar }

ได้ผลลัพท์เป็นอะไร

เฉลย

f.test { bar } # => "outer bar"
f.test2 { bar } # => "outer bar"
f.test3 { bar } # => "my bar"

Related link from Roti

Lisp 1.5 Programmer 's Manual

นั่งดู manual ที่เขียนขึ้นเมื่อปี 1962
เจอตัวอย่างนี้เข้าไป
DEFINE (( 
(MEMBER (LAMBDA (A X) (COND ((NULL X) F)
( (EQ A (CAR X) ) T) (T (MEMBER A (CDR X))) )))
(UNION (LAMBDA (X Y) (COND ((NULL X) Y) ((MEMBER
(CAR X) Y) (UNION (CDR X) Y)) (T (CONS (CAR X)
(UNION (CDR X) Y))) )))
(INTERSECTION (LAMBDA (X Y) (COND ((NULL X) NIL)
( (MEMBER (CAR X) Y) (CONS (CAR X) (INTERSECTION
(CDR X) Y))) (T (INTERSECTION (CDR X) Y)) )))
))

มึนเลย

ถ้าเขียนแบบ syntax ในปัจจุบัน
อย่าง function member ก็จะเขียนแบบนี้
(defun member (a x)
(cond ((null x) NIL)
((equal a (car x)) t)
(t (member a (cdr x)))))


สำหรับผม มันอ่านง่ายขึ้นเยอะเลยนะ

Related link from Roti

Thursday, July 13, 2006

George Seurat

ดูแล้วน่าสนุกดี
ที่ Beloit, Wisconsin เขาจัดกิจกรรมถ่ายรูป
เลียนแบบภาพเขียนของ George Seurat
โดยเลือกเลียนแบบภาพที่ชื่อ
Sunday Afternoon on the Island of La Grande Jatte



ชอบตรงหมา เหมือนเชียว

Link

Related link from Roti

Sunday, July 09, 2006

บวรศักดิ์

รุ่นพี่คนหนึ่ง เรียนสถาบันพระปกเกล้า
แล้วต้องไปทัศนศึกษาที่เมืองจีน
หัวหน้าทีมนำโดย บวรศักดิ์ อุวรรณโณ
ไม่รู้เป็นเพราะนิสัยหรืออารมณ์จากสถานะการณ์ช่วงนี้
พี่แก ก็เลยไม่คบใครหรือทำอะไรทั้งสิ้น

ได้ฟังเรื่องที่เขาเล่าแล้วไม่ชอบอย่างหนึ่ง
ก็คือเรื่องที่ บวรศักดิ์ เป็นคนที่ไม่แคร์กฎเรื่องห้ามสูบบุหรี่เท่าไร
นึกอยากจะสูบก็สูบเลย ไม่ว่าจะอยู่ที่ไหน

เรื่องที่ไม่ชอบใจ ไม่ใช่เรื่องนั้นหรอก
แต่เป็นเรื่องที่ว่า คนที่ไปด้วย มันไม่รู้จักรักษาสิทธิของตัวเองต่างหาก
วัฒนธรรมเชิงอำนาจ ทำให้เราไม่กล้วท้วงติงคนที่เราคิดว่าสูงหรือเก่งกว่าเรา
หึๆ แต่พอจะเข้าใจ คนในระบบราชการทั้งนั้น

รับน้องนี่ก็ตัวดีเลย (ไปเข้าเรื่องนี้ได้ไง)
ประเพณีที่ช่วยเสริมวัฒนธรรมเชิงอำนาจ

Related link from Roti

วันครอบครัว

หลังจากหมกมุ่นกับ project มา 6 อาทิตย์
ผมก็โดยยื่นคำขาดว่า ต้องจัดให้มีวันสำหรับครอบครัว 1 วัน
วันนี้ก็เลยพาลูกและภรรยาไปเที่ยวพิพิธภัณฑืเด็กกัน

ความรู้สึกแรกที่เกิดหลังจากเดินเข้าไป ก็คือ
เฮ้ นี่มันเป็นสถานที่ในฝันสำหรับเด็กๆเลย
มี ทราย, น้ำ, รถ, ฟองสบู่, ของเล่นสารพัดแบบ

เฮ้อ ในที่สุดเมืองไทย ก็มีสถานที่ดีๆให้เด็กสักที
เสียอย่างเดียวคือมันมีจำนวนน้อยเกินไป
แถมยังจำกัดเฉพาะกลุ่มคนที่มีฐานะหรือเวลาพอที่จะพาเด็กมา

ระหว่างที่อยู่ในนั้น ผมก็แอบสังเกตว่าพ่อแม่แต่ละคนเป็นอย่างไรบ้าง
มีที่น่ารำคาญอย่างหนึ่งก็คือ
พ่อแม่ที่ไม่เคารพกฎ
เช่นบริเวณที่ห้ามใส่รองเท้า
ไม่ว่าจะมีป้ายใหญ่แค่ไหน ก็ห้ามพ่อแม่ขี้เกียจถอดรองเท้าไม่ได้
เฮ้อ เราจะคาดหวังอะไรจากเด็กได้หล่ะ
ในเมื่อพ่อปูกับแม่ปูเป็นกันเอง

ส่วนเด็กๆนี่ มีพลังเหลือเฟือจริงๆ
พ่อแม่ทีี่มาด้วย ส่วนใหญ่จะแพ้แรงเด็กๆทั้งนั้น
ภาพที่เห็นก็คือ พ่อแม่นั่งตาลอยมองดูลูกเล่น
หรือไม่ถ้ามากันทั้งพ่อและแม่
ก็จะมีภาพพ่อแอบนั่งหลับ
(เข้าใจนะ นอนน้อยแล้วมาเล่นกับลูกนี่มันง่วงสุดๆเลย)

Related link from Roti

Dragon Sakura

มีอยู่วันหนึ่ง ผมไปนั่งบ่นให้รุ่นพี่ที่ทำงานฟังว่า
ช่วงนี้ผมหมกมุ่นกับโปรเจคมากไป
จนทำให้แฟนน้อยใจว่าไม่มีเวลาให้ครอบครัวแล้ว
พี่เขาก็เลยคิดแผนการให้
โดยการให้ยืม DVD หนังชุดมา
พอแฟนว่างปุ๊บส่ง DVD ให้ดู
รับรองว่าดูเมื่อไร ติดแน่นอน
ที่นี้ก็ไม่มีเวลามานั่งน้อยใจ่ว่าไม่มีเวลาให้แล้ว

วันนี้ได้ฤกษ์เปิด DVD เรื่อง Dragon Sakura
ให้แฟนดู ได้ผลเลย ติดหนึบทันที
หนังมันดีน่ะ
เป็นเรื่องเกี่ยวกับโรงเรียน โรงเรียนหนึ่ง
ที่รวมเด็กเหลือขอไว้
อัตราสอบเข้ามหาวิทยาลับคือ 36 %
เด็กๆที่เรียนที่นี่จะถูกตราหน้า ว่าเป็นเด็กโง่
แถมโรงเรียนก็กำลังจะล้มละลาย
แต่ทนายความที่ได้รับมอบหมายมาทำเรื่องนี้
ก็เกิด Idea ที่จะกอบกู้โรงเรียน
ด้วยการตั้งเป้าว่าจะปีนี้จะมีนักเรียนสอบเข้ามหาวิทยาลับโทได 5 คน
ความสนุกมันอยู่ตรงนี้แหล่ะ



แต่รู้สึก DVD นี้จะได้ผลมากเกินต้องการ
คือแทนที่แฟนผมจะติดคนเดียว
กลับกลายเป็นว่า ผมก็ติดไปด้วยอีกคน

ปล. จากการค้นใน net
ก็พบว่าเรื่องนี้เคยฉายช่อง ITV แล้ว
มีชื่อไทยด้วย "นายซ่าท้าเด็กแนว"
เฮ้อ ชื่อไม่ได้ความเลย

Related link from Roti