วันอังคารที่ 11 ตุลาคม พ.ศ. 2554

โอเพนซอร์สในต่างประเทศเมื่อเทียบกับไทย

ก่อนหน้านี้ช่วงที่ผมได้ไปงาน OOoCon2010 ที่ฮังการี ได้มีโอกาสเจอคนญี่ปุ่นอยู่คนหนึ่ง และหลังจากนั้นก็ไม่เคยได้คุยกันอีก จนกระทั่งวันก่อนได้รับ add friend ในเฟสบุคจากเพื่อนญุ่ีปุ่นคนนี้ จึงรับและคุยกัน

เขาถามผมว่าจำเขาได้ไหม ซึ่งแน่นอนจำได้อยู่แล้ว เพราะตอนอยู่ที่ฮังการีก็มีเขานี่แหละที่ผมคุยด้วย คนอื่นๆ ผมไม่ได้คุยเลย

เลยได้คุยกันเกี่ยวกับแนวโน้มโอเพนซอร์ส ซึ่งผมเล่าเคสในบ้านเราว่าช่วงนี้คนเริ่มสนใจกันเยอะ ในเมืองไทยเพิ่งจะเริ่มสนใจกันมากขึ้นเรื่อยๆ โดยเริ่มจากเอกชนก่อน ซึ่งในเมืองไทยภาครัฐไม่ค่อยให้ความสนใจเท่าไร เลยไปได้ช้า

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

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

ส่วนการเมืองระดับประเทศเขารวย เลยไม่คิดเรื่องโอเพนซอร์ส แต่ของเราคงเป็นประเด็นเดิมคือการละเมิดลิขสิทธิ์นั่นเอง

เขาบอกว่าที่รัฐบาลญี่ปุ่นไม่ไปโอเพนซอร์สเพราะเกรงว่ามีความเสี่ยง ซึ่งจุดนี้เป็นจุดหนึ่งที่หลายๆ ที่ไม่ว่าจะเป็นภาครัฐหรือเอกชนในบ้านเราเป็นเหมือนกันคือกลัวความเสี่ยงที่เกิดขึ้น

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

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

วงที่อยู่ในใจเสมอ

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

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

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

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

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

มีอัลบั้มนึงที่ใช้เล่นคำ มีคำว่า "เลย" อยู่ท้ายเพลงทุกเพลงในอัลบั้ม ในช่วงนั้นถือว่าเป็นแนวคิดที่แปลกๆ เหมือนกัน

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

เรียกได้ว่าวง "นูโว" เป็นแรงบันดาลใจหนึ่งที่ทำให้ผมรักเสียงดนตรี และหัดเล่นดนตรีก็ว่าได้ครับ วงนี้จะอยู่ในความทรงจำตลอดไปครับ

วันศุกร์ที่ 7 ตุลาคม พ.ศ. 2554

หันมานึกถึงเพลงในวันเรียน

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

ช่วงชีวิตช่วงหนึ่งผมได้ใช้ชีวิตอยู่ในรั้วม. ราม ผมอาศัยอยู่ที่ราม 2 ช่วงนั้นจำได้ว่าเพลงที่ฟังอยู่เพลงนึงชอบมากจนต้องไปหาซื้อเทปมาฟัง (ช่วงนั้นยังเป็นตลับเทปอยู่) เพลงนั้นชื่อว่า "งมงาย" หลายท่านร้องอ๋อ เพราะเป็นวงในดวงใจหลายคนนั่นคือ bodyslam นั่นเอง

ผมตระเวนหาซื้อเทปวง bodyslam แถวหอในม. ราม 2 เชื่อไหมครับไม่มีใครรู้จัก เพราะช่วงนั้นเพลงเพิ่งโปรโมท ตระเวนหาอยู่นานมากจนไปเจออยู่ร้านหนึ่ง จึงซื้อมาฟัง

ผมเป็นคนที่ซื้อเทปมาจะฟังทั้งอัลบัม ผมก็นั่งเปิดจำได้ว่าช่วงนั้น เปิดมันทั้งวัน วนไปวนมาอยู่อย่างนั้น มีหลายเพลงที่โดนใจผมมาก เช่น "สักวันฉันจะดีพอ" "ย้ำ" "อากาศ" "ทางของฉัน ฝันของเธอ" ที่ผมชอบมากที่สุดคือเพลง "ยกโทษ" ครับ

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

