#Update ปรับปรุงธีมมืด Surveyor Pocket Tools

นานมากแล้วไม่ได้จับภาษาไพทอนอีกเลยเกือบจะร่วมๆสองปีแล้ว เพราะผมใช้เวลาว่างพัฒนาแอพด้วย Dart/Flutter ส่วนใหญ่ขลุกอยู่กับภาษาดาร์ทตลอดมาสองปี ไม่นานมานี้ได้กลับมาใช้ไพทอนอีกครั้ง นั่งงงกับโค้ดไพทอนที่เขียนไว้ว่าตัวเองมาทำอะไรที่นี่ สักพักใหญ่ๆค่อยๆรื้อฟื้นความจำ ในครั้งนี้ใช้ Visual Studio Code (VS Code) เพื่อแก้ไขโค้ดโปรแกรมแทนเดิมๆที่เคยใช้ Pycharm เพราะหลังจากใช้ VS Code ในการพัฒนาแอพด้วยภาษาดาร์ททำให้ติดใจ ชอบในความเบาและรองรับได้หลากหลายภาษามาก…

Continue Reading →

สร้างไฟล์ยีออยด์โมเดล TGM2017 สำหรับ Hi-Target (*.grd) ด้วย Python

ผมได้แปลงแบบจำลองยีออยด์ TGM2017 ไว้หลากหลายรูปแบบเพื่อให้สามารถนำไปใช้กับเครื่องรับสัญญาณ GNSS หรือโปรแกรมไว้หลากหลายเกือบจะครอบคลุมทั้งหมด ไม่นานมานี้มีผู้ใช้ของ Hi-Target แบรนด์จากจีนต้องการยีออยด์ในรูปแบบไฟล์แอสกี้ (*.grd) สังเกตุก่อนหน้านี้ไฟล์แบบจำลองความสูงยีออยด์จะเป็นไบนารีทั้งหมด เหตุผลที่ใช้ไบนารีคือเป็นไฟล์ที่เปิดอ่านไม่ได้ด้วยโปรแกรมทั่วๆไป นอกจากจะใช้ hex editor เพื่อปิดโอกาสไม่ให้ผู้ใช้เข้ามาแก้ไขไฟล์ ด้วยความเผลอเรอ จะทำให้โครงสร้างไฟล์เสียหาย รูปแบบข้อมูลไฟล์แอสกี้ (*.grd) สำหรับไฟล์แอสกี้…

Continue Reading →

Dart & Flutter : เส้นทางขวากหนามกับไลบรารี PROJ แบบเนทีฟบนแอนดรอยด์

เริ่มต้นจากศูนย์ที่ต้นซอยด้วยการพัฒนาแอพด้วยดาร์ทและฟลัตเตอร์ จากที่ยืนหันรีหันขวางแบบยืนงงว่าจะไปทางไหน ตอนนี้ภาษาดาร์ทได้เริ่มซึมซับเข้าสมองมาบ้างแล้ว เริ่มจากคลานตอนนี้พอจะเดินได้แบบเตาะแตะ เคยบอกไปว่าบนฟลัตเตอร์มีไลบรารี Proj4 ชื่อ Proj4Dart แต่มีปัญหาแปลงพิกัดได้คลาดเคลื่อนโดยเฉพาะระบบพิกัดรถไฟความเร็วสูงไทยจีนประมาณ 27 ซม. จนต้องถอยไปตั้งหลักว่าจะเอาไงดีสำหรับการจะใช้ไลบรารี PROJ บนแฟล็ตฟอร์มแอนดรอยด์และไอโอเอส ทางเลือกแรกใช้ปลั๊กอิน “Chaquopy” ทางแรกเท่าที่ลองคือเอาไลบรารีของไพทอนมารันบนฟลัตเตอร์ด้วย plug-in ชื่อ Chaquopy…

Continue Reading →

เมื่อลมพัดหวน : Kivy framework เครื่องมือพัฒนาแอพสำหรับโทรศัพท์มือถือ

