การใช้งาน Ubuntu หรือ Linux อื่นๆ มักจะมีปัญหาว่า โปรแกรมหลายโปรแกรมสามารถทำงานได้แค่บน windows วันนี้ผมจะมาเสนอวิธีแก้ (อาจจะได้บางส่วน)
รู้จักกับ WINE wine ความหมายจากเว็บหลักคือ "Wine Is Not an Emulator" (เล่นเอา Orz) ก็ตามนั้นคือ wine ไม่ได้จัดสภาพแวดล้อมในลักษณะ simulator แต่จะแปลง API ของ windows ให้สามารถใช้กับ POSIX ได้ ซึ่งทำให้ตระกูลนี้ (Linux MAC_OS BSD) สามารถใช้งานได้
การลง wine ใน Ubuntu สามารถลงผ่าน Software center ได้เลย โดยพิมพ์ค้นหามุมขวาบนว่า "wine" ก็จะเจอเลย
เมื่อลงเสร็จแล้วก็สามารถ run program ได้เลยโดย Double Click ที่ exe file ได้เลย
ตัวอย่าง Notepad++
แล้วเราสามารถเลือก ไฟล์ DLL เพิ่มเติมได้อีกผ่านทาง winetricks
โดยเปิด Terminal แล้ว พิมพ์คำสั่ง winetricks
จะได้หน้าต่างนี้
เลือก select default ...
และเลือก Install DLL component
แล้วเลือก ที่เราต้องการ ไม่ว่าจะเป็น DirecX Dotnet Framwork(อันนี้ลองแล้วไม่ค่อย work)
โดยจากการที่ต้องแปลง API นี้จึงทำให้เราต้องดูเองว่าโปรแกรมที่เราต้องการใช้นั้นต้องทำอะไรเพิ่มเติมบ้างนอกจากใช้ wine แล้ว(ซึ่งจุดนี้ต้องดูกันเองนะ)ตาม Link นี้ https://appdb.winehq.org/ ใน Link นี้สามารถค้นหาโปรแกรมที่เราต้องการได้เลย
เพิ่มเติม : https://www.winehq.org/
ตัวอย่างข้อมูลเพิ่มเติมเกม WOT ใน wine https://appdb.winehq.org/objectManager.php?sClass=version&iId=30818 ปล. ผมยังไม่เคยลองเกมนี้นะ
จากBlogที่ผมต้องการเขียนขึ้นมาเพื่อบันทึกเรื่องราวในการฝึกงานเป็นบล็อกที่พยายามเขียนบทความไฟฟ้าอิเล็กทรอกนิกส์และคอมพิวเตอร์
ป้ายกำกับ
FIBO
(28)
microcontroller
(16)
CHIPKIT
(6)
robotics
(6)
Camera
(5)
Photo
(5)
arduino
(5)
bluetooth
(5)
communication
(5)
ubuntu
(5)
กล้อง
(5)
ถ่ายรูป
(5)
android
(4)
pid control
(4)
notebook
(2)
Agile
(1)
CI
(1)
Software engineering
(1)
algorithm
(1)
controller
(1)
game
(1)
guitar
(1)
hardware
(1)
programming
(1)
ล๊อตเตอรี่
(1)
สลากกินแบ่งรัฐบาล
(1)
หวย
(1)
14 ธันวาคม 2557
6 ธันวาคม 2557
มารู้จัก Continuous Integration กัน
จากปัญหาในการพัฒนา software ตอนที่ผมเรียนอยู่ซึ่งโอกาสล้มเหลวสูง ว่าง่ายๆคือ ที่ผมทำสมัยเรียนไม่มีชิ้นไหนเป็นผลิตภัณฑ์ได้เลย (ปล.รู้สึกผิดกับเพื่อนและอาจารย์ในทีมพัฒนาจริงๆ) จนผมมีความรู้สึกว่าต้องมีวิธีที่ทำให้แม่นยำขึ้นกว่าเดิม เรื่องนี้ต้องเท้าความถึงวิชาที่ผมไม่ได้ชื่นชอบอะไรเลยอย่าง Software Engineering ผมก็ดูมันแบบผ่านๆมา จนกระทั้งมีคนแนะนำให้กลับไปดู ตอนนี้หละ ผมเห็นอะไรที่มันดูใช้งานได้จริงๆไม่ได้เอาทฤษฎีมาเล่น
Continuous integration (CI) ที่ผมรู้จักมานานนี้อยู่ในส่วนของ Agile process ซึ่งได้เรียนมาหลายปีแล้ว (Orz เพิ่งรู้จักมัน) แต่ขอละ Agile ไว้ก่อน
CI นั้นมีหน้าที่แสดงหน้าตาผลงานที่เราได้เขียนแบบอัตโนมัต โดยอาศัยหลักการที่ว่าจะมีการ Build Software อย่างต่อเนื่องในการทำงาน ซึ่งการ Build นี่แหละจะทำให้เราเห็นหน้าตาของ Software ที่เรากำลังทำอยู่โดยนอกจากจะได้ Software แล้วยังสามารถช่วยทดสอบ Software ของเราให้ด้วยเมื่อทำการทดสอบแล้วก็ทำการรายงานผลให้กับ dev ด้วย เป็นไงเหมือนมี Tester เพิ่มอีกคน (LOL) อย่าเพิ่งเซ็งเพราะมันหมายความว่าเป็นการป้องกัน Bug ไม่ให้หลุดจาก Dev. (มากเกินไป) นี่เอง win มั้ยหละ และถ้าเป็น Agile ก็อาจจะไม่จะเป็นต้องมี tester โดยตำแหน่งเลย (Tester จะปนไปกับ Dev.) โดยเมื่อรู้ผลแล้วก็ต้องแก้ให้เร็วที่สุด เมื่อแก้ผ่านเราก็จะได้ Software ตัวน้อยๆ ที่ทำงานได้ในระดับหนึ่ง(ฟังก์ชันยังไม่ครบ) ส่วนจะเริ่มเขียนยังไงที่ทำให้ใช้ CI ได้นี้จะยกไปหัวข้ออื่นนะครับ
รูปที่ผมสรุปตามความเข้าใจของตัวเองนะครับ
จากรูปคือการทำงานในหนึ่งช่วงเวลา(แล้วแต่ อาจจะหลักชั่วโมงหรือเป็นวัน) โดยส่วน CI ที่เป็นเครื่องมือใว้ไช้ในกระบวนการมีอยู่สองส่วน คือ ส่วน Test จะสามารถใช้หลักการ TDD Test-driven development และประกอบกับ CI Server ซึ่งทำหน้าที่ Build และ report ให้ Dev โดยเครื่องมือ CI นี้มีหลายตัวได้แก่... ไม่บอกผมขอละไว้เพราะเยอะพอสมควร ลอง Google ดู "continuous integration tools"ส่วนอื่น feature กับ code คนเป็น Dev. คงรู้อยู่แล้ว และอีกส่วนที่อาจจะมองไม่เห็นคือ Software version control เช่น CVS git bazaar ซึ่งส่วนนี้มองเป็นส่วนไว้ช่วยจัดการ Code ก็ได้
สรุป จุดประสงค์การทำ CI
-เพื่อให้ได้ Software ที่ทำงานได้ในระดับหนึ่งอยู่ตลอดเวลา
-เพื่อตรวจสอบปัญหาที่มองไม่เห็นซึ่งอาจจะเกิดขึ้น
-เพื่อช่วยหา Bug โดยอัตโนมัติ(เร็วขึ้นและไม่ต้องออกแรงเยอะ)
-เพื่อทดสอบทวน Code เก่าทุกครั้งที่มีการเพิ่ม Code ใหม่
เท่าที่ดูมาเหมือนจะอยู่ในบทเรียนทั้งนั้นทำเอารู้สึกผิดกับอาจารย์เลย T-T
อ้างอิง
http://en.wikipedia.org/wiki/Extreme_programming
http://en.wikipedia.org/wiki/Scrum_%28software_development%29
เพิ่มเติม
http://www.martinfowler.com/articles/continuousIntegration.html
http://guide.agilealliance.org/guide/ci.html
https://www.ibm.com/developerworks/rational/library/continuous-integration-agile-development/
Continuous integration (CI) ที่ผมรู้จักมานานนี้อยู่ในส่วนของ Agile process ซึ่งได้เรียนมาหลายปีแล้ว (Orz เพิ่งรู้จักมัน) แต่ขอละ Agile ไว้ก่อน
CI นั้นมีหน้าที่แสดงหน้าตาผลงานที่เราได้เขียนแบบอัตโนมัต โดยอาศัยหลักการที่ว่าจะมีการ Build Software อย่างต่อเนื่องในการทำงาน ซึ่งการ Build นี่แหละจะทำให้เราเห็นหน้าตาของ Software ที่เรากำลังทำอยู่โดยนอกจากจะได้ Software แล้วยังสามารถช่วยทดสอบ Software ของเราให้ด้วยเมื่อทำการทดสอบแล้วก็ทำการรายงานผลให้กับ dev ด้วย เป็นไงเหมือนมี Tester เพิ่มอีกคน (LOL) อย่าเพิ่งเซ็งเพราะมันหมายความว่าเป็นการป้องกัน Bug ไม่ให้หลุดจาก Dev. (มากเกินไป) นี่เอง win มั้ยหละ และถ้าเป็น Agile ก็อาจจะไม่จะเป็นต้องมี tester โดยตำแหน่งเลย (Tester จะปนไปกับ Dev.) โดยเมื่อรู้ผลแล้วก็ต้องแก้ให้เร็วที่สุด เมื่อแก้ผ่านเราก็จะได้ Software ตัวน้อยๆ ที่ทำงานได้ในระดับหนึ่ง(ฟังก์ชันยังไม่ครบ) ส่วนจะเริ่มเขียนยังไงที่ทำให้ใช้ CI ได้นี้จะยกไปหัวข้ออื่นนะครับ
รูปที่ผมสรุปตามความเข้าใจของตัวเองนะครับ
สรุป จุดประสงค์การทำ CI
-เพื่อให้ได้ Software ที่ทำงานได้ในระดับหนึ่งอยู่ตลอดเวลา
-เพื่อตรวจสอบปัญหาที่มองไม่เห็นซึ่งอาจจะเกิดขึ้น
-เพื่อช่วยหา Bug โดยอัตโนมัติ(เร็วขึ้นและไม่ต้องออกแรงเยอะ)
-เพื่อทดสอบทวน Code เก่าทุกครั้งที่มีการเพิ่ม Code ใหม่
เท่าที่ดูมาเหมือนจะอยู่ในบทเรียนทั้งนั้นทำเอารู้สึกผิดกับอาจารย์เลย T-T
อ้างอิง
http://en.wikipedia.org/wiki/Extreme_programming
http://en.wikipedia.org/wiki/Scrum_%28software_development%29
เพิ่มเติม
http://www.martinfowler.com/articles/continuousIntegration.html
http://guide.agilealliance.org/guide/ci.html
https://www.ibm.com/developerworks/rational/library/continuous-integration-agile-development/
27 พฤศจิกายน 2557
แก้ปัญหาความร้อนของ Ubuntu 14.10 บน Notebook(ภาคต่อ)
บทความนี้เป็นภาคต่อของ "แก้ปัญหาความร้อนของ Ubuntu 14.10 บน Notebook" ครับ ซึ่งในส่วนนั้นจะบอกเรื่องของ pstate และ cpu frequency-set วันนี้จะมาต่อด้วยการใช้ tlp กันครับ
โดย tlp นี้เป็นตัวจัดการพลังงานของ Notebook ครับซึ่งสามารถจัดการได้ด้วยการ ตั้งค่าใน file
มาเริ่มกันเลย
เริ่มแรกเปิด terminal มาแล้วพิมพ์คำสั่งติดตั้ง tlp ก่อน
sudo apt-get install tlp tlp-rdw
และตามด้วยการเปิดไฟล์เพื่อตั้งค่า
sudo gedit /etc/default/tlp
โดยเมื่อเปิดไฟล์มาจะเป็นส่วนของการตั้งค่าหากไม่คิดตั้งค่าใดๆและผู้ที่ไม่ได้ใช้thinkpadก็ข้ามได้
รายละเอียดการตั้งค่าสามารถดูได้ที่ tlp-configuration
ซึ่งที่นี้จะอธิบายบางค่าครับ
CPU_SCALING_MIN_FREQ_ON_AC/BAT
CPU_SCALING_MAX_FREQ_ON_AC/BAT
ส่วนนี้ควรมีค่าเป็น 0 เพื่อไม่ให้ตีกับค่าที่ตั้งในระบบ โดยเฉพาะคนที่ได้ตั้งค่าในตอนแรกแล้ว(cpu frequency-set, pstate)
CPU_BOOST_ON_AC/BAT
เปิดโหมด TURBOBOOST รายละเอียดดูในเว็บ intel เลย turbo-boost-technology
SCHED_POWERSAVE_ON_AC/BAT
ส่วนนี้ก็เหมือนส่วนแรกต้องระวังค่าในระบบ
DISK_APM_LEVEL_ON_AC/BAT
โหมดการทำงานของ Hard disk ค่ามากจะเน้นประสิทธิภาพ(กินไฟเยอะขึ้น)
WIFI_PWR_ON_AC/BAT
ตั้งค่าให้โปรแกรมควบคุมการทำงาน wireless LAN ซึ่ง 1 = ปิด 5= เปิด
สำหรับชาว Thinkpad สามารถตั้งค่าพวกนี้เพิ่มได้
START_CHARGE_THRESH_BAT0
STOP_CHARGE_THRESH_BAT0
สำหรับแบตธรรมดา
START_CHARGE_THRESH_BAT1
STOP_CHARGE_THRESH_BAT1
สำหรับแบตใหญ่(ที่มันยื่นออกจากตัว Notebook)
เมื่อตั้งค่าเสร็จก็เริ่มทำงานโปรแกรมได้ด้วย
sudo tlp start
และจะทำโดยอัตโนมัติหลังจากนั้น
คำเตือนอย่าใช้ร่วมกันกับบางเครื่องมือเช่น
laptop-mode-tools
ที่มา
http://linrunner.de/en/tlp/tlp.html
tlp-05-released-install-it-in-ubuntu
โดย tlp นี้เป็นตัวจัดการพลังงานของ Notebook ครับซึ่งสามารถจัดการได้ด้วยการ ตั้งค่าใน file
มาเริ่มกันเลย
เริ่มแรกเปิด terminal มาแล้วพิมพ์คำสั่งติดตั้ง tlp ก่อน
sudo apt-get install tlp tlp-rdw
และตามด้วยการเปิดไฟล์เพื่อตั้งค่า
sudo gedit /etc/default/tlp
โดยเมื่อเปิดไฟล์มาจะเป็นส่วนของการตั้งค่าหากไม่คิดตั้งค่าใดๆและผู้ที่ไม่ได้ใช้thinkpadก็ข้ามได้
รายละเอียดการตั้งค่าสามารถดูได้ที่ tlp-configuration
ซึ่งที่นี้จะอธิบายบางค่าครับ
CPU_SCALING_MIN_FREQ_ON_AC/BAT
CPU_SCALING_MAX_FREQ_ON_AC/BAT
ส่วนนี้ควรมีค่าเป็น 0 เพื่อไม่ให้ตีกับค่าที่ตั้งในระบบ โดยเฉพาะคนที่ได้ตั้งค่าในตอนแรกแล้ว(cpu frequency-set, pstate)
CPU_BOOST_ON_AC/BAT
เปิดโหมด TURBOBOOST รายละเอียดดูในเว็บ intel เลย turbo-boost-technology
SCHED_POWERSAVE_ON_AC/BAT
ส่วนนี้ก็เหมือนส่วนแรกต้องระวังค่าในระบบ
DISK_APM_LEVEL_ON_AC/BAT
โหมดการทำงานของ Hard disk ค่ามากจะเน้นประสิทธิภาพ(กินไฟเยอะขึ้น)
WIFI_PWR_ON_AC/BAT
ตั้งค่าให้โปรแกรมควบคุมการทำงาน wireless LAN ซึ่ง 1 = ปิด 5= เปิด
สำหรับชาว Thinkpad สามารถตั้งค่าพวกนี้เพิ่มได้
START_CHARGE_THRESH_BAT0
STOP_CHARGE_THRESH_BAT0
สำหรับแบตธรรมดา
START_CHARGE_THRESH_BAT1
STOP_CHARGE_THRESH_BAT1
สำหรับแบตใหญ่(ที่มันยื่นออกจากตัว Notebook)
เมื่อตั้งค่าเสร็จก็เริ่มทำงานโปรแกรมได้ด้วย
sudo tlp start
และจะทำโดยอัตโนมัติหลังจากนั้น
คำเตือนอย่าใช้ร่วมกันกับบางเครื่องมือเช่น
laptop-mode-tools
ที่มา
http://linrunner.de/en/tlp/tlp.html
tlp-05-released-install-it-in-ubuntu
22 พฤศจิกายน 2557
16 พฤษภาคม2555 (ลง win ce บน friendlyarm)
การลง windowns ce บน friendly arm
เตรียมบอร์ดและต่อ พอร์ด serial port และ USB เข้ากับคอมพิวเตอร์เหมือนกับการลง linux แล้วเลื่อน S2 ไปที่ nor
แล้วทำการ
reset
หลังจากนั้นเปิดโปรแกรม DNW ขึ้นมาแล้วทำการ connect serial port ดังรูป

