ปิด ip และรายงานประเมินการสอน

6 ก.ย.53 ตรวจแฟ้ม /var/log/messages พบว่ามีความพยายาม login เข้าระบบจำนวนไม่น้อยผ่าน secure shell ที่เปิด port 22 ตัวอย่าง user ที่พยายามสุ่มเข้ามา เช่น frank, richard, sara, robert, steven, amanda จึงเพิ่มคำสั่งเข้าไปใน /etc/sysconfig/iptables ด้วยคำว่า -A OUTPUT -d 10.20.30.40 -j ACCEPT แล้ว #service iptables restart มีผลให้เฉพาะเครื่องเบอร์ 40 เท่านั้นที่ไม่ได้รับบริการใดใด
ต่อจากนั้นก็มีโอกาศหยิบระบบจัดทำรายงานประเมินการเรียนการสอน  ที่รับข้อมูลผ่านระบบ Online แล้วจัดทำรายงานด้วย Microsoft Access  เพื่อให้ได้รายงานผลตรงกับความต้องการของการประกันคุณภาพระดับมหาวิทยาลัย ที่ต้องการผลประเมินจำแนกตามกลุ่มสาขาวิชา และมีข้อมูลที่นำมาหาค่าเฉลี่ยทั้งปีในลำดับต่อไป

ปฏิเสธบริการให้กับเพื่อนต่างชาติ

6 ก.ย.53 พบเพื่อนแปลกหน้าจาก lagos, nigeria เข้าระบบจาก ip 41.203.64.246 และอีกหลายหมายเลขใกล้เคียง ในใจคิดอยู่ว่าจะปิดจาก httpd.conf หรือ iptables สุดท้ายก็เลือก iptables โดยเพิ่ม policy ผ่านแฟ้ม iptables มีขั้นตอนดังนี้
#cd /etc/sysconfig
#vi iptables
แล้วเพิ่ม -A OUTPUT -D 41.0.0.0/8 -j REJECT
จะปฏิเสธทุก ip ที่ขึ้นต้นด้วย 41
#service iptables status
#service iptables restart

การเขียน X-bar ใน word

1 ก.ย.53 ถ้าต้องการเขียน x-bar หมายถึง ค่าเฉลี่ย (average) ทำได้โดยการกดปุ่ม Ctrl-f9 แล้วพิมพ์คำว่า

EQ \O(x,ˉ)

จากนั้นกดปุ่ม Shift-f9 ก็จะพบกับสัญลักษณ์ X-bar ตามต้องการ ซึ่งจำเป็นต้องใช้ในการเขียนรายงานการวิจัย สำหรับนำเสนอผลเชิงสถิติอย่างง่าย

ปัญหาการอ้างอิงภาพ profile แบบ static

yonok alumni profile
yonok alumni profile
yonok alumni profile

31 ส.ค.53 จากกลุ่มตัวอย่างศิษย์เก่าที่ผมไม่ทราบรหัสจำนวน 43 คน เมื่อเวลาผ่านไปเพียง 1 เดือน มีศิษย์เก่าเปลี่ยนภาพ profile ไปถึง 20 คน คิดเป็นร้อยละ 46.5 แสดงว่าถ้าใช้ภาพ profile อย่างจริงจังมาเป็นข้อมูลแบบ static คงต้องใช้คนช่วยตรวจสอบ หรือไม่ก็เขียน script ดูดภาพ profile มาปรับฐานข้อมูล ซึ่งยังไม่ได้ทดสอบว่าภาพ profile ที่เปลี่ยนไปนั้นทาง facebook ยอมให้ script เข้าไปดูด url ได้หรือไม่ แต่ที่แน่ ๆ แสดงว่าศิษย์เก่ายังมีการเคลื่อนไหวใน facebook หรือใช้งานกันตามปกติ มิได้หนีหายไปไหนในสังคม facebook และข้อมูลนี้ทดสอบไว้ที่ http://www.thaiabc.com/ynalumni

การแก้ปัญหาพิมพ์ผ่านเครือข่ายไม่ออก

31 ส.ค.53 แก้ปัญหา sharing printer รุ่น hp laser 1000 series ซึ่งผมมีปัญหาในฐานะ client ไปใช้ printer server ที่เขา share ไว้ แต่ผม print ออกได้เพียงแผ่นแรก ก็หยุดให้บริการ และถ้าผม print พร้อมกับคนอื่น ก็จะทำให้ queueของ server ล้มไปหมด คาดว่า driver หรือ application บางตัวในเครื่องของผมน่าจะบกพร่อง พยายามตรวจแล้วก็แก้ปัญหาการ printแผ่นแรกเพียงแผ่นเดียวไม่สำเร็จ