พูดถึงอัลบัมที่สองมีเพลงนึงที่ชอบนั่นคือ "ชีวิตที่เหลืออยู่" ความหมายดีมาก เป็นเพลงใช้ผมใช้จีบแฟนตอนที่คบกับใหม่ๆ

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

วันศุกร์ที่ 10 มิถุนายน พ.ศ. 2554

ใช้ Page Style ลำบาก!! ลดความยุ่งยากด้วยฟีเจอร์ Title Page

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

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

ต่อแต่นี้ไป คงหมดปัญหาแล้ว เพราะ LibreOffice ตั้งแต่เวอร์ชัน 3.3 เป็นต้นไป มีฟีเจอร์ชื่อว่า Title Page ซึ่งจะทำให้หน้าบางหน้าไม่มีเลขหน้าได้อย่างง่ายมาก

ฟีเจอร์นี้จริงๆ แล้วก็อาศัยหลักการของ Page Style นั่นแหละ แต่เราไม่ต้องไปยุ่งกับการสร้าง style หรืออะไรมากนัก เอาเป็นว่ามาเริ่มกันเลยดีกว่าว่าขั้นตอนจะเป็นอย่างไร

เอกสารเริ่มต้นจะเห็นว่าพอแทรกท้ายกระดาษ และเลขหน้า ก็จะปรากฏเลขหน้าทุกหน้า รวมถึงหน้าปกที่ไม่ต้องการให้เลขหน้าปรากฎด้วย
ต้องการให้หน้าปกไม่มีเลขหน้า ไปที่เมนู Format > Title Page
จะขึ้นหน้าต่างดังนี้
A : ให้เลือก Convert existing pages to title pages หมายถึง เปลี่ยนหน้าที่มีอยู่ไปเป็น title page แต่ถ้าเลือก Insert new title pages หมายถึง เพิ่มหน้ากระดาษใหม่มีอีกหน้าหนึ่ง เป็น title page
B : หมายถึง จะทำ title page กี่หน้า
C : Document Start หมายถึง เริ่มต้นทำ title page ที่หน้าแรกของเอกสาร หรือเลือกหน้าที่ต้องการเริ่ม
D : หมายถึง หน้าหลังจาก title page ที่กำหนด ให้เลขหน้าเริ่มที่เท่าไร
E : หมายถึง หน้าที่ทำ title page ให้เริ่มนับเลขหน้าที่เท่าไร

เบื้องต้นกำหนดเพียงแค่นี้แล้วกดปุ่ม OK
จะเห็นว่าหน้าแรกไม่มีเลขหน้า ตามที่ต้องการแล้ว

วันศุกร์ที่ 27 พฤษภาคม พ.ศ. 2554

LibreOffice สามารถอ้างอิงข้อมูลทั้งคอลัมน์ด้วย $A:$A ได้แล้ว

ก่อนหน้านี้การอ้างอิงข้อมูลของ OpenOffice.org นั้นต้องบอกข้อมูลเป็นช่วง เช่นถ้าต้องการจะอ้างอิงข้อมูลในคอลัมน์ A ทั้งหมด ต้องบอกเซลล์เริ่มต้นและเซลล์สุดท้ายให้ครบถ้วน เช่น A1:A1048576 ซึ่งยุ่งยาก ไม่สามารถอ้างอิงแบบ Excel คือ A:A ได้

ใน LibreOffice สามารถตั้งค่าได้ว่าการอ้างอิงนั้นจะใช้แบบ OpenOffice.org เดิม หรือเลือกใช้แบบ Excel

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

ผมเลยจำเป็นต้องสร้าง dynamic range เพื่อจะขยายช่วงข้อมูลหากมีการเพิ่มข้อมูลเข้ามา vlookup จะได้มองเห็นข้อมูลนั้น ซึ่งใน OpenOffice.org ผมจะใช้วิธีนี้
การทำ dynamic range ของผมใช้ฟังก์ชัน OFFSET ร่วมกับ COUNTA แต่ผมต้องกำหนดตำแหน่งเริ่มต้นและตำแหน่งสุดท้าย ผมคิดว่าวิธีนี้ไม่เวิร์ก เพราะไม่ต่างอะไรกันถ้าผมจะคลุมข้อมูลแบบวิธีแรกโดยคลุมเผื่อไว้กรณีมีข้อมูลเพิ่มเข้ามา และวิธีนี้ถ้าตำแหน่งที่ผมกำหนดไว้ไม่พอ ผมก็ต้องมาขยายข้อมูลอีกครั้ง ซึ่งผมว่าไม่เหมาะ

