[CR] เครื่องบันทึกเสียง Sony ICD-UX560F

หลังๆมาผมพบว่าใช้วิธีการอัดเสียงเยอะมาก ตั้งแต่ พอดีช่วยปลายปี 2559 มีมหกรรม ช๊อปช่วยชาติ ไม่เกิน 15,000 บาท เพื่อเอาไปลดหย่อนภาษีครับ ผมเลยตัดสินใจว่าจะเปลี่ยนจากเดิมที่ใหญ่ Tablet Samsung Galaxy Tab A มาเป็นเครื่องบันทึกเสียงครับ งบไม่เกิน 3,500 บาท สำหรับยี่ห้อที่สนใจของผมมี Sony กับ Olympus ครับ แต่พอไปดูจริงแล้ว Olympus แพงเกินงบไปเลย เลยเหลือ Sony ร่นที่มี 3 รุ่น ดังนี้ สำหรับผม เลือกตัว ICD-UX560F ราคา 3,340 บาท ครับ มองว่าเป็นของขวัญจาก Santa เวลาผ่านไปเนิ่นนาน ตอนนี้มาถึง 2017-05-05 แล้ว มารีวิวดีกว่าครับ ว่าใช้ไปแล้ว เป็นยังไงบ้าง สำหรับผมเครื่องอัดมันดีกว่าครับ โดยลองมาดูข้อสังเกตุ แต่ละข้อกันครับ