โดยเลือกคุณสมบัติดังนี้

แล้วทำการ reset บอร์ด จะได้เมนูขึ้นที่ DNW เราก็เลือก x เพื่อทำการ format
memory

หลังจากนั้นเลือก l เพื่อโหลด logo ลงบอร์ด

แล้วทำการส่งไฟล์ logo ลงบอร์ด

แล้วเลือก w เพื่อลงไฟล์อิมเมจ
ทำการส่งไฟล์อิมเมจลงบอร์ด


แล้วสามารถเล่น windown ce ได้ทันที
แก้ปัญหาความร้อนของ Ubuntu 14.10 บน Notebook
ปัญหาหนึ่งของ Ubuntu ที่ทำให้ชาว Notebook หลายคนหลีกหนีรวมทั้งผมไม่อยากใช้งานคือ ความร้อนที่สูงกว่า OS อื่นซึ่งเกิดขึ้นจากหลายปัจจัย โดยหลักๆเราไม่สามารถเข้าไปควบคุมได้ ทำให้เกิดความกังวลว่ามันจะทำให้เครื่องพังเร็วหรือเปล่า จึงจำเป็นต้องหาตัวช่วย วันนี้ผมจะมาเสนอวิธีแก้ปัญหาแบบนึงครับ
บอกก่อนวิธีของผมใช้ได้กับ CPU INTEL นะครับเพราะมีการใช้เครื่องมือของ INTEL
สำหรับเครื่องผม ใช้ Dell vostro v131 ครับ ซึ่งถ้าร้อนขึ้นมาแทบจะเผามือกันเลยทีเดียว
ส่วน OS ที่ลองใช้คือ Ubuntu 14.04 แต่ได้อัพเกรดเป็น 14.10 แล้วครับ
โดยเครื่องมือที่จะมานำเสนอในวันนี้คือ intel_pstate และ cpupower frequency-set ครับ
โดยอาศัยการควบคุมโหมดของ cpu
เริ่มแรก ก็ enable pstate ก่อนโดยใช้คำสั้ง
sudo nano /etc/default/grub
แก้ข้อความที่เห็นตามข้างล่าง
โดยข้อความนี้
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
ให้เพิ่ม " intel_pstate=enable "เข้าใป
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash intel_pstate=enable"
ออกจาก nano โดยกด ctrl + X และ กด Y เพื่อ save
หลังจากนั้นทำการอัพเดด grub เพื่อให้คำสั่งที่แก้ไขสามารถทำงานได้
หลังจากนั้น restart เครื่อง
คำสั่งลง linux-tool อีกสองตัวตามนี้
sudo apt-get install linux-tools-common
sudo apt-get install linux-tools-generic
จะทำให้สามารถใช้ cpupower ได้
ตรวจสอบความถูกต้องด้วยคำสั่ง
cpupower frequency-info
จะมีข้อความขึ้นมาเยอะแยะแต่ในนั้นต้องมีข้อความ "driver: intel_pstate"
และหลังจากนั้นตั้งค่า cpupower frequency-set โหมด powersave เพื่อกำหนดการทำงาน
sudo cpupower frequency-set -g powersave
และสามารถตั้งโหมด performance ได้แต่จะร้อนเหมือนเดิม
sudo cpupower frequency-set -g performance
สามารถตรวจสอบได้โดยพิมพ์คำสั่ง
cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
ต้องเป็นโหมดที่เราตั้งถ้า powersave จะมีข้อความ
powersave
โดยจะมีเท่ากับจำนวนคอร์ของ CPU
หลังจากที่ลองใช้ก็พบว่า เครื่องอาจจะร้อนอยู่เพราะเป็น Notebook ที่ค่อนข้างร้อน(แป่ว) แต่จากการสัมผัสเห็นได้ชัดว่าร้อนน้อยลงกว่าเดิม แถมพัดลมก็ทำงานน้อยลง
จบ... คราวหน้าถ้ามีโอกาสผมจะมาแนะนำเพิ่มเติมเกี่ยวกับการใช้งาน Ubuntu อีกครับ บาย
เนื้อหาจาก: http://www.webupd8.org
บอกก่อนวิธีของผมใช้ได้กับ CPU INTEL นะครับเพราะมีการใช้เครื่องมือของ INTEL
สำหรับเครื่องผม ใช้ Dell vostro v131 ครับ ซึ่งถ้าร้อนขึ้นมาแทบจะเผามือกันเลยทีเดียว
ส่วน OS ที่ลองใช้คือ Ubuntu 14.04 แต่ได้อัพเกรดเป็น 14.10 แล้วครับ
โดยเครื่องมือที่จะมานำเสนอในวันนี้คือ intel_pstate และ cpupower frequency-set ครับ
โดยอาศัยการควบคุมโหมดของ cpu
เริ่มแรก ก็ enable pstate ก่อนโดยใช้คำสั้ง
sudo nano /etc/default/grub
แก้ข้อความที่เห็นตามข้างล่าง
โดยข้อความนี้
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
ให้เพิ่ม " intel_pstate=enable "เข้าใป
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash intel_pstate=enable"
ออกจาก nano โดยกด ctrl + X และ กด Y เพื่อ save
หลังจากนั้นทำการอัพเดด grub เพื่อให้คำสั่งที่แก้ไขสามารถทำงานได้
หลังจากนั้น restart เครื่อง
คำสั่งลง linux-tool อีกสองตัวตามนี้
sudo apt-get install linux-tools-common
sudo apt-get install linux-tools-generic
จะทำให้สามารถใช้ cpupower ได้
ตรวจสอบความถูกต้องด้วยคำสั่ง
cpupower frequency-info
จะมีข้อความขึ้นมาเยอะแยะแต่ในนั้นต้องมีข้อความ "driver: intel_pstate"
และหลังจากนั้นตั้งค่า cpupower frequency-set โหมด powersave เพื่อกำหนดการทำงาน
sudo cpupower frequency-set -g powersave
และสามารถตั้งโหมด performance ได้แต่จะร้อนเหมือนเดิม
sudo cpupower frequency-set -g performance
สามารถตรวจสอบได้โดยพิมพ์คำสั่ง
cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
ต้องเป็นโหมดที่เราตั้งถ้า powersave จะมีข้อความ
powersave
โดยจะมีเท่ากับจำนวนคอร์ของ CPU
หลังจากที่ลองใช้ก็พบว่า เครื่องอาจจะร้อนอยู่เพราะเป็น Notebook ที่ค่อนข้างร้อน(แป่ว) แต่จากการสัมผัสเห็นได้ชัดว่าร้อนน้อยลงกว่าเดิม แถมพัดลมก็ทำงานน้อยลง
จบ... คราวหน้าถ้ามีโอกาสผมจะมาแนะนำเพิ่มเติมเกี่ยวกับการใช้งาน Ubuntu อีกครับ บาย
เนื้อหาจาก: http://www.webupd8.org
สมัครสมาชิก:
บทความ (Atom)