ใน LibreOffice แก้ปัญหานี้โดยการสามารถเลือกวิธีการอ้างอิงสูตรได้ โดยไปที่เมนู Tools - Options - LibreOffice Calc - Formula ด้านขวาให้เลือกแบบ Excel A1 แล้วกด OK
เมื่อเลือกเสร็จก็จะสามารถอ้างอิงแบบนี้ได้ครับ
ซึ่งผมมองว่าการอ้างอิงแบบนี้สะดวกกว่าแบบเก่า และ LibreOffice ดีตรงที่ว่าถ้าเครื่องผมตั้งแบบนี้ไว้ ไปเปิดกับเครื่องที่ตั้งเป็นรูปแบบของ OpenOffice.org โปรแกรมจะแปลงค่าให้สามารถใช้งานกับเครื่องนั้นทันที

การอ้างอิงแบบนี้สามารถไปใช้ประโยชน์อย่างอื่นได้อีกมากมายครับ

เพิ่มความรักให้แก่กันด้วยการสัมผัส

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

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

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

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

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

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

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

วันเสาร์ที่ 7 พฤษภาคม พ.ศ. 2554

การใช้ Advanced Filter ใน LibreOffice

ส่วนใหญ่ในการสอน OpenOffice.org/LibreOffice ของผม มักจะไม่ค่อยได้มีโอกาสสอน Advanced Filter เท่าไร เพราะการทำงานของ AutoFilter และ Standard Filter ก็เพียงพอ และใกล้เคียงกับการทำ Advanced Filter แล้ว จึงข้ามเรื่องนี้ไป แต่ก็มีคนถามบ่อยๆ ว่ามันใช้งานอย่างไร

วันนี้มีเวลาว่างจึงขอเขียนวิธีการใช้งาน Advanced Filter แบบที่ไม่ต้องไปกำหนดค่าอะไรมากมายแล้วกันนะครับ

เริ่มจากต้องมีข้อมูลก่อน
และส่วนต่อมาคือเงื่อนไขที่จะใช้กรองข้อมูล โดยสร้างเป็นอีกตารางหนึ่ง โดยมีหัวตารางเหมือนกัน
หลังจากนั้นก็เริ่มทำการกรองข้อมูลด้วย Advanced Filter ได้ โดยการคลุมข้อมูลทั้งหมด ในที่นี่คือตั้งแต่ A1:D13 แล้วไปที่เมนู Data > Filter > Advanced Filter
ในช่องที่ให้กรอก criteria ให้เลือกข้อมูลที่เป็นเงื่อนไขที่จะใช้กรอง ในที่นี้คือเซลล์ G1:J2 แล้วกด OK ก็จะได้ผลลัพธ์จากการกรองข้อมูล
สังเกตเงื่อนไขจากตัวอย่างข้างต้น เงื่อนไข "อายุ" กับ "ส่วนสูง" อยู่ที่บรรทัดเดียวกัน มีความหมายว่า อายุ มากกว่าหรือเท่ากับ 11 และ ส่วนสูง มากกว่า 140 แต่หากลองปรับเปลี่ยนให้เงื่อนไขอยู่คนละบรรทัดกัน ความหมายก็จะเปลี่ยนทันที
จากรูปด้านบน เงื่อนไขจะเปลี่ยนเป็น อายุ มากกว่าหรือเท่ากับ 11 หรือ ส่วนสูง มากกว่า 140 ซึ่งจะได้ผลลัพธ์ดังนี้
โดยผลลัพธ์แล้ว การใช้งาน Advanced Filter จะแสดงผลลัพธ์ไม่ต่างกับ AutoFilter ธรรมดา เพียงแต่ Advanced Filter สามารถสร้างเงื่อนไขได้มากกว่าการใช้ AutoFilter หรือ Standard Filter เท่านั้นเอง