ประวัติเอกสารจากหมวดหมู่ ‘Uncategorized’
ประสบการณ์ MacBook
หลังจากหายไปนาน อันเนื่องมาจากงานที่รุมเร้า และภาระอันมากมาย
ในที่สุดก็ได้ MacBook มาใช้งาน
มันง่ายกว่าที่คิด แล้วก็พร้อมใช้งานด้วย ใครอยากลองก็หาซื้อได้เลย ไม่ต้องกลัว
Font Hinting Solutions
ไปอ่าน Blog ของ พี่เทพ น่าสนใจดี


การพัฒนาความคิดเพื่อเพิ่มการสร้างสรรค์
หลายครั้งที่ได้ไปคุยกับผู้คนที่ไม่เคยคิดว่าจะได้พบ แต่เวลาคุยแล้วเราก็จะได้ประสบการณ์ใหม่ ๆ เสมอ และคราวนี้ก็เป็นอีกครั้งหนึ่งที่ได้ประสบการณ์ที่ดีกลับมา
ในงานที่ทำอยู่ปัจจุบันนั้น ถ้ามองดูแล้วมันดูว่าเป็นดำเนินการที่จะขัดกับพฤติกรรมของคนรอบข้าง (หรืออาจจะมองว่าคนไทยก็ได้มั้ง) แล้วคนที่ได้สนทนาด้วยนั้น ก็คิดเหมือนเราเลยแฮะ ติดที่ว่าเค้าเป็นผู้ใหญ่ เราก็เลยไม่ค่อยได้พูดอะไรมากมาย
หน้าที่การงานบางสิ่งนั้นดูแล้วไม่เหมาะสมกับนิสัยของคนไทยเท่าไหร่ เช่น การทำงานเป็นคณะ กลุ่ม หรือต้องการผลงานที่ออกมาเป็นกลุ่ม ซึ่งจะสังเกตได้จากการกีฬา เป็นต้น
อะไรที่เป็นกีฬาคนเดียวนั้น ดูจะเด่นเป็นพิเศษ แต่ว่า กีฬาที่ต้องเล่นกันเป็นกลุ่มนั้นดูจะแย่ หรือไม่ก็ไม่มีระเบียนเอาซะเลย ในส่วนตัวแล้ว ผมคิดว่ามีปัจจัยเกิดจากพื้นฐานบางประการของคนไทย คือ การที่ไม่ได้มีการพัฒนาการเป็นคนที่แสดงออก (ในทางที่ดี) และก็ไม่ได้ฝึกให้เป็นคนตามที่ตามที่ดี จึงทำให้เวลาผ่านไปนาน ๆ แล้วการทำอะไรเป็นกลุ่มจึงเิกิดการเรียนรู้การทำงานเป็นกลุ่มก่อนเสมอ กว่าจะรู้ว่าควรทำอย่างไร จึงต้องใช้เวลาค่อนข้างนาน พอสมควรหรือบางคนก็ไม่รู้เลย
ว่าซะนาน มามองสิ่งที่ใกล้ตัวดีกว่า “งานการพัฒนาโปรแกรมจากฝีมือคนไทย” เน้นนะครับต้องเป็นคนไทยล้วน ๆ เราจะสังเกตว่าการพัฒนางานโปรแกรมนั้น เรามีบุคลากรที่จบมามากมาย มีการสนับสนุนจากรัฐบาลค่อนข้างมาก ด้วยตัวนโยบายนั้นออกมาดีทีเดียว แต่ว่าการดำเนินการนั้นดูจะแย่ซะหน่อย ตัวอย่างเช่น เราจะพบว่านักศึกษาที่จบออกมาจากสาขาวิชาคอมพิวเตอร์ส่วนใหญ่ จะเข้าใจว่า จบออกมาแล้วจะเป็นแต่โปรแกรมเมอร์กันอย่างเดียวเลย ซึ่งที่จริงแล้วน่าจะมีอาชีพอื่น ๆ อีกมากมายที่รองรับ แต่ว่า ด้วยกระแสของสังคนจึงทำให้นักศึกษาส่วนใหญ่นั้นดูเหมือนว่าจะรู้แต่ว่า โปรแกรมเมอร์ พักหลังนี้ดีหน่อยครับ เพราะรัฐบาลออกมาบอกว่า เราจะเน้นไปทาง แอนนิเมชั่น (ฟังดูแล้วเข้าท่า แต่หาท่าที่จะจอดไม่มี) เพราะเราดันเน้นไปที่การทำเกมส์มาเกินไป ทำให้เราขาดความเข้าใจบางอย่าง คือ หัวใจของแอนนิเมชั่น ซึ่งไม่แปลกอะไรสำหรับนิสัยของคนไทย
แล้วคนไทยจะทำอะไรดี…
ในส่วนตัวแล้วคนไทยนั้นมีความสามารถในหลายด้าน ทำอะไรก็ดี ถ้าตั้งใจทำแล้วมีการสนับสนุนที่ดี การศึกษาเป็นตัวเริ่มต้นที่ดี มันควรจะเริ่มที่การเรียนตั้งแต่ระดับประถม ฝึกให้เด็ก ๆ ได้คิด ได้ลอง ได้ศึกษาด้วยตัวเองบ้าง โดยมีคนคอยดูแล ไม่ได้ให้คะแนนกับการทำข้อสอบ แต่ให้คะแนนจากประสบการณ์ที่เด็กๆ พัฒนา เพิ่มขึ้นเรื่อย ๆ อย่างเป็นระบบ ซึ่งก็ต้องมาจากการวางแผนที่ดี
…ยาวแหะ…
การเลือกจากสิ่งที่มีอยู่ การตลาดเสียงดัง
เหตุผลในการเลือกศึกษา หรือต้องเลือกใช้เครื่องมือนั้นมีไม่กี่อย่าง แต่ว่าสิ่งที่ต้องคำนึงถึงตลอดเวลาคือ ลูกค้า ซึ่งมันน่าแปลก เพราะว่า เราน่าจะเป็นผู้เลือกได้ดีกว่าลูกค้า (หรือเปล่า?) ด้วยเหตุผลที่ว่าเราได้ใช้เครื่องมือมามากกว่า
แต่เหตุผลที่การตลาดมาครอบครองการตัดสินใจนั้นคือ ความดังของมัน ตัวอย่างเช่น Java, .NET, PHP, Python หรืออื่น ๆ อีก เข้าใจว่า หลาย ๆ คนแรก ๆ ก็เลือก Java ด้วยเหตุผลทางการตลาด ต่อมาก็ .NET แต่แล้ว เมื่อได้ทดลองทำแล้วปรากฎว่า ในใจคิดว่า ต้องลองอย่างอื่นดูบ้าง แล้วก็ได้คำตอบอย่างที่คิด ว่าทำไมถึงตัดสินใจเลือก 2 อย่างนั้นก่อน
แต่กว่าจะรู้นั้นบ้างก็เดินมาครึ่งทางแล้ว หวนกลับไม่ได้ ก็เลยต้องเดินลำบากต่อไป…
How to build .deb package
อันนี้ขอจดมาจาก คุณ MK ครับ
จะช่วยพี่เทพทดสอบ patch ของ บั๊ก libthai ใน Ubuntu Feisty ก็พบปัญหาแบบงี่เง่าสุดๆ คือ build .deb ไม่เป็น (ทำเป็นแต่ RPM)
สุดท้ายก็ทำได้ด้วยความช่วยเหลือจากคุณ sugree (อีกแล้ว) เลยต้องจดไว้กันลืม ถือโอกาสยกตัวอย่างของจริงเลย
- ดาวน์โหลด source package (.tar.gz) จากที่นี่ แล้วแตก tar xvfz
- ดาวน์โหลด patch (diff.gz) มาไว้ในไดเรคทอรีที่สร้างไว้จากข้อตะกี้
- patch มันซะ แต่ว่ามันเป็นไฟล์ gzip มาอีกชั้น เลยต้องมีทริกนิดนึง ใช้ zcat ช่วย
zcat pango-libthai_0.1.6-3ubuntu1.diff.gz | patch -p1
- ทำการสร้าง .deb ด้วยคำสั่ง
debuild -i -us -uc -b
- เนื่องจาก Feisty ลงใหม่ยังไม่มีอะไรเลย มันจึงไม่มี debuild แต่ตอนนี้โลกพัฒนาไปมาก มี command-not-found แสนจะสะดวกสบาย ลงแพกเกจ devscripts เพิ่ม
- pango-libthai ต้องการ dependency สองสามตัวที่ไม่ลงมาในระบบมาตรฐาน วิธีแก้ก็ก็อปตัวที่มันฟ้องมา sudo apt-get install จากนั้นสั่ง debuild ใหม่
- แพกเกจที่ได้จะอยู่นอกไดเรคทอรีนั้นหนึ่งชั้น เป็นไฟล์ .deb ทดสอบติดตั้งแพกจเกจโดยสั่ง sudo dpkg -i
เช็คว่าแพกเกจทำงานได้เรียบร้อยสมบูรณ์ ก็ตอบคอมเมนต์บั๊กนั้นไปสักนิด เผื่อว่าทีม Ubuntu จะเห็นความตั้งใจ (ของพี่เทพ) แล้วช่วย commit ให้เร็วขึ้น
Software และความสำคัญของผู้ใช้งาน
สิ่งที่สำคัญอันหนึ่งที่หลายๆ คนควรให้ความสนใจเป็นอย่างมากในการพัฒนา Software คือ Software ต้องการผู้ใช้งาน ตัวอย่างเช่น Microsoft ทำผู้ใช้งานให้เกิดก่อนโดยใช้ความสวยงามเป็นตัวดึงดูด จากนั้นค่อย ๆ เพิ่มความรู้เข้าไปทีละน้อย ค่อยๆ เป็น ค่อยๆ ไป เมื่อได้จำนวนผู้ใช้งานระดับหนึ่งแล้ว การใส่สิ่งใหม่ๆ ไปให้ลองนั้นเป็นเรื่องง่ายมาก ลองดูอันนี้ครับ
1. MS DOS
2. WIN3.11
3. Win98
4. Internet Explorer
5. Hotmail
6. Window Media Player
7. MSN
จะเห็นว่า การที่ Microsoft ประสบความสำเร็จนั้นไม่ได้อยู่ที่ตัว Software แต่อย่างใด สิ่งที่ทำให้ Microsoft ประสบความสำเร็จนั้นคือ จำนวนผู้ใช้งานที่พร้อมจะลองใช้งานต่างหาก
สรุป Software เป็นสิ่งที่ทำมาเพื่อให้มีผู้ใช้งาน การพัฒนา Application จะดีเพียงใด ถูกใจ Programmer มากขนาดไหน ถ้าไม่มีุผู้ใช้ังานเลย Software ก็จะไม่เกิดประโยชน์
readline กับ PostgreSQL บน AIX 5.2
บางอย่างที่คิดว่าทำำสำเร็จแล้ว นั้นไม่ใช่ว่าจะใช้งานได้เสมอไป… ตัวอย่างเช่น
วันก่อนลอง Compile DBMS PostgreSQL ใหม่บนเครื่อง AIX 5.2 ด้วย option ดังต่อไปนี้
./configure --prefix=<Destination> \
--without-docdir \
--without-tcl \
--with-openssl \
--with-zlib
gmake
gmake install
แต่พอลอง initdb ดู มันไม่สำเร็จแฮะ ดังนั้นจึงจำเป็นต้อง –without-readline ดูอีกที
จึงเข้าใจว่ามันเป็น BUG ของ PostgreSQL เอง (ต้องอ่าน FAQ_AIX)
สรุปเลยต้อง Compile 2 ครั้งโดยแยกตัวทำ initdb และ ตัวใช้งานออกจากกัน
Cathedral and Bazaar, มหาวิหารกับตลาดสด
ครั้งก่อนอาจารย์ได้ให้หนังสือเล่มหนึ่งชือว่า Cathedral and Bazaar ด้วยหน้าปกที่ดูเหมือนหนังสือทางศาสนา ผมจึงไม่ได้สนใจก็เลยปล่อยผ่านเลยไป ผ่านมา1 ปี ได้มาอ่านภาคภาษาไทย โอ้ย… ทำไมไม่่อ่านตั้งแต่ตอนนั้นนะเนี่ย….
Insert Into … เยอะๆ
พักหลังๆ ผมมีประสบการณ์ในการนำข้อมูลจากฐานข้อมูลอีก DBMS เดิม ไปยัง DBMS ตัวใหม่ วิธีที่ดีที่สุดเท่าในขณะนี้ก็คือ ทำเป็น Script Insert (พวก Insert Into)
เมื่อก่อนถาม Google ว่ามีโปรแกรมอะไรช่วยได้บ้าง แต่พอลองใช้ดู ไม่มีตัวไหนประทับใจเลย แถมยังไม่สามารถทำงานได้กับจำนวน Record เยอะๆ ได้ดีด้วย
สุดท้ายก็เขียน Query ทำเป็น Insert Into ดู.
ถ้าเป็น Oracle run ด้วย SQLPLUS
sqlplus> @ <ชื่อไฟล์ที่ได้ทำ Script ไว้แล้ว>
แต่ถ้าลำคาญเรื่องที่ต้องมาใส่ตัวค่าตัวแปร (พวกที่มี & นำหน้า) ให้ใช้คำสั่งนี้เลย
sqlplus> SET DEFINE OFF
ถ้าเป็น PostgreSQL ก็ทำ
dbname# \i <Filename>
ปล. การทำแบบนี้จะนำข้อมูลขึ้นที่ DBMS ตัวใดก็ได้ครับ
เริ่มปฐมบท…
ครั้งแรก ๆ ที่ได้บันทึกข้อความช่วยเตือนความจำนั้น ผมก็เริ่มจาก falconspice.googlepages.com แต่ว่าพยายามใช้ google.com ค้นหาอย่างไรก็ไม่เจอข้อความตัวเองซักที เพราะบันทึกแต่ละอย่างนั้นมีประโยชน์ต่อผู้อื่นเหมือนกัน (คิดเอาเองนะ…) จึงได้มีโอกาสตัดสินใจเลือกที่จะย้ายออกจาก google
หามาหลายอันแล้ว ติดอยู่ที่ว่าเท่าที่ได้เห็นนั้นมักจะเกิดจากการที่ไปนำข้อมูลมาจากที่อื่นแล้วแปลเป็นภาษาไทย บ้างก็เป็น blog เกี่ยวกับคอมพิวเตอร์ ซึ่งคงจะจำกัดการ blog อยู่บางอย่างเท่านั้น
แล้วผมก็เริ่มเขียน สักที
ให้ความเห็น
ให้ความเห็น
ให้ความเห็น