Uncategorized

หนังสือ 10 เล่มของชีวิตผม

หลายวันก่อนเก่ง  Phakin Chaikaew ส่งสาส์นท้า Book Bucket มา ก็ขอกราบส์ขอบพระคุณมา ณ ที่นี้  555

ถ้าให้เลือกหนังสือ 10 เล่ม ผมก็ขอเลือกหนังสือที่ผมมีความทรงจำ และความประทับใจดีๆ กับมัน เอ้ามาว่ากันเลย

1) ขอให้รักเรานั้นนิรันดร

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

ผมยอมให้คุณประภัสสร บิ้วอารมณ์ตั้งแต่บทแรก แล้วไปร้องไห้ฟูมฟายในบทสุดท้าย

และหนังสือก็เป็นส่วนนึงในชีวิตผมตั้งแต่นั้น

2) Personality Plus

หนังสือเล่มนี้เปลี่ยนทัศนคติในหัวผมอย่างมาก มันทำให้ผมเข้าใจว่าเราจำเป็นต้องมีคนที่มีบุคคลิกและทัศนคติที่แตกต่างกันในสังคม คนที่มีพื้นฐานทางอารมณ์แต่ละแบบก็จะส่งผลต่อสังคมในลักษณะที่ต่างๆ กัน

3) เคล็ดวิชา Executive MBA @Harvard

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

4) Night Fall — Nelson DeMille

ลุง XOOMER รองประธานบริหารของนกแอร์แนะนำหนังสือเล่มนี้ให้พวกเราอ่าน และเป็นหนังสือนิยายแปลเรื่องแรกที่ผมอ่านเลยครับ เป็นเรื่องของเที่ยวบิน TWA800 ที่ประสบอุบัติเหตุเมื่อหลายปีก่อน ….(มีคนเอา plot เรื่องแบบนี้ไปมโนเป็นเรื่องเกี่ยวกับ MH317 ที่หายไปเมื่อต้นปีด้วย)​ สนุกและชอบมาก ผมก็เริ่มอ่านหนังสือนิยายแปลหลังจากนั้น

5) ตำรา 101

หนังสือเล่มนี้รวบรวมนักเขียนดังๆ มาเขียนเรื่องสั้นราวกับเป็นตำราการใช้ชีวิตเบื้องต้น …​ และหนังสือเล่มนี้เองทำให้ผมทึ่งกับ “วิชาชิน” ของนิ้วกลมเหลือเกิน

6) ฆาตกรรมกลางทะเล — พุ่มรัก พานสิงห์

มีผู้หญิงคนนึงชอบอ่านหนังสือเล่มนี้ … ผมเลยอ่านบ้าง … ผมรู้สึกเช่นเดียวกับเธอ นิยายสืบสวนสอบสวนสไตล์ไทยๆ + ความเสี่ยวของพุ่มรัก ทำเอาผมวางหนังสืเล่มนี้ไม่ลงจริงๆ

7) ช่างภาพโรงผี

ไม่รู้สิ …​ ผมรู้สึกว่าเป็นนิยายแนวฆาตกรรม สืบสวน ที่มีฉากอิโรติคเด็ดที่สุดในประเทศไทยแล้ว อ่านจบแล้วถึงกับค้าง…..

8) พฤติกรรมพยากรณ์

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

9) Try  — วงศ์ทนง ชัยณรงค์สิงห์

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

10) เอาตัวรอดด้วยทฤษฎีเกม

มันเป็นหนังสือเล่มเล็กๆ ที่คุณนรินทร์เอาทฤษฎีเกมมาเล่าให้ฟัง หนังสือเน้นเนื้อหาล้วนๆ น้ำไม่ค่อยมี แล้วมันทำให้ผมผูกโยงทฤษฎีที่เรียนมาในมหาวิทยาลัยมาใช้กับในชีวิตจริงได้ ผมไล่อ่านไล่เก็บหนังสือเกือบทุกเล่มของคุณนรินทร์หลังจากนั้น (รวมทั้งหนังสือคอมฯ ด้วย)

ครบแล้วนะ .. ขอบคุณครับ 🙂

Uncategorized

Barcode CODE39 and CODE128

วันก่อนพี่ฝ่าย Sale โทรมาเรียก … “ช่วยพี่หน่อย ลูกค้าต้องการ TAG ที่มี Barcode แบบนี้ พี่เลยทำเองใน Excel ไม่รู้ว่าใช้ได้หรือเปล่า” ในเอกสารนั้นลูกค้าต้องการ Barcode ที่เป็น CODE128 แต่พี่เขาเคยแต่แต่อันที่มันเป็น CODE39 (3 of 9) ก็เลยต้องช่วยพี่เขาแก้ไข Excel ไปยกนึง 

มาทำความรู้จักกับ CODE39 กันก่อน

Barcode ที่เป็น Code39 นั้นสร้างง่ายมาก แค่มี Font ที่แทนตัวอักษรต่างๆ ด้วยแท่งขาวดำ แล้วเราก็พิมพ์ตัวอักษรของเราธรรมดานี่แหล่ะ แล้วเติมเครื่องหมาย “*” ให้ปิดหัวปิดท้ายมันหน่อย มันก็เป็น Barcode ที่พร้อมใช้งานเลย