วันนี้พยายามทดสอบต่ออีกครั้ง หลังจากทิ้งมาหลายเดือน เพราะผมรบกวนเจ้าของ printer server บ่อยไปนิด ผลการทดสอบที่ไม่สำเร็จคือ 1) print หน้าสุดท้ายในทุกวิธี ไม่ออก 2) ถ้ามีหน้าเดียวก็จะไม่ออกในทุกวิธี 3) ใช้ current page ใน word ไม่ออก 4) กำหนดเลขหน้าเพียงหน้าเดียวไม่ออก ส่วนที่ทดสอบแล้วสำเร็จ คือ กำหนดเลขหน้าแบบช่วงหน้า จะออกเพียงหน้าแรกที่อยู่ในช่วง ต่อไปก็จะใช้วิธีนี้ เพราะปกติงานผม print ไม่มาก แต่ print บ่อยเท่านั้นเอง

เล่าเรื่องระบบภาระงานคณาจารย์

รายงานภาระงานคณาจารย์
รายงานภาระงานคณาจารย์

30 ส.ค.53 พัฒนาระบบกรอกข้อมูลภาระงานคณาจารย์ ที่แบ่งหมวดสำคัญไว้ 3 หมวดหลัก คือ การเรียนการสอน การวิจัย และด้านอื่น ซึ่งด้านอื่นแบ่งย่อยเป็น 6 หมวด สำหรับการประมวลผลที่สำคัญคือการ insert กับ update แต่พบปัญหาส่งระเบียนข้อมูลว่างเป็นระเบียนล่าสุดโดยไม่ทราบสาเหตุสำหรับบางคน จึงใช้วิธีเรียกข้อมูลจากที่เคยบันทึกไว้ใน log และกู้คืนตามเวลาที่ต้องการโดยเจ้าของประวัติ เมื่อใช้งานไปอีกระยะหนึ่งพบปัญหาใหม่คือ ไม่มีข้อมูลเข้าในหัวข้อสุดท้ายของสมาชิก และเป็นหัวข้อไม่สำคัญ ตรวจพบภายหลังว่าชื่อเขตข้อมูลผิด แต่โปรแกรมใช้การ include จึงไม่แสดงอาการผิดพลาดระหว่างตรวจสอบ
การแก้ปัญหา insert ระเบียนที่เป็นค่าว่างเข้า master file เกิดได้หลายกรณี  แต่วิธีหนึ่งที่น่าจะแก้ไขได้คือ การยกเลิกระบบ update แต่ใช้การ insert เข้า log แล้วเรียกระเบียนสุดท้ายมาเสมอ แทนการสั่ง update ไปยัง master file แต่ก็ไม่ได้ทำ เพราะเวลาจำกัด และจะปิดรับข้อมูลในวันรุ่งขึ้น คาดว่าหลังปิดระบบจะพัฒนาส่วนนี้ต่อไป  เพื่อป้องกันปัญหาการใช้งานระบบนี้ในอนาคต จึงใช้เวลาที่เหลือพัฒนาระบบรายงาน สำหรับติดตามการส่งข้อมูล แล้วรวบรวมเสนอผู้บริหารตามลำดับชั้นต่อไป
ทำให้ปัจจุบันมีโปรแกรมสำหรับระบบนี้ 5 โปรแกรม คือ ฟอร์มหลัก โปรแกรมเพิ่มข้อมูล โปรแกรมพิมพ์แบบฟอร์ม โปรแกรมแสดงสถานะ และโปรแกรมแสดงรายงาน ถ้ามีโอกาสจะทำ demo แสดงการวางแผน และพัฒนาโปรแกรมชุดนี้ครับ เพื่อให้นักศึกษาที่สนใจการพัฒนาโปรแกรมด้วย php กับ mysql ได้เรียนรู้อีกมุมหนึ่งของการพัฒนาระบบ

ระบบฐานข้อมูลข้อตกลงภาระงานคณาจารย์