จากที่ผมรอคอยโครงการ Beeware มาจะร่วมๆสามปีแล้ว แต่พบว่าความก้าวหน้าของโครงการมีการเคลื่อนไหวน้อยมากเหมือนจะหยุดนิ่งสนิท สำหรับโครงการ Beeware คือโครงการทำเครื่องมือพัฒนาโปรแกรมข้ามแพล็ตฟอร์มเพื่อให้ผู้ใช้งานพัฒนาซอฟท์แวร์ด้วยภาษาไพธอน ให้สามารถใช้งานได้ทุกแพล็ตฟอร์มอย่างหลากหลายโดยเฉพาะบนโทรศัพท์มือถือแอนดรอยด์และ iOS เป็นโครงการเปิดโค้ด (open-source) ที่อาศัยการระดมทุนเพื่อหาเงินให้โครงการสามารถเดินหน้าต่อไปได้ สำหรับ Kivy framework (ภาษาไทยออกเสียงกีวี เป็นคำพ้องเสียง Kiwi ที่เป็นชื่อผลไม้ชนิดหนึ่ง) ผมได้ศึกษาเบื้องต้นเมื่อเกือบจะสิบปีที่แล้ว…

Continue Reading →

เพิ่มธีมมืดใน Surveyor Pocket Tools (มาสายดีกว่าไม่มา)

ตามสมัยนิยมก็ต้องมีธีมมีดว่ากันว่าช่วยกันประหยัดพลังงานของหน้าจอแบบ OLED และถนอมสายตาผู้ใช้ รวมทั้งใช้งานได้ดีในบริเวณที่มีแสงน้อย แต่ก็มีบางงานวิจัยกล่าวว่าการอ่านตัวหนังสือบนพื้นดำนานๆก็ทำให้สายตาล้าได้เหมือนกัน อย่างไรก็ตาม Surveyor Pocket Tools ก็เปิดทางเลือกให้ผู้ใช้สามารถปรับได้ว่าจะเปิดหรือปิดธีมมืด จาก PySide2 สู่ PySide6 ระบบการแสดงผลกราฟฟิค (GUI) จากเดิมที่ผมใช้ PySide2 อิมพลีเมนต์มาจาก Qt5…

Continue Reading →

ภาษาไพทอนสู่เครื่องคิดเลข HP Prime

ปกติเครื่องคิดเลข HP Prime G2 ที่ผมยกให้เป็นเทพของเครื่องคิดเลขด้านวิทยาศาสตร์ทั้งหลาย ผมเขียนโปรแกรมด้วยภาษา HP PPL หรือ Prime Programming Language คล้ายๆปาสคาลแต่บางอย่างคล้ายไพทอน จากทิศทางที่เครื่องคิดเลขระดับไฮเอ็นต์ของ Casio และ TI ได้นำร่องโดยเอาภาษาไพทอนลงเครื่องคิดเลขไปก่อนหน้านี้ โดยจริงๆแล้วไพทอนในเวอร์ชั่นของเครื่องคิดเลขจะถูกออปติไมซ์ให้ใช้กับเครื่องที่มีความเร็วซีพียูที่ช้าและแรมไม่มากนัก ที่ดังที่สุดได้แก่…

Continue Reading →

(ฟรี)โปรแกรมภาษาไพทอนบนเครื่องคิดเลขคาสิโอ fx-9750GIII fx-9860GIII และ fx-cg50 โปรแกรมพื้นฐานงานสำรวจชุดที่ 4 (COGO Selected Serie 4)

ตอนนี้มาถึงโปรแกรมพื้นฐานงานสำรวจชุดที่ 4 (COGO Selected Serie 4) สำหรับเครื่องคิดเลขคาสิโอ fx-9750GIII, fx-9860GIII และ fx-cg50 PRIZM สามรุ่นที่รองรับภาษาไพทอนหรือไมโครไพทอน ได้ในขณะนี้ หาซื้อได้ในเมืองไทย ราคาย่อมเยาที่สุดคือ fx-9750GIII ที่ราคาประมาณสามพันบาท ถ้ามีงานการทำเป็นหลักเป็นแหล่งแล้วไม่น่าแพง บางทีเราซื้อโทรศัพท์มือถือได้ราคาเป็นเรือนหมื่นไม่คิดอะไรมาก…

Continue Reading →