excel-code-39

 

     Code39 เองจะถูกจำกัดด้วยจำนวนตัวอักขระที่เป็นไปได้ 43 แบบ คือ A-Z (26 ตัว)   0-9 (10 ตัว)  และ  + – * / $ %  และ ช่องว่าง  นอกจากนั้นก็จะมี  * (เครื่องหมายดอกจัน) ไว้ปิดหัวปิดท้าย   

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

 แล้ว CODE128 ?

     การสร้าง Code128 นั้นแม้จะสามารถสร้างด้วย Font Code128 แต่ก็มีความยุ่งยากในการสร้างพอสมควร ก่อนที่จะไปดูความยุ่งยากของมันเราไปดูเรื่องความสามารถและข้อจำกัดมันก่อนดีกว่า

Code128 มี 3 subtype คือ Code-128A, Code-128B และ Code-128C ซึ่งแต่ละ Subtype ก็มีคุณสมบัติแตกต่างกัน

  • แต่ละ Subtype ก็จะมีจำนวนตัวอักขระที่เป็นไปได้ 108 แบบเท่ากัน (ส่วยที่เป็นข้อมูลมี 103 แบบ , START 3 แบบ และ STOP  2 แบบ) แต่ว่าแต่ละ Subtype นั้นก็จะมีตัวอักขระในส่วนที่เป็นข้อมูลที่ไม่เหมือนกัน
  • เราสามารถนำทั้ง 3 Subtype มาผสมกันในแท่งเดียวเพื่อให้มันแสดงตัวอักษรได้ 127 แบบด้วยนะ
  • แต่ละ Subtype จะมีตัวเริ่มต้น ไม่เหมือนกัน แต่จะมีตัว STOP เหมือนกัน
  • แต่ละ Subtype จะมีตัว CheckDigit เหมือนกันด้วยการ Modulo 103 และแต่ละผมขออธิบายแค่ Code-128B ที่ผมทำให้พี่ฝ่าย SALE นะครับ รายละเอียดเพิ่มเติมอื่นหาดูที่ได้ http://en.wikipedia.org/wiki/Code_128

Code-128B จะใช้ ASCII ตัวที่ 32 ไปจนถึง 127 และ Special Characters ไอ้เจ้า ASCII ตัวที่ 32 จนถึง 127 นั้นมีอะไรบ้างก็ดูตามภาพได้เลยครับ

2_18_8_1_eng

ดังนั้นสมมติว่า เราต้องการสร้าง Code-128B ของผลิตภัณฑ์ชื่อ  FCA-1A  เราก็ต้องเตรียมข้อมูลเพื่อสร้างเป็นแท่ง Barocde Code-128B ดังนี้

[START SUBTYPE B]
F
C
A

1
A
[CHECK DIGIT]
[STOP]

ตารางค่าของตัวอักษรแต่ละตัวก็ดูได้จาก http://en.wikipedia.org/wiki/Code_128#Bar_code_widths

จากตารางเราจะเห็นว่า ตัว START SUBTYPE B มีค่าเป็น 104  , ตัว F มีค่าเป็น 38 … ที่นี้เราก็ต้องมาคำนวนเพื่อหา CHECK DIGIT กัน 

การหาค่า CHECK DIGIT

   ให้เราเอาค่าของแต่ละตัวอักษร มาคูณด้วยตำแหน่งของมัน  เอาผลบวกของผลลัพธ์ที่เราได้มาทั้งหมดหารด้วย 103  ได้เศษเท่าไหร่ ตัวอักษรที่มีค่าเท่ากับเศษเหลืออันนั้นคือ Check Digit มาดูตัวอย่างจากข้างบนการสร้าง Subtype B ของ FCA-1A

[START SUBTYPE B]      —>  104 *  1  = 104
F   —> 38 * 2 = 76
C  —> 35 * 3 = 105
A  —> 33 * 4  = 132
–   —> 13 * 5  = 65
1  —> 17 * 6  =  102
A  —> 33 * 7  =  231

 

ผลลรวม คือ 104 + 76 + 105 + 132 + 65 +102  + 231 = 815
หาร ด้วย 103 แล้วดูเศษเหลือ    จะได้  815 / 103 = 7 เศษ 94

ซึ่งค่า 94 ก็คือตัวอักษร   ~

จากนั้นเราก็ปิดท้ายด้วย STOP  ที่มีค่าคือ 106

เราก็จะได้ข้อมูลที่จะเอาไปแสดงเป็นแท่ง Barcode คือ  [START SUBTYPE B]FCA-1A~[STOP]

เท่านี้แหล่ะก็เรียบร้อย

 

ถ้าเราหวั่นใจว่า เห้ย นี่กรูต้องมาคำนวนเองขนาดนี้เลยเหรอ ….

ไม่ต้องครับ มีคนเขาเขียน Macro ไว้ให้เรียบร้อย http://stackoverflow.com/questions/13909248/generating-code-128-barcodes-using-excel-vba

(Code นี้ยังมี Bug อยู่นะ)

ปล. ควรใช้กับ Font ที่เขาเตรียมไว้ด้วยนะขอรับ