23 ส.ค.53 ฟอร์มภาระงานรุ่นแรกใช้งานได้แล้ว พัฒนาผ่านโปรแกรม 3 ตัวหลัก ตามที่คุณธรณินทร์ ออกแบบไว้ คือ parakit.php parakit_add.php phptoword.php แล้วทำงานกับตารางข้อมูลอย่างน้อย 8 ตารางใหม่ มีเขตข้อมูลพื้นฐานประมาณ 2 ร้อยกว่าตัว โดยมี 1) parakit.php รับข้อมูลหรือนำข้อมูลที่เคยกรอกไว้ขึ้นมานำเสนอ โดยควบคุมด้วย javascript 2) phptoword.php ใช้รับค่าจากฟอร์มแปลงเป็น word สำหรับ print และเซ็นเสนอตามลำดับชั้น 3) parakit_add.php ถูก include ที่ส่วนหัวของ phptoword.php เพื่อเก็บข้อมูลเข้าระบบฐานข้อมูล ซึ่งข้อมูลที่ถูกจัดเก็บจะถูกดึงขึ้นมาแสดงใน parakit.php สำหรับการเข้าระบบครั้งต่อไป
งานที่ค้าง คือ แบบฟอร์มทั้งหมดเป็นรุ่นทดสอบ แบบฟอร์มล่าสุดผ่านการประชุมผู้บริหารวันนี้ และต้องปรับระบบฐานข้อมูล และโปรแกรมทั้งหมดใหม่ และนำเสนอวันต่อไปในที่ประชุมอาจารย์ สิ่งที่ต้องแก้ไขคือ  1) แก้ไขโครงสร้างแฟ้มในระบบฐานข้อมูลที่อนุมัติเย็นนี้ 2) แก้โปรแกรมที่มีการใช้ select, insert และ update ทั้งหมด 3) ปรับ javascript ให้ทำงานกับฟอร์มใหม่ที่จะพบในวันรุ่งขึ้น 4) แก้ปัญหาความเสถียรของระบบฐานข้อมูลที่ควรแก้ไขให้ทันการใช้งานจริง

แก้ปัญหาไม่แสดงชื่อนักศึกษาใน moodle

23 ส.ค.53 รับแจ้งจากหัวหน้าว่า รายชื่อนักศึกษาในระบบ e-learning ที่ใช้สคริปต์ของ Moodle หายไปหมด และงานนักศึกษาก็ยังตรวจไม่เรียบร้อย ผมจึงตั้งสมมติฐานว่าตารางหนึ่งในระบบฐานข้อมูลเสียอีกแล้ว เคยเกิดขึ้น และใช้โปรแกรม EMS  SQL Manager for MySQL เข้าไป Repair แต่ครั้งนี้ผมจะเปลี่ยนวิธี เพราะระบบฐานข้อมูล MySQL มีโปรแกรมที่สามารถซ่อมผ่าน Command Line จึงไม่ใช้โปรแกรมเสริมจากภายนอกอย่าง EMS

เข้า MySQL ผ่าน Command Line แล้ว use moodle; (แต่ไม่มีคำสั่งตรวจสอบตารางทั้งหมดอัตโนมัติ ถ้าจะเขียน php หรือ Shell script ก็จะยุ่งยากมากไป) จึงใช้ show tables; แล้วคัดลอกรายชื่อตารางไปไว้ใน notepad แล้วแทนที่สัญลักษณ์ | ด้วยสัญลักษณ์ , เนื่องจากคำสั่ง check table สามารถตรวจตารางพร้อมกันได้หลายตารางโดยใช้เครื่องหมาย , ขั้นระหว่างชื่อตาราง ผมจึงคัดลอกข้อมูลจาก notepad มาวางต่อคำสั่ง check table ก็พบตารางที่ error แบบ  corrupt มีจำนวน 2 ตาราง คือ  mdl_log และ mdl_user_students เมื่อสั่ง repair table mdl_user_students; ก็พบว่า moodle กลับมาแสดงรายชื่อนักศึกษาได้ตามปกติ
+ http://www.thaiall.com/mysql

ซีดีจันทรา กับข้าวไข่เจียว

เปรียบเทียบซีดีจันทรา (compare of chantra cd)
เปรียบเทียบซีดีจันทรา (compare of chantra cd)

22 ส.ค.53 ความรับรู้สำคัญกว่าความจริง หรือเปรียบเทียบว่า ทานข้าวไข่เจียวมาทั้งชีวิต เปลี่ยนไปทานข้าวไข่ลูกเขยสักมื้อจะเป็นไรไป แล้วกลับมาทานข้าวไข่เจียวกับชีวิตที่เหลือก็ยังได้ .. ดังนั้นการรับรู้ว่าซีดีจันทราคืออะไร เขามีอะไรดี รัฐบาลถึงแจกให้ทุกโรงเรียน และคนไทยที่สนใจนำไปใช้ จะมีค่าพอแก่การรับรู้หรือไม่