(ฟรี)โปรแกรมภาษาไพทอนบนเครื่องคิดเลขคาสิโอ fx-9750GIII fx-9860GIII และ fx-cg50 โปรแกรมพื้นฐานงานสำรวจชุดที่ 3 (COGO Selected Serie 3)

ตอนนี้มีเครื่องคิดเลขของคาสิโอสามรุ่นที่สามารถโปรแกรมด้วยภาษาไพทอนหรือไมโครไพทอน (MicroPython) ได้คือ fx-9750GIII, fx-9860GIII และ fx-cg50 ทั้งสามรุ่นสามารถหาซื้อได้ไม่ยากนัก ผมซื้อมาทางออนไลน์สะดวกดี สนนราคาเรียงตามรุ่นตอนนี้อยู่ที่ สามพันบาท สี่พันห้าร้อยบาทและเจ็ดพันกว่าบาทตามลำดับ ผมแนะนำให้สำหรับคนที่เบี้ยน้อยหอยน้อยลงทุนกับ fx-9750GIII เพราะราคาไม่แพง คุ้มค่าเกินราคา ทั้งสามรุ่นสามารถโปรแกรมด้วยภาษาคาสิโอเบสิคและภาษาไพทอน แล้วแต่ความถนัด ความชอบ ถ้าโปรแกรมด้วยไพทอนจะสามารถเขียนโปรแกรมที่ยากๆหรือคณิตศาสตร์ซับซ้อนขึ้นมาได้ นี่เป็นเหตุผลสำคัญ…

Continue Reading →

(ฟรี)โปรแกรมภาษาไพทอนบนเครื่องคิดเลขคาสิโอ fx-9750GIII fx-9860GIII และ fx-cg50 โปรแกรมพื้นฐานงานสำรวจชุดที่ 2 (COGO Selected Serie 2)

ตอนนี้มีเครื่องคิดเลขของคาสิโอสามรุ่นที่สามารถโปรแกรมด้วยภาษาไพทอนหรือไมโครไพทอน (MicroPython) ได้คือ fx-9750GIII, fx-9860GIII และ fx-cg50 ข้อดีของภาษาไพทอนนั้นคือง่าย ทรงพลัง แต่ข้อจำกัดของเครื่องคิดเลขคือหน่วยความจำที่มีมาน้อย ดังนั้นบนเครื่องคิดเลขจะมีไลบรารีที่นำมาจากเครื่องคอมพิวเตอร์มาใช้งานได้น้อย ต้องปรับกันพอสมควร ไม่มีไลบรารีเทพแบบ Numpy ที่จะมาใช้คำนวณเรื่องเมตริกซ์ (Matrix) ดังนั้นถ้าใช้เมตริกซ์ก็ต้องออกแรงเขียนโค้ดเองมากหน่อย แต่ยังมี Matplotlib ฉบับย่อที่พอกล้อมแกล้มได้เล็กน้อย…

Continue Reading →

(ฟรี)โปรแกรมภาษาไพทอนบนเครื่องคิดเลขคาสิโอ fx-9750GIII fx-9860GIII และ fx-cg50 โปรแกรมพื้นฐานงานสำรวจชุดที่ 1 (COGO Selected Serie 1)

ไม่กี่วันนี้ผมได้ถอยเครื่องคิดเลข fx-9860GIII มาหนึ่งเครื่องราคาประมาณสี่พันห้าร้อยบาท ส่วนน้องๆในที่ทำงานถอย fx-9750GIII มาหนึ่งเครื่องเช่นเดียวกันแต่ราคาย่อมเยากว่า ราคาเครื่องประมาณสามพันบาท สองรุ่นนี้เขียนภาษาไพทอนได้ ไพทอนที่ลงในเครื่องคิดเลขเป็นไพทอนรุ่นเล็กเรียกว่า ไมโครไพทอน (Micropython) แต่ไมโครไพทอนที่ลงในเครื่องคิดเลข ทางคาสิโอลงไลบรารีมาให้ใช้แค่สองไลบรารีคือ math และ random ที่อยากได้มากคือไลบรารี io ที่สามารถเขียนอ่านไฟล์ได้กลับไม่ลงมาให้ ทำให้การใช้งานจำกัดจำเขี่ยเหมือนโดนมัดมือมัดเท้า…

Continue Reading →