[C#] How to Get property name from object

งานของผมใช้ Dapper แล้วปัญหามันมีอยู่ว่าตอนสร้าง predicate(เงื่อนไข) มันต้องเอาชื่อ Property ไป Where ทำให้มันมีความเสี่ยงมาก ถ้าแก้ชื่อ Property แล้ว Refactor ไม่ครบครับ ผมเลยทำ Helper มาเพื่อช่วยให้มันไป Get ชื่อ Property จากตัว Object ซะเลยครับ ได้มาเป็น Update 2019-05-23 จากแบบที่สอง เราสามารถใช้ nameof ได้เลยครับ ตัวอย่าง ตามนี้เลย แถม Code สั้นกระชับด้วย สำหรับถ้าใครอยากอ่าน Step การ Research ของผม ตามนี้เลยครับ แบบที่ 1: Get Property with create an instance – ตัวอย่างการใช้งานครับ Trade-off: ปัญหาของแบบแรก คือ ต้องมีการ new Object ขึ้นมาครับ เสีย Cost มาแก้เป็นแบบที่สองดีกว่า แบบที่ 2: Get Property without create an instance – ตัวอย่างการใช้งานครับ จบไปแล้วกับ Blog ในสาย Coding ที่ทิ้งห่างไปนานพอสมควร หลังจากที่เริ่มเรียน ป โท ครับ  

[CR] พัดลมไอเย็น Hatari HT-AC33R1

หลังจากที่ไม่ได้อยู่บ้านยาวๆ มานาน เยื่องจากต้องทำงานในวันหยุด และมีเรียนปริญญาโทครับ ช่วงสงกรานตืเป็นช่วงที่ได้อยู่บ้านานๆทีครับ แต่มันร้อนมากกกกก เปิดแอร์ไปเปลืองไฟ (แอร์ที่บ้านเก่าแล้วครับเกือบ 20 ปีได้) ผมเลือกตัดสินใจมาที่ Homework ราชพฤกษ์ครับ เพื่อ กินเป็ด MK, ตากแอร์ กับสำรวจข้อมูลพัดลมไอเย็นใน Power Buy ครับ สำรวจข้อมูล หลังจากกำหนดความต้องการของตัวเองมาแล้ว และลองสอบถามคลังความรู้อย่าง Pantip (หลังๆมีอะไร ผม Search Google เติม Keyword Pantip เสริมเข้าไปครับ) ก็ได้ Range แล้วว่าคงเลือกรุ่นกลางๆครับ เพราะ รุ่นเล็กไปมันไม่ได้ช่วยอะไร และถ้าเลือกรุ่นที่ใหญ่เกินไป เมื่อเทียบกับขนาดหน้า มันทำให้ห้องชื้นได้ครับ โดยรุ่นที่ผมผ่านเกณฑ์มี 2 ยี่ห้อครับ Properties Masterkool MIK-20EX Hatari HT-AC33R1 ปีที่จำหน่าย 2556 2559 ช่องเติมน้ำ อยู่ด้านหน้าเลย อยู่ด้านหลัง ออกแบบมาสำหรับใส่ Cooling เจล ความจุของถังน้ำ 23 ลิตร  28 ลิตร  Remote  มี  มี  ตั้งเวลา  เลือกได้ 1,2,4 หรือ 8  เลือกได้ 1,2,4 หรือ 8 แผงทำความเย็น 3 แผ่น ซ้าย/ขวา และตรงกลาง 3 แผ่น ซ้าย/ขวา และตรงกลาง (มีเคลือบสารสีน้ำเงิน เพื่อสะดวกแก่การถอดล้าง และความสวยงาม)  แผงกันฝุ่น  –  มี ตัดปัีมอัตโนมัติ เมื่อน้ำหมด มี  มี  ความแรง  4 ระดับ  4 ระดับ Feature อื่นๆ…

[MyCourseVille] Assignment-ส่งการบ้าน

มาจด Note ไว้นิดนึง หลังจาก Blog ก่อน มีการเกริ่นนำตัว MyCourseVille ไปนิดหน่อย คราวนี้มาอัพ Blog สรุปไว้ก่อน เพราะ ารส่งการบ้าน ตอนแรกเข้าไปไม่มีช่องให้ส่งตามรูปเลย 5555 เพิ่งมารู้กันภายหลังทั้ง Sec ว่า เราต้องสร้าง Group ก่อนนะ จึงสามารถ Upload ไฟล์ส่งอาจารย์ได้ครับ ปล. Blog นี้ดองมานานเกิ้นน จนมาเคลียร์ Desktop เลยเอามาเขียน หุหุ

The Clean SQL

ถ้าจะถามภาษาที่นิยมที่สุด มาเป็นเวลาอย่างยาวนานแล้ว มันมีภาษานึงครับที่ยอดฮิตตั้งแต่อดีตจนถึงปัจจุบัน และในอนาคตอีกหลาย 10 ปีครับ ภาษานั้นก็คือ ภาษา SQL ครับ สำหรับตัว SQL หรือ Structured Query Language มีไว้ เพื่อจัดการกับข้อมูลเป็นหลักครับ แม้ว่าตัว SQL ช่วยให้เราจัดการชีวิตได้ง่ายขึ้นแล้ว อยากได้ข้อมูลเขียน SELECT * FROM TABLE WHERE CONDITION ได้ข้อมูลมาแล้วครับ ถ้าในยุคแรกๆนี้เขียน Relational Algebra เพื่อมาหาข้อมูลกันเลย แต่ตัว SQL มันมีปัญหาในตัวเองครับ กว่าจะรู้ว่าเขียน Query ไม่ใช่ตอน Complie Time นะครับ แต่เป็นตอน Run Time จากข้อที่แล้ว ปัญหานี้แก้ได้โดยการใช้ ORM เข้ามาช่วยครับ แต่มันช่วยได้ระดับนึงครับ เพราะ งานจริงๆ SQL มันไม่ได้สั้นๆ 2-3 บรรทัดครับ แต่มันยาว 1 หน้า A4 ครับ SQL ที่ไม่ดีเป็นยังไง อ่านยาก  SQL ขนาด 1 หน้า A4 แต่ย่อตบๆให้เหลือ 2 บรรทัด การตั้งชื่อตัวแปร หรือ Alias ที่ไม่สื่อความหมายเลย ทำยังไงใช้ SQL มัน Clean ได้หละ Naming ตั้งชื่อให้มันสื่อ Column นี้ เพื่ออะไร AccountCode หรือ A-Code ชื่อไหนง่ายกว่ากัน Alias ไม่ต้องตั้ง A B C D ตั้งชื่อย่อ ที่เราและทีมที่ทำด้วยกัน เข้าใจครับ ชื่อ Column…

[FV] ลองใช้ CPN เขียน Coloured Petri net

หลังจากเรียนทฤษฏีแล้ว ลงโปรแกรม แล้ว อ ให้ลองปฏิบัติจริงครับ โดยการลองใช้ตัว CPN มาเขียน Coloured Petri net ตาม Workshop แต่ละข้อครับ เกริ่นนำ Coloured Petri net ตัว Petri net เป็นการ Modeling(จำลอง) ระบบขึ้นมา เพื่อตรวจสอบเรื่อง Concurrent ครับ ส่วนประกอบ Place Transition Token Arc Workshop ที่ทำกันครับ Dinner philosopher Simple Protocal Order Online ปัญหาที่เจอ หลักๆที่เจอเลย คือ ว่า Notebook ผมใช้ตัว CPN Tools เวอร์ชั่นล่าสุดไม่ได้ครับ เวอร์ชั่น 4.x ปัญหา Simulation ไม่ได้ โดยสาเหตุ อาจจะเกิดจากใช้ตัว Java แบบ 64 ฺbits แต่ตอนนั้นยังไม่อยากเสี่ยงเอา Java ออกเดี๋ยวกระทบกับงานเลยใช้ CPN Tools เวอร์ชั่น 3.40 แต่จะมีปัญหาการ Generate State Space แล้วออก Report ครับ แต่ Simulation ได้ ผมเลยใช้เวอร์ชั่นนี้ทำ Workshop ครับ

[CR] เปลี่ยนพื้นรองของรองเท้าใหม่

หลังจากให้รองเท้าคู่นี้มาปีกว่าๆ พื้นรองถูกถอดซักหลายครั้งจนมันโทรม ดังรูป หลังจากทนใช้มาอีกสักพักใหญ่ๆ ผมตัดสินใจและ เพื่อสุขภาพเท้า (ขี้เกียจซัก และเย็บซ่อมแล้ว) เราไปหาพื้นรอง รองเทาอันใหม่เถอะ ว่าแล้วไปตรงที่เซ็นทรัลปิ่นเกล้า เข้าไปที่ Tops ไปดูตรงที่ขายถุงเท่า ไม่มี ต้องไปหาในส่วนที่ขายพวก น้ำยาขัดรองเท้าถึงจะมีนะ ผมเลยเลือกสุ่มมันยี่ห้อนึงครับ ชื่อ HELLOHEEL  ห่อละ 79 บาท แถมสรรพคุณในการช่วยดับกลิ่น ลองแกะออกมาครับ เราจะพบว่ามันต้องตัดให้มันพอดีกับขนาดเท้าด้วย ตรงนี้ทางผู้ผลิตมีเส้น Guide ให้แล้ว ว่าขนาดเท้าผู้ชาย ผู้หญิงเป็นอย่างไร วัดแล้วตัดๆ เลยครับ จากนั้น นำมันไปยัดมันไว้ในรองเท้าครับ จบเรียบร้อย จากที่ลองใช้มา 2 สัปดาห์ ผมรู้สึกโอเคมากครับ สบายเท้า และกลิ่นก็ไม่มี (ทางผู้ผลิตแนะนำว่าควรเอาออกมาตากลม หรือซักอาทิตย์ละครั้งนะครับ)

[FV] ลงตัว CPN Tools

สำหรับ Blog นี้ หลังจากลอง Spin แบบมืนๆงงๆกันมาแล้ว คราวนี้มาลองลงตัว CPN Tools ซึ่งเป็นเครื่องมือสำหรับจัดการพวก  Petri nets หรือ Colored Petri nets ครับ โดย Tools เป็นการพัฒนาด้วยภาษา Java ครับ มาเริ่มลงโปรแกรมกันดีกว่า ขั้นตอนการลงโปรแกรม Download ตัวโปรแกรมมากันก่อนเลยครับ จาก  สำหรับผมใช้ Windows ครับ กด Next ยาวๆไปครับ ดูรูปได้จาก Gallery ครับ ลองเปิดโปรแกรมดูครับ ถ้าไม่ขึ้นต้องลอง Set JAVA_HOME ครับ หลังจากเปิดขึ้นมาแล้ว ลองคลิกขวา New Page ดูครับ ถ้ามันมีฟ้อง firewall อะไร ก็กด Allow ตามรูปครับ ลองคลิกขวา เป็นเมนูแบบวงกลมครับ ผมเข้าใจว่ามันเพิ่งมามีใน Dev-Express แสดงว่ามันมีมาน่าจะหลายปีแล้วครับ สำหรับการลง CPN Tools ดูลงง่ายกว่าการลง SPIN ในครั้งก่อนเยอะครับ หรือว่า Tools ที่จำเป็นบางตัวมันลงไปแล้วตอนลง Spin โดยโปรแกรมนี้เป็น GUI แล้ววาดพวก Graph ครับ น่าจะดูง่ายและเข้าใจง่ายนะครับ (ความเห็นก่อนเรียนจริง ฮ่าๆ) Reference CPN Tools – Download CPN Tools – First steps

[CUSE] Discussion Paper ครั้งแรก

Blog นี้เป็น Blog ที่ดองมานานเกือบเดือนครับ เพราะจำได้ว่ารุ่งขึ้นมีสอบครับ ระหว่างอ่านทบทวนก็เริ่มเบื่อเลยมาเขียน Blog ดองไว้ครับ สำหรับการนำเสนอ Paper ครั้งนี้เป็นของวิชา Software Metrics ครับ โดยตัว Paper ที่กลุ่มผมนำเสนอชื่อว่า Applying Metrics to Identify and Monitor Technical Debt Items during Software Evolution ใน Paper นี้เป็นการบอกว่าเมื่อ Software มีการวิวัฒนาการขึ้นไปเนี่ย ถ้าเรามีการจัดการมันไม่ดี ทั้งด้าน Requirement Resource และเวลา ส่งผลให้ระหว่างที่ Software มันสร้างมูลค่าให้องค์กร ตัวมันเองยังแอบสะสมหนี้เสียด้วย โดยคุณ Ward Cunningham ได้นิยามคำขึ้นเพื่อเรียกว่า Technical Debt ครับ ในตัว Paper พยายามนำ Software Metrics มาแสดงความสัมพันธ์กับตัว Technical Debt ครับ โดย Metrics ที่เอามาอ้างถึงมีดังนี้ Couplings Metric Afferent Couplings (AC) – วัดจำนวน object อื่นๆ ที่มาใช้งาน object หนึ่ง เช่น A, B, C มาใช้งาน C แสดงว่าค่า Afferent coupling = 3 Efferent Couplings (EC) –  วัดจำนวน object อื่นๆ ที่ถูกใช้งานจาก object หนึ่ง เช่น A, B ถูกใช้งานจาก C แสดงว่าค่า…

n-tuple กับ n tuple

วันนี้เรียนวิชา Formal เรื่อง Coloured Petri Net เห็นใน  Slide มันเขียน nine-tuple ซึ่งการเขียน n-turple กับ n turple มันสื่อความหมายต่างกันออกไปครับ โดยที่ n-turple หมายถึง จำนวน Element ของในแต่ละ tuple n turple หมายถึง จำนวนของ tuple ถ้ายังงงลองมาดูตัวอย่างเสริมกันครับ จากรูป n-turple = 3 แต่ n turple = 12 ถ้าใครอ่าน paper บ่อยๆ คำนี้ถูกใช้บ่อยมากครับ ดูเป็นศัพท์วิชาการมากกว่าคำว่า Column และ Record ครับ