ให้งานกับบ้านเป็นทีมเดียวกัน

ที่ทำงานผมใช้ Ubuntu พอกลับมาที่บ้านก็ใช้ Leopard ค่อนข้างลำบากมากๆ กับการสลับหัวให้ใช้ short cut ได้ถูกต้อง จริงๆ แค่แป้นสลับภาษาไทยกับกับ อังกฤษมันต่างกัน ก็สับสนแย่แล้ว ดังนั้นถ้าทำให้ development environment บน mac กับบน linux เหมือนกัน คงเป็นสวรรค์เลยทีเดียว

เริ่มต้นครั้งแรกกับ Aptana ครับ Eclipse + Web + Rails สุดยอดแล้ว ก่อนหน้านี้หนีมันไปนานเพราะความไม่เสถียร crash เป็นระยะๆ แต่ตัวล่าสุดนี่ใช้ได้ทีเดียว ความพยายามต่อมาคือการเปลี่ยน Themes จากสีขาวเป็นสีเทา... มันก็พอทำได้ครับ แต่พิการสุดๆ เลยตัดสินใจวาง Aptana ไว้ก่อน เรื่อง themes นี่สำคัญกับผมมากๆ ครับ

อันดับต่อมาคือ Netbean ติดตั้งง่าย ใช้งานสะดวก ปรับ themes ได้แทบจะสมบูรณ์ ติดว่า themes สำเร็จรูปที่ให้มา มันทำให้เสีย feature สำคัญของ IDE เช่นตอนที่ curser เราอยู่บนคำสั่งไหน คำสั่งเหมือนกันจะ hi-light ขึ้นมา พยายามหาที่แก้อยู่แต่หาไม่เจอ แต่นั่นไม่ใช่ปัญหาใหญ่เท่าการที่ NetBean บน mac มันหน้าตาเหมือนของเล่นเอามากๆ กลับมาเรื่องหน้าตาอีกครั้ง...

ถัดมาคือ gEdit ไม่นึกเลยว่ามันสามารถใส่ plugin จนคล้าย textmate ได้ขนาดนั้น themes ที่ download มาพอปรับหน่อยก็ใช้ได้เลย แถม render text ได้สวยมากๆ ทั้ง Aptana และ Netbean เทียบไม่ติด แม้ว่ามันจะไม่มีความสามารถแบบที่ Aptana หรือ Netbean มี แต่ได้ความเร็วมาทดแทน ปิดๆ เปิดๆ สบายใจ จะติดตอนนี้ก็คือ macro ของมันทำได้แย่มากๆ ไม่ทำเสียดีกว่า พอได้ลองมาซักพักเริ่มชอบมากขึ้นเรื่อยๆ พวก macro แย่ๆ พอปรับให้เข้าทางก็เริ่มทำงานง่ายๆ ได้มากขึ้น ไม่รู้จะทำได้ถึงไหน

หลังจากเริ่มสนุกกับ gEdit ขั้นตอนต่อมาคือเอามันมาลงบน mac ให้ได้ ทางเลือกก็มีไม่มากนักครับ

เริ่มจากการลง Macport ก่อน...

เรียก controller method จากหน้า view

ปกติแล้วเราจะเรียก method ของ controller จากหน้า view ไม่ได้ วันนี้ได้ดู rails cast ถึงได้รู้ว่าถ้าใช้ method helper_method จะทำให้เราเรียก method นั้นจาก view ได้ เช่น

เราสร้าง method foo แล้วบอกให้ method นี้เป็น helper_method

  1. #blogs_controller.rb
  2. ...
  3. def foo
  4.   "bar"
  5. end
  6. helper_method :foo

จากนั้นทดลองเรียกใช้ในหน้า view

  1. #index.html.erb
  2. ...
  3. <%= foo %>
  4. ...

