Archive for the ‘Tricks’ Category

Setup Aquamacs for Erlang

Wednesday, December 16th, 2009

A quick note about how to setup Aquamacs (Cocoa Emacs distribution) for coding Erlang (the next kid in town).

I assume you install Erlang via Macports so if you install it via any other mean, something will vary (I used to install it, along with everything else, from source; but currently the Macports is just easier).

The setup is simply adding the following lines into your ~/.emacs file

(setq load-path (cons "/opt/local/lib/erlang/lib/tools-2.6.4/emacs" load-path))
(setq erlang-root-dir "/opt/local/lib/erlang")
(setq exec-path (cons "/opt/local/lib/erlang/bin" exec-path))
(require 'erlang-start)

Please note that the actual path may vary from installation to installation (version numbers, most probably). So check yours.

ทำภาพ High Dynamic Range เทียม (#2)

Wednesday, May 6th, 2009

คราวนี้ลอง RAW ของ D3 (NEF บ้าง) ด้วยเทคนิคเดียวกัน ขั้นตอนเดียวกัน

  1. ภาพต้นฉบับ ลองสังเกตบริเวณที่แสงจ้า (ภายนอกหน้าต่าง) และบริเวณที่เป็นมืด (ขอบหน้าต่าง, ข้างตูสีแดง, ผนังใต้หน้าต่าง ฯลฯ) นะครับ

    nef_hdr_001.jpg

  2. ภาพ +1, +2 EV จะเห็นบริเวณที่มืดชัดเจนขึ้น

    nef_hdr_002.jpg

    nef_hdr_003.jpg

  3. ภาพ -1, -2 EV จะเห็นบริเวณนอกหน้าต่างชัดเจนขึ้น

    nef_hdr_004.jpg

    nef_hdr_005.jpg

  4. ภาพที่ทำ HDR เทียมเรียบร้อยแล้ว ลองเทียบกับภาพต้นฉบับดูครับ

    nef_hdr_006.jpg

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

ทำภาพ High Dynamic Range เทียมแบบขำๆ

Wednesday, May 6th, 2009

สำหรับคนถ่ายรูป คงจะรู้จักภาพแบบ High Dynamic Range (HDR) แน่ๆ โดยหลักการคร่าวๆ แล้ว HDR จะมีจากแนวความคิดที่ว่า “มันมีอะไรเสมอ ในที่แสงจ้า และที่มืด” และความจริงที่ว่า เซนเซอร์รับภาพ และหน่วยประมวลผลภาพของกล้องดิจิทัล ไม่สามารถเห็นช่วงของแสงได้กว้างเท่ากับที่ตาเราเห็น

ลองนึกดูเล่นๆ นะครับ เวลาเรามองไปที่หน้าต่างที่เปิดอยู่ เราจะเห็นวิวทิวทัศน์ข้างนอก ได้พร้อมกับเห็นรายละเอียดของขอบหน้าต่าง (หรือลายของผ้าม่าน) ได้อย่างชัดเจน แต่ถ้าเราถ่ายรูปล่ะ เรามักจะเห็นว่า ถ้าเราต้องการให้เห็นวิวข้างนอก ขอบหน้าต่างและม่านจะมืด แต่ถ้าเราต้องการให้เห็นขอบหน้าต่างชัด วิวข้างนอกก็จะสว่างไปจนมองไม่เห็นอะไร

เลยเป็นที่มาของเทคนิคการทำ HDR ครับ โดยปกติการทำ HDR เราจะต้องถ่ายภาพเดียวกัน ที่หลายๆ exposure เป็นลำดับ (เช่นถ่าย 5 ภาพ ต่างกันภาพละ 1 EV ซึ่งจะได้ที่ -2 EV, -1 EV, 0 EV, 1 EV, 2 EV) เพราะในขณะที่ -EV จะทำให้ภาพมืด แต่ก็จะรักษารายละเอียดในส่วนที่สว่างของภาพไว้ได้ ซึ่งตรงข้ามกับ +EV ที่จะทำให้เห็นรายละเอียดในส่วนที่มืดชัดขึ้น ซึ่งการถ่ายลักษณธนี้เราเรียกว่า exposure bracketing

ทีนี้ ถ้าเราไม่ได้ถ่าย exposure bracketing เอาไว้ล่ะครับ ทำอย่างไรดี? ซึ่งเราก็ยังคงโชคดีอยู่บ้าง ถ้าเราถ่าย RAW เอาไว้ เพราะว่า RAW จะเก็บข้อมูลของเรื่องแสงที่เซนเซอร์บันทึกไว้ได้ เอาไว้พอสมควร ซึ่งทำให้เรายังพอจะปรับ exposure value เพื่อดึงเอารายละเอียดในส่วนที่มืดและสว่างกลับมาได้บ้าง ก็เลยเป็นที่มาของ “HDR เทียม” ที่เราจะคุยกันในวันนี้ครับ

ปกติผมไม่เคยได้ลองเทคนิคพวกนี้หรอกนะ เพราะว่าไม่ได้ถ่าย RAW จนกระทั่งมาเล่น Leica M8 ซึ่งมี JPEG engine ที่ห่วยมากๆ จนต้องถ่าย RAW แบบไม่มีทางเลือก (และ RAW ของ M8 ก็ใช่ว่าจะดีนะครับ .. นอกจากเป็น DNG แล้วผมยังหาข้อดีของ M8 RAW ไม่ค่อยจะได้เลย และ M8 ยังมี DR ที่งั้นๆ เทียบกับกล้องอีกลายๆ ตัวอีกด้วย … แต่ไม่ขอพูดถึงมากล่ะครับ เดี๋ยวจะกลายเป็นรีวิว M8 ไป)

ลองทำตามนี้ครับ

  1. หา RAW มาสักภาพหนึี่ง สมมติว่าเป็นภาพด้านล่างนี้ละกัน จะเห็นว่ารายละเอียดตรงเหล็กขึงสะพาน (สีเหลือง) มืดไป ในขณะที่รายละเอียดบนเมฆบางส่วนก็หายไป (ขาวจ๋อง)

    test_fake_hdr_005.jpg

  2. จากนั้นปรับ exposure value ให้ไปทาง + EV เพื่อดึงเอารายละเอียดในที่มืดคืนมา ในตัวอย่างนี้ผมดึงไป +1 EV, +2 EV ตามลำดับ

    test_fake_hdr_001.jpg

    test_fake_hdr_002.jpg

  3. จากนั้นทำอย่างเดียวกัน ไปทาง - EV เพื่อดึงเอารายละเอียดบนเมฆกลับมาบ้าง ซึ่งผมทำเท่ากันคือ -1 EV, -2 EV

    test_fake_hdr_003.jpg

    test_fake_hdr_004.jpg

  4. จากนั้นก็ให้เอาโปรแกรมที่ทำพวก HDR (เช่น Photomatix Pro) มารวมกัน และทำ Tone Mapping (วิธีการใช้โปรแกรมพวกนี้ผมไม่ขอพูดถึง เพราะหาได้ทั่วไป …. และผมเองก็ “เล่นไม่เป็น” ด้วย) ซึ่งผลที่ได้จะเป็นแบบนี้

    test_fake_hdr_001_2_3_4_5_tonemapped.jpg

ก็ … ถึงจะสู้ทำ HDR แท้ไม่ได้ แต่ว่าก็ยังดีกว่าทำไม่ได้ล่ะนะ … ภาพนี้ถ่ายขณะรถติดบนสะพานพระราม 8 คงไม่มีเวลาจะตั้งขาตั้งและถ่าย bracket แบบจริงๆ จังๆ ล่ะครับ

แต่ว่ายังงั้นยังงี้ … กล้อง DSLR หลายตัวในปัจจุบันมันมีเทคโนโลยีฉลาดๆ มากมาย (เช่น Automatic/Adaptive High Dynamic Range ในชื่อต่างๆ กัน .. เช่น Active D-Lighting ของ Nikon เป็นต้น) และเซนเซอร์ที่ดี มี DR กว้างเอาเรื่อง … ดังนั้น ถ้าเมื่อไหร่ที่ผมใช้ D3 ถ่ายทั่วไป ผมก็ยังถ่าย JPEG เหมือนเดิมน่ะแหละ

รวมปัญหาเรื่อง lib ใน Leopard

Sunday, November 18th, 2007

ตอนนี้เริ่มเล่น Leopard ในฐานะของนักพัฒนาโปรแกรมและพวกชอบงัดแงะมากขึ้น และตอนนี้เท่าที่ลองเล่นก็เจอปัญหาโน่นนี่นิดหน่อย ซึ่งได้ post ไว้ใน ThaiMacDev เรื่อยๆ แต่ว่าขอรวบรวมไว้ตรงนี้อีกที่หนึ่งละกัน

ไว้เจอมากกว่านี้แล้วจะ post ไว้เรื่อยๆ ครับ

App: Leopard MenuHack

Thursday, November 8th, 2007

บ่นกันจัง ว่า Menu bar ใน Leopard มันกวนสายตา กวนใจ ไม่พอ ยังทำให้ต้องเรื่องมากขึ้นอีกเยอะกับการเลือก background สักรูป เพราะว่าไม่งั้นมันจะอ่าน menu bar ลำบากเอา

kiterminal ไปเจอโปรแกรมเจ๋งๆ ตัวนึงมา ชื่อ Leopard MenuHack หน้าที่ของมันคือให้เราปรับสีตรงที่จะไปอยู่ด้านหลัง menu bar ได้เลย (เหมือนกับเอาแถบสีไปแปะบน desktop background น่ะแหละ) แถมเป็น open source (ใช้ GPL) ด้วย

วิธีการใช้ค่อนข้างจะตรงไปตรงมา แต่ว่ายังให้ความรู้สึก hacked พอควร (ก็สมชื่อ) ยังมีปัญหานิดหน่อย แต่ว่าก็ทำงานได้ดี ผมก็เลือกให้เป็นสีดำตลอดเลย ไม่ว่าจะใช้ background อะไรก็ตาม สรุปว่าลองใช้กันดูครับ

iChat Theater Setting

Saturday, November 3rd, 2007

สำหรับคนที่เล่น Leopard แล้วอยากจะลองใช้ iChat Theater ให้มี side-by-side view แบบใน Demo/Keynote/Web/Screenshots ทั่วไป แต่ว่าเมื่อลองแล้วกลับไม่เป็นแบบนั้น ให้ทำแบบนี้ครับ

  1. เข้าไปที่ System Preferences แล้วไปยัง QuickTime streaming speed
  2. เปลี่ยน speed ให้มากหน่อย (ผมลอง 1.5 แล้วใช้ได้) อย่าใช้ Automatic
  3. ปรับ bandwidth limit ที่ Audio/Video ใน iChat Preferences ให้เป็น None

ตัวอย่างในรูปนี่ไม่ใช่รูปผมนะ แต่เป็นลูกศิษย์ (neokain) ที่สถาบันวิจัย ตอนกำลังทดสอบ iChat Theater กันครับ ส่วนรูปที่แชร์นี่ถ่ายจากนครธมที่เขมร …​ เหมือนกับตราสโมสรฟุตบอลอะไรซักอย่าง

แก้ Dock ใน Leopard

Thursday, November 1st, 2007

Dock เปลี่ยนไปเยอะมากมายใน Leopard และถึงผมจะเริ่มชินกับมันบ้างแล้ว แต่ว่าผมก็ยังไม่ค่อยจะชอบมันเท่าไหร่อยู่ดี ครั้นลองเปลี่ยนไปเป็น 2D ตามที่ เคย post ไว้ก่อนหน้านี้ ผมก็รำคาญขอบสีขาวของมันอยู่ดีน่ะแหละ เลยเปลี่ยนกลับไปเป็น 3D เหมือนเดิมอะไรๆ มันก็พอจะเริ่มรับได้ล่ะนะ ยกเว้นเจ้าทางม้าลาย ที่ผมว่ามันเกะกะจัง มัน visual distraction มากเลย ก็เลยหาทางเอาออกซะสรุปว่า ผมก็เลยหาทางเล่นกับ Dock ตัวนี้ซะเลย ทำตามนี้นะครับ

  1. เปิด Finder ไปที่ /System/Library/CoreServices 
  2. หา Dock.app แล้ว click ขวา เลือก Show Package Contents
  3. เข้าไปใน Contents/Resources
  4. จากนั้นก็หาไฟล์ชื่อดังนี้ scurve-[l,m,sm,xl].png ซึ่งเป็นไฟล์สำหรับฐานรอง Dock และไฟล์ที่ขึ้นต้นด้วย separator ซึ่งเป็นไฟล์ตัวกั้นลายทางม้าลาย (มี 3 ไฟล์ ชื่อคล้ายๆ กันตามรูปแบบของตัวกั้นที่ใช้งาน สำหรับ 3D Dock แล้วก็ 2D Dock ด้านข้างและด้านล่าง)
  5. จากนั้นจะทำอะไรกับไฟล์เหล่านี้ก็ตามสบายครับผม อย่าลืม backup ไว้ก่อนล่ะ
  6. จากนั้นก็หาทาง restart Dock ซึ่งง่ายที่สุดก็เปิด Terminal.app แล้วก็พิมพ์ว่า killall Dock กด enter
  7. Boom!

ใครที่ถนัดใช้ command line อยู่แล้ว ก็เปิด Terminal.app แล้วก็พิมพ์

cd /System/Library/CoreServices/Dock.app/Contents/Resources

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

[update 1]: เพิ่งจะงัดแงะต่อ กับการแก้ขอบขาวใน 2D Dock พบว่าถ้าย้ายไฟล์ bottom[1-5].png ไปไว้ที่อื่นแทน แล้วก็ทำเป็น 2D Dock อย่างที่เขียนใน post ที่ link ไว้ข้างบน ขอบขาวมันจะหายไป…

Happy Hacking ครับ

จับภาพหน้าต่างใน Leopard

Wednesday, October 31st, 2007

หลายคนที่เคยใช้ command+shift+4+space ในการจับภาพหน้าต่างใน Mac OS X คงจะชอบแฮะ เพราะว่าตอนนี้มี shadow รอบหน้าต่างแล้ว ไม่ต้องไปทำเอง

(ไอ้กรอบขาวๆ รอบๆ นี่ไม่เกี่ยวนะ อันนั้น HTML table code กับ theme ของ blog นี้ ส่วนที่ ​Leopard เพิ่มเนี่ย เฉพาะตรงเงา)แต่ว่าก็แล้วแต่งานนะ ถ้าต้องการเรียบๆ อาจจะไม่ชอบ ต้องไปหาวิธีทำอย่างอื่น แต่ว่าสำหรับผม OK เพราะว่ามันทำให้เวลาเราเอารูปหน้าต่างลงในบทความ ในหนังสือ หรือว่าใน Web แล้วมันดู distinguishable มากขึ้นเยอะ

2D Dock กับ Leopard

Thursday, October 25th, 2007

ผมไม่ค่อยจะถูกชะตากับ new 3D Dock ของ Mac OS X 10.5 Leopard ตั้งแต่มันถูกประกาศแล้ว เพราะว่านอกจาก eye-candy แล้วไม่เห็นมันจะช่วยให้ usability มันดีขึ้นตรงไหน เผลอๆ จะทำให้แย่ลงด้วยซ้ำ เพราะว่ามันทำให้ Dock มัน high-profile ขึ้น มันมีความรู้สึก in-your-face มากขึ้น มัน visible มากขึ้น ซึ่งพวกนี้มักจะไม่ค่อยดีต่อ usability เท่าไหร่ (ในกรณีนี้)

จากข่าวล่าสุด สำหรับ build 9A581 (ที่น่าจะเป็น Gold-master) รู้สึกว่า Dock มันจะกลายเป็น 2D เมื่อวางไว้ด้านข้างของจอ (macrumors.com) ก็ลองเทียบกันดูกับ build เก่าๆ ที่ยังเป็น 3D อยู่แล้วกัน ว่ามันดูดีกว่ากันแค่ไหน




(ภาพจาก macrumors.com และ rogueamoeba.com ตามลำดับ)

ไม่พอ มีคนเจอ ว่าถ้าต้องการจะเอา 3D ออกแม้ว่าจะอยู่ข้างล่าง ก็ยังคงทำได้โดยอาศัย trick เก่าๆ บน Terminal แล้วก็พวก defaults write [option] ทั้งหลายแหล่ที่มีมาตั้งแต่โบราณ (สมัย NeXT โน่น)

defaults write com.apple.dock no-glass -boolean YES

จากนั้นก็ restart Dock ใหม่ (อาจจะ killall Dock ไปเลยก็ได้) แล้วก็จะได้ 2D Dock ที่ “เกือบ” เหมือนเดิม


(ภาพจาก lime.quickshareit.com)

ซึ่งจริงๆ แล้วก็ยัง high-profile อยู่ดี เทียบกับ Dock ตัวปัจจุบัน เพราะว่ามันยังมีขอบ มี texture มีอะไรมากเกินไป แต่ว่าก็ยังน่าจะดีกว่า 3D Dock ล่ะนะ

Clean RSS ที่เก็บไว้

Wednesday, October 17th, 2007

ผมใช้ Vienna เป็น​ RSS reader ประจำ เนื่องจากมันใช้ค่อนข้างจะง่าย ฟีเจอร์ค่อนข้างจะครบ สำหรับการเป็น reader ธรรมดาทั่วไป (ก่อนหน้านี้เคยใช้ NetNewsWire Lite กับ NewsFire ก่อนที่จะเก็บตังค์)

พักหลังๆ นี่รู้สึกว่ามันจะ อืด มาก ส่วนหนึ่งอาจจะเป็นเพราะว่า feed ที่ผม subscribe ไว้มันเยอะจัด (ประมาณ 500 feeds) แล้วก็มี articles ที่เก็บไว้หลายหมื่น articles เพราะว่าผมไม่เคยให้มัน auto delete เลย (ด้วยความงก)

ว้นนี้เปิดเข้าไปดูใน ~/Library/Application Supports ที่มันน่าจะเก็บไฟล์ที่เก็บ feed เอาไว้ ตกกะใจกับขนาดมันมาก เพราะว่ามันตั้ง 300 กว่า MB (จำไม่ได้ว่าเท่าไหร่ แต่มากกว่า 350) อ่อ มิน่า มันก็เลยช้า ส่วนหนึ่งก็เพราะว่ามันจะต้อง load ไฟล์ฐานข้อมูลขนาดมหึมา (​มันใช้ SQLite storage นะ ที่รู้กันว่ามันค่อนข้างจะอืดถ้าข้อมูลมันเยอะ) ก็เลยต้องมานั่งจัดการมันซะมั่ง

ตอนนี้เหลือแค่ 70 MB เอง นี่แปลว่าข้อมูลที่เราลบทิ้งได้โดยไม่ต้องคิดอะไรนี่มันมากถึงกว่า 6/7 เลยสินะ นี่ขนาดผมยังไม่ได้สั่งให้ลบ articles ที่ผมยังไม่ได้อ่านนะ

จริงๆ ผมยังมี thought เกี่ยวกับ RSS และการ subscription ของ feed นิดหน่อย แต่ว่าตอนนี้ยังไม่มีเวลาเขียนถึง แล้วจะเขียนให้อ่านกันนะครับ .. เอาเป็นว่า ผมค่อนข้างจะเห็นด้วยกับ Daniel Jalkut แห่ง Red Sweater Software นะ ลองเข้าไปอ่านที่นี่ครับ

แต่เอาเป็นว่าตอนนี้ Vienna ก็กลับมา responsive อีกครั้งแล้ว ก็แน่นอน เบาสบายตัวไปเยอะนี่ รีดน้ำหนักที่ไม่ต้องการออกไปได้แล้ว คราวนี้คงต้องมานั่ง manage feed กันจริงๆ ซะที