มีโปรแกรมมากมายในซีดีจันทรา แบ่งกลุ่มเป็น 8 กลุ่ม คือ 1) โปรแกรมด้านสำนักงาน * Dia * FreeMind * GanttProject * OpenOffice.org 3 * PDFCreator  2) โปรแกรมด้านอินเทอร์เน็ต * มอซิลลา ไฟร์ฟอกซ์ (Firefox) * มอซิลลา ทันเดอร์เบิร์ด (Thunderbird) * พิดจิน 3) โปรแกรมด้านกราฟิก * Blender * GIMP * Inkscape * Open Clip Art 4) โปรแกรมด้านมัลติมีเดีย * Avidemux * Audacity * VLC  5) โปรแกรมด้านความบันเทิง * LBreakout2 * Super Tux 6) โปรแกรมอรรถประโยชน์ * 7 Zip * InfraRecorder * Notepad++ * PuTTY * Subversion 7) โปรแกรมด้านพัฒนาเว็บ * Drupal * FileZilla * Joomla * Kompozer * SMF * XAMPP 8) โปรแกรมด้านการศึกษา * Celestia * Moodle * Tux Paint * Tux Typing 2 * TuxMath
+ http://www.thaiall.com/article/chantra.htm
+ http://www.chantra.in.th/download

ประสบการณ์ติดตั้ง Linuxsis 6.0.1 เพิ่มต่อ windows

18 ส.ค.53 วิธีติดตั้ง Linuxsis อีก 1 ตัว เริ่มจากหลังบูทเครื่องด้วย CD Linuxsis 6.0.1 ก็กด Enter เพื่อเข้าสู่การ Boot 1) เลือกแบ่งพาร์ทิชันในดิสก์ ของผมเลือกแบบแบ่งเอง เพราะเคยมี windows อยู่แล้ว และเคยแบ่งแบบไม่ใช้ให้กับบาง partition ไว้แล้ว 2) พบว่า #1 ไพรมารีแบ่ง 40 GB:ntfs ที่เหลือเป็นลอจิคัล ประกอบด้วย #5 แบ่ง 20 GB:ntfs แล้ว #6 แบ่ง 19 GB:ext3 แล้ว #7 500 MB:swap เลือก #6 แล้ว double click 2.1)กำหนดใช้เป็นระบบแฟ้ม journaling ext3 2.2) สั่ง ฟอร์แมต #6 2.3) ตำแหน่งเมานท์เป็น / 2.4) แล้วกดสิ้นสุดการตั้งค่าพาร์ทิชัน แล้วกดต่อไป แล้วกดเลือก สิ้นสุดการแบ่งพาร์ทิชันและเขียนลงดิสก์ แล้วกดต่อไป 3) พบว่าระบบจะ format #6 แล้วเลือก ใช้ แล้วกดต่อไป 4) ติดตั้งระบบพื้นฐาน รอประมาณ 5 นาที 5) เลือก linux-image-2.6.18-6-686 แล้วรออีก 5 นาที 6) เครื่องของผม reboot แล้วพบ grub 7) เลือกเข้า windows พบว่า ทุกระบบทำงานได้ปกติ 8) บูทใหม่แล้วเข้า linux รุ่นนี้ชื่อ Capricon ด้วย u:root p:123456 9) เข้าห้อง /boot/grub แก้ menu.lst เปลี่ยนจาก 0 เป็น 3 เพราะใน grub ผมต้องการกำหนดให้ boot windows เป็น default

การเข้าระบบด้วย root หรือ admin ในครั้งแรกใช้รหัสผ่านคือ 123456 แต่ถ้าเข้า root จะพบกับ Shell Prompt แต่ถ้าใช้ admin จะพบ xwindows แล้วเข้า Firstboot screen แต่ผมก็ใส่รหัสเป็น 123456 ตัวเดิม เพราะเกรงว่าจะลืม รวมทั้งรหัสผ่านของ LDAP แล้วเข้าสู่ WebAdminTools เมื่อ Login ด้วย admin เข้าไปแล้วก็จะเลือก connect type เป็น DHCP เพื่อรับ ip จาก router เพราะ default static คือ 192.168.212.1 หลังจาก restart network ก็ได้ ip จาก router เป็น 192.168.1.3 แล้วปิดเครื่องด้วย shutdown -h 1

+ http://www.opentle.org/th/downloadcat/view/59
+ ftp://ftp.opentle.org/pub/linuxSIS/5.5/manual/sis5.5.5_manual.pdf