ตอนเรียกที่หน้า browser จะมีคำว่า bar ขึ้นมา แต่ถ้าไม่ใช้า helper_method มันจะขึ้น

  1. undefined local variable or method `foo' for #<ActionView::Base:0x254fb30>

เพราะ rails หา method foo ไม่เจอ

Simple many to many

ช่วงนี้พยายามหาข้อมูลของ MySQL บังเอิญไปเจอสอง SQL นี้เข้า ในบทความเค้าบอกว่าผลลัพธ์ต่างกันอย่างไร

  1. SELECT x.a_id, x.b_id, b.b_desc
  2. FROM x
  3. LEFT JOIN b ON (b.b_id = x.b_id)
  4. WHERE (x.a_id = 'whatever')

A similar result may also be achieved using the following:

  1. SELECT x.a_id, x.b_id, b.b_desc
  2. FROM x, b
  3. WHERE (x.a_id = 'whatever') AND (b.b_id = x.b_id)

The difference between these two SQL queries will only become apparent if an occurrence of table 'B' is missing for an occurrence of table 'X'. With the first query all columns selected from table 'B' will be returned as empty. With the second query the effect will be that the occurrence of 'X' will be dropped from the selection.

ลองแปลดู ประมาณว่าถ้า table b ไม่เข้ากับเงื่อนไข

  • query แรกจะแสดง b.b_desc เป็นช่องว่าง แต่
  • query ที่สองจะไม่แสดงทั้ง record ไปเลย

ที่มา http://www.tonymarston.net/php-mysql/many-to-many.html

Best way to query

การหาข้อมูลจำนวนมากช่างยากเสียจริงๆ วันนี้ผมเจอข้อมูลขนาด 9X0,000 Record เลยสับสนว่าควรออกแบบ query และ table แบบไหนดี ตอนนี้มีทางเลือกสำหรับ table อยู่สามแบบ

ข้อมูลจริงในตาราง foo จะมีขนาดประมาณ 9 แสน record ส่วนตาราง bars มีขนาดใหญ่กว่า foo สามเท่า ผมคิด query ได้ 5 แบบ รวมการ query ร่วมกับ ferret ด้วย

  1. SELECT * FROM foos
  2. WHERE foos.id IN (
  3.           SELECT distince foos_bars.id FROM foos_bars
  4.           WHERE foos_bars.bar_id IN [2,5,3])  

แบบแรกใช้ sub query จาก table ตามหลักกระทรวงศึกษาธิการ

  ยังมีต่อครับ >

Emac บน Mac

พยายามจะใช้ gEdit บน mac เพื่อให้ที่ทำงานกับที่บ้านใช้ editor ตัวเดียวกัน แต่ดันต้องใช้ผ่าน dawin port เลยไม่ใช้มันละ วันนี้ก่อนกลับบ้านคุยกับเพื่อนที่ทำงาน (เพื่อนชื่อ sid) เข้าบอกว่าเรียน emacs แล้วคุ้ม เพราะ IDE ส่วนใหญ่ต้องรองรับ short cut ของ emacs ทั้งนั้น

คิดว่าได้เวลาทดลองใช้ emacs ซะที (ผมสาวก vi)

อันดับแรกผมพยายามจะใช้ Aquamacs เพราะคิดว่ามันมี toolbar กับ menu มาด้วยน่าจะช่วยให้เห็นคำสั่งได้ง่ายขึ้น

ติดว่ามันใช้เวลา download ตั้งชั่วโมง 52.5 MB เลย download ทั้งไว้แล้วหันมาใช้ emac ที่มีมาบนเครื่องแล้วแทนไปก่อน เริ่มต้นด้วย การเปิด terminal แล้วพิมพ์ ยังมีต่อครับ >

Open Office 3.0

อ่าน review Open Office 3.0 แล้วตื่นเต้นครับ ดูความก้าวหน้าแล้วน่าสนใจทีเดียว ทั้งด้านความสวยงาม ความคิดสร้างสรรค์ และการเก็บรายละเอียด ต่างจาก version ผ่านๆ มาที่ถึงแม้จะดูสร้างสรรค์แต่ขาดการเก็บรายละเอียดทำให้ความสร้างสรรค์นั้นดูด้อยค่าลงไป

ความประทับใจด้านความสวยงามเริ่มจากการปรับปรุง theme ของโปรแกรม Calc

สีที่ bar ด้้านข้างสวยขึ้นอย่างชัดเจน แม้ว่าจะอ่านตัวเลขได้ยากขึ้น แต่ก็น่าใช้กว่าเดิมมาก ส่วนสีที่ใช้สำหรับ hi-light ตัวตารางดีขึ้นอย่างไม่มีที่ดิ ตอนนี้ช่องที่ถูกเลือกจะถูกทับด้วยสีฟ้าจางๆ มองทลุไปถึงพื้นหลัง ทำให้ตารางยังคงความหมายต่างๆ ด้วยสีได้ แม้เวลาที่ถูก hi-light ก็ตาม ยังมีต่อครับ >

Love Graph ต่อจากตอนที่แล้ว

หลังจากบทความที่แล้ว แฟนผมก็เข้ามา comment กราฟนี้ทันที

มาวิเคราะห์ที่กราฟที่แฟนเขียนขึ้นมาต่อ

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

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

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

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

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

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

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

ด้วยความประทับใจในการวิเคราะห์ของแฟน ผมเลยจัดการ upgrade "Love graph" เป็น version 2.0


Download รูปเต็ม

เอารูปนี้ลง เขิลมั๊กๆ

Love graph

มีบทความหนึ่งเขียนว่า

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

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

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

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

เวลาผ่านไป เธอรู้สึกว่าเธอโชคดีที่สุดบนโลกนี้ ความรักของเธอให้เขาเกินร้อย ทุ่มเททุกอย่าง ที่เธอมีอยู่

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

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

บทความนี้เอามาจากคนอื่น แต่พอเอามาวิเคราะห์ ผมพบว่าสมการความรักของบทความนี้มันมาเพียงครึ่งเดียวเท่านั้น เลยเอามาคิดต่อบน OmniGraffle


download ตัวเต็ม

จริงๆ บทความนี้เขียนใน blog ส่วนตัวของ Bank กับ Kaew แฟนสุดน่ารัก ต้งแต่ปี 2007 แต่เห็นว่าน่าสนใจเลยเอามาลงไว้ที่นี่ด้วย แต่การวิเคราะห์ยังไม่จบแค่นี้ เดี๋ยวเอามา post ต่อ

ใช้ Number คำนวนเงินกู้

เมื่อก่อนตอนใช้เจ้า Number โปรแกรมสุดจ๊าบในชุด iWork คิดว่านี่ล่ะจะมาแทน MS Excel สิ่งทีประทับใจมากๆ คือการที่หนึ่ง Sheets สามารถมีได้หลายตาราง ทำให้เรามีอิสระมากขึ้นในการจัดหน้า แต่แล้วก็บรรลุว่า สิ่งที่สำคัญในโลกธุรกิจไม่ใช่ความสามารถของ Application แต่เป็น Compatibility ถ้าทำตารางขึ้นมาแล้วส่งไปให้คนอื่นดูไม่ได้ บางครั้งก็ถึงขั้นไร้ความหมาย

แต่กับงานส่วนตัวนี่อีกเรื่องนึงครับ :) ผมพึ่งพบว่า Number มีต้นแบบสำหรับคำนวนเงินกู้ด้วย เหมาะกับผมซึ่งกำลังหาตังสร้างบ้านพอดีเลย

หน้าจอต้นแบบมีไว้ให้เราเปรียบเทียบลักษณะการกู้สามประเภท อย่างที่ผมลองทำ ผมกำหนดให้จำนวนเงิน และดอกเบี้ยเท่ากัน แต่ระยะเวลาผ่อนไม่เท่ากัน ยังมีต่อครับ >

Rails podcast in Thai ตอน 1

Blog ก่อนหน้านี้ทำให้เข้าใจโครงสร้างของ MVC ชัดเจนมากขึ้น แต่สำหรับ video อันนี้จะเห็นเรื่อง Convention over Configuration ได้มากกว่า

download

Syndicate content