การติดตั้ง centos ผ่าน liveDVD .iso บน virtual box

centos 6.3 from ku in oracle virtual box
centos 6.3 from ku in oracle virtual box

28 พ.ย.55 เหตุเกิดจาก ได้ทดสอบ CentOS 6.3 ซึ่งเป็นอีก 1 ระบบปฏิบัติการลีนุกซ์ที่น่าสนใจ เริ่มจาก นายภส.. นักศึกษาของผม เล่าให้ฟังว่าติดปัญหาในการติดตั้งกับเครื่อง notebook และที่ผ่าน oracle virtual box ในห้องแล็ป ทำให้ผมต้องหา CentOS มาติดตั้งก็ได้จาก ku.ac.th เป็น CentOS-6.3-i386-LiveDVD.iso

ผลการดำเนินการ จากการทดสอบบนเครื่องคอมพิวเตอร์จำนวน 3 เครื่องใน 3 วัตถุประสงค์ คือ 1) เริ่มทดสอบกับเครื่องห้องแล็บเดิมที่ลง win xp มี CPU 3.2 GHz ram 1 GB พบว่า boot แบบ liveDVD ผ่าน .iso แล้วเข้าระบบและใช้งานได้ แต่ต้องลดอุปกรณ์บน vm ให้หมดให้เหลือน้อยแบบที่เรียกว่า minimum device ปัญหาที่พบคือ คลิ๊กปุ่ม install to harddisk drive แล้วไม่ทำงาน คาดว่า device ไม่พร้อม จึงเปลี่ยนเครื่องทดสอบ 2) ใช้กับเครื่องที่พร้อมกว่า คือ เครื่องใหม่ที่ลง win 7 มี CPU 3.2 GHz ram 4 GB พบว่า boot และ install บน harddisk ได้ปกติ โดยติดตั้งผ่าน .iso เมื่อถอด .iso ออกก็บูทได้เอง จึง export ไปเป็น .ova เพื่อนำไปใช้ในเครื่องอื่นต่อไป ควรเร็วไม่แตกต่างกับ win 7 เพราะ hw รองรับได้ 3) เครื่องห้องแล็บเดิม แต่เปลี่ยนเครื่อง ใช้วิธีการ import แฟ้ม .ova และลดอุปกรณ์ให้เหลือน้อยที่สุด ในการทดสอบครั้งแรกนั้นจะเหลือ network ไว้ทำงาน แต่พบว่า การ boot ในบางครั้งไม่สำเร็จ จึงต้องถอดอุปกรณ์ออกให้หมด ก็จะสามารถใช้งานแบบค่อยเป็นค่อยไปได้

พอสรุปได้ว่า CentOS ยังต้องการ hardware ที่พร้อมโดยเฉพาะขนาด RAM นอกจากนี้ยังทดสอบสั่ง auto startup ให้เปิด CentOS บน VM ทันทีที่ win เริ่มทำงานด้วยคำสั่ง  “C:\Program Files\ Oracle\ VirtualBox\ VBoxManage.exe” startvm “centos63” แต่ทดสอบกับเครื่องห้องแล็บ พบว่าบางครั้งก็บูทสำเร็จ บางครั้งก็ไม่สำเร็จ จากปัญหาขนาด RAM จึงถอนคำสั่งนี้ออกจาก program/startup

Oracle virtual box is a virtualization software
Oracle virtual box is a virtualization software

http://www.virtualbox.org/
http://mirror1.ku.ac.th/centos/6.3/isos/i386/

ISO = application/x-iso9660-image

OVA = Open Virtualization Appliance

สถิติเว็บบล็อก (blog statistic)

blog
blog

27 พ.ย.55 สถิติเว็บบล็อก (blog statistic) ใน truehits.net เมื่อวันที่ 27 พ.ย.2555 พบว่ามีรายการบล็อกในระบบกว่า 30,000 blog และจาก 400 blog-site แรก พบว่ามีเพียงไม่กี่กลุ่มบล็อกที่อยู่ใน 400 อันดับ ได้แก่ 1) bloggang.com 2) dek-d.com 3) oknation.net 4) eduzones.com 5) exteen.com 6) ohozaa.com และ 7) other ที่น่าแปลกคือคนไทยมี blog-site เป็นของตนเองน้อยกว่าที่คาดไว้มาก หากดูภาพรวมที่มี blog กว่า 100,000 members พบว่า อยู่ในกลุ่ม others ซึ่งกลุ่ม other หมายถึง blog-site ที่ไม่เข้าไปอยู่ในระบบบริการของผู้ให้บริการ และมีจำนวนเพียง 8 blog-site หากเทียบเป็นร้อยละก็มีไม่ถึงร้อยละ 0.001 เท่านั้น

http://blogrank.truehits.net/

ldap server สำหรับ windows

ldap for windows
ldap for windows
22 พ.ย.55 จากการทดสอบติดตั้งโปรแกรม ldap for windows เพื่อจัดตั้ง ldap server
สำหรับให้บริการข้อมูล ก็พบว่า OpenLDAP for Windows 2.4.30 ติดตั้งง่าย
ในการติดตั้งก็กด next เป็นส่วนใหญ่ ยกเว้นรหัสผ่านของ user name ที่ผมได้กำหนดไป
โดยกำหนดให้เหมือนค่า default password ของ server ที่มีมาให้
เมื่อใช้คำสั่ง netstat -na ก็พบว่า port 389 ถูกเปิดรอให้บริการอยู่แล้ว
แล้วใช้ Apache Directory Studio
เชื่อมต่อไปที่ host:localhost port:389
แล้วเลือก No Authentication ก็เข้าได้แล้วครับ
ldap : apache directory studio
ldap : apache directory studio

การติดตั้ง Apache Directory Studio นั้น ต้องมี JRE อยู่ในเครื่อง
แล้วผมก็ copy ห้อง /jre ไปไว้ใน  C:\Program Files\Apache Directory Studio
แล้วสามารถเรียกใช้โปรแกรมได้ตามปกติ เพราะพัฒนาด้วยภาษา Java
ถ้าเข้าระบบแบบ No Authentication จะมองเห็นข้อมูลทั่วไป
แต่ไม่เห็นรหัสผ่าน ของสมาชิก จะต้องกำหนด User และ Password สำหรับแบบ Simple Authentication
จึงจะเข้าแก้ไขข้อมูลที่ถูกปิดไว้ ได้แก่ password ของ member นั่นเอง

ldap ou=xxx,dc=xxx,dc=xxx
อาทิ ldap ou=xxx,dc=xxx,dc=xxx

There was a problem sending the command

There was a problem sending the command
There was a problem sending the command
พบข้อความว่า There was a problem sending the command to the program ในโปรแกรม excel 2007 และ 2010 เมื่อ double click บน icon ของ excel file จะต้องใช้วิธี open file ตามปกติจาก menu bar
แก้ไขโดย
1. คลิ๊ก Office button, Excel Options, Advanced
2. คลิ๊ก checkbox หน้าตัวเลือก Ignore Other Applications that use Dynamic Data Exchange (DDE)

วงจรในการจัดกระบวนการประเมินคุณภาพภายใน

คู่มือการประกันคุณภาพการศึกษา ปีการศึกษา 2554-2556
คู่มือการประกันคุณภาพการศึกษา ปีการศึกษา 2554-2556

วงจรในการจัดกระบวนการประเมินคุณภาพภายใน
จากหัวข้อแนวทางการจัดกระบวนการประเมินคุณภาพการศึกษาภายใน
หน้า 201
ของ คู่มือการประกันคุณภาพการศึกษา ปีการศึกษา 2554-2556
(Quality Assurance Manual 2554-2556)

1. สถาบันวางแผนการประเมินคุณภาพประจำปีการศึกษาใหม่ โดยประกาศตัวบ่งชี้ก่อนเริ่มต้นปีการศึกษาใหม่ และแจกคู่มือการจัดทำ SAR (กรณีที่มีการเปลี่ยนแปลงตัวบ่งชี้ วิธีการ และกำหนดการประเมินคุณภาพภายในประจำปี)
2. สถาบันเก็บข้อมูลระยะ 12 เดือนตามตัวบ่งชี้ที่ได้ประกาศใช้บนระบบ CHEQA Online (มีทีมงานให้คำปรึกษากับบุคลากร และหรือหน่วยงานและหรือภาควิชาในการเก็บข้อมูล พร้อมทั้งพิจารณาปรับปรุงการดำเนินงานตามความเหมาะสม)
3. สาขาวิชา ศูนย์นอกที่ตั้ง จัดทำ SAR และเตรียมการประเมินระดับคณะวิชา และศูนย์นอกที่ตั้ง
4. ประเมินระดับคณะวิชา และศูนย์นอกที่ตั้ง
5. คณะวิชาและศูนย์นอกที่ตั้ง นำผลการประเมินมาจัดทำ SAR บนระบบ CHEQA Online และเตรียมการประเมินระดับสถาบัน และแต่งตั้งกรรมการประเมินระดับสถาบัน
6. ประเมินระดับคณะวิชา และศูนย์นอกที่ตั้งบนระบบ CHEQA Online
7. สถาบันนำผลการประเมินระดับคณะวิชา และศูนย์นอกที่ตั้งมาจัดทำ SAR บนระบบ CHEQA Online และเตรียมการประเมินระดับสถาบัน และแต่งตั้งกรรมการประเมินระดับสถาบัน
8. ประเมินระดับสถาบันบนระบบ CHEQA Online และนำผลการประเมินเสนอสภาสถาบันเพื่อพิจารณาวางแผนพัฒนาสถาบันในปีการศึกษาถัดไป
9. ผู้บริหารของสถาบันอุดมศึกษานำผลการประเมินและข้อเสนอแนะของคณะกรรมการประเมินคุณภาพการศึกษาภายใน (รวมทั้งข้อเสนอแนะของสภาสถาบัน) มาวางแผนปรับปรุงการดำเนิน หรือปรับแผนกลยุทธ์/แผนปฏิบัติการประจำปีและเสนอตั้งงบประมาณปีถัดไป หรือจัดทำโครงการพัฒนาและเสนอใช้งบประมาณกลางปี
10. ส่งรายงานประจำปีที่เป็นรายงานการประเมินคุณภาพภายใน (ประกอบด้วย SAR และผลการประเมินคุณภาพภายในระดับคณะวิชา ศูนย์นอกที่ตั้ง และระดับสถาบัน) ให้สำนักงานคณะกรรมการการอุดมศึกษาผ่านระบบ CHEQA Online และหน่วยงานต้นสังกัด (ภายใน 120 วันนับจากสิ้นปีการศึกษา)

http://www.mua.go.th/users/bhes/bhes2/QA%20MUA_54/ManualQA_MUA_February2554.pdf

http://www.cheqa.mua.go.th/

เปรียบเทียบเนื้อข้อมูลของ UTF-8 กับ Unicode หรือ UTF-16

เปรียบเทียบ utf8 utf16 และ unicode
เปรียบเทียบ utf8 utf16 และ unicode

ปกติผมจะเรียกว่าประเภทตัวอักษรแบบ Unicode
แต่ใน Firefox และ Chrome เรียกว่า UTF-16
ในบราวเซอร์รุ่นใหม่จะรู้อัตโนมัติว่าเป็นแฟ้มข้อมูลแบบใด เพื่อการแสดงผล

UTF-8
UTF-8 เป็นมาตรฐานของตัวอักษร มี Character table ที่กำหนดอย่างชัดเจน
หากสร้างแฟ้มแบบ UTF-8 ที่มีตัวอักษร 3 ตัวคือ “กขค” จะใช้พื้นที่ทั้งหมด 12 bytes
โดยใช้พื้นที่เก็บข้อมูลตัวอักษรละ 3 bytes และส่วน header คงที่อีก 3 bytes
เมื่อใช้โปรแกรม editplus ที่กำหนด encoding type เป็น UTF-8 แล้วสร้างแฟ้ม พบว่า

กอไก่ คือ E0 B8 81 ฐาน 16
ขอไข่ คือ E0 B8 82 ฐาน 16
คอควาย คือ  E0 B8 84 ฐาน 16
โดย 3 Bytes แรกของแฟ้ม คือ EF BB BF ฐาน 16

แต่ตัวเลขในแฟ้มประเภท UTF-8 จะใช้ค่าตามตาราง ASCII เหมือนเดิม
แต่อักษร 3 bytes แรกก็ยังมีอยู่เหมือนเดิม
เมื่อสร้างแฟ้มที่มี “012” ก็จะได้แฟ้มขนาด 6 Bytes
ซึ่งมาตรฐานนี้กำหนดว่าภาษาไทยอยู่ระหว่าง 0xe0 0xb8 0x80 ถึง 0xe0 0xb9 0xbf
แต่ถ้าเป็นมาตรฐาน unicode หรือ UTF-16 จะอยู่ระหว่าง U+0E00 ถึง U+0E7F

UTF-16
หากกำหนดประเภทแฟ้มเป็น unicode หรือ UTF-16 แล้ว save as ข้อมูล “กขค”
จะใช้พื้นที่ขนาด 8 bytes พบว่า

กอไก่ คือ 01 0E ฐาน 16
ขอไข่ คือ 02 0E ฐาน 16
คอควาย คือ  04 0E ฐาน 16
โดย 2 bytes แรก คือ FF FE ฐาน 16

แต่ถ้าเป็นตัวเลข “012” ก็จะมีขนาดเท่ากับ “กขค” ที่ใช้พื้นที่ 8 bytes
โดย 2 bytes แรกเหมือนเดิม แต่ข้อมูลคือ 30 00 31 00 32 00
ซึ่ง unicode จะมีขนาดแฟ้มแน่นอน คือ ตัวอักษรละ 2 bytes
เมื่อรวมกับ header อีก 2 bytes ก็จะรู้ว่าแฟ้มนี้มีกี่ตัวอักษร
เช่น “ก0ข1ค2” จะมีขนาด 14 bytes

ขนาดแฟ้มที่แตกต่าง
เมื่อพิจารณาดูความต่างของขนาดแฟ้มจะพบว่า
ประเภท UTF-8 จะมีขนาดแฟ้มแปรผัน
ตามลักษณะของข้อมูล โดยตัวเลขใช้ 1 byte แต่ตัวอักษรใช้ 3 bytes
เช่น  “ก0ข1ค2” จะมีขนาด 15 bytes
เพราะ กขค ใช้พื้นที่ 9 bytes และ 012 ใช้พื้นที่ 3 bytes
รวม header 3 bytes ก็จะเป็น 15 bytes

student group in moodle e-learning system

student group in moodle
student group in moodle
moodle เป็นระบบ e-learning ที่รองรับระบบกลุ่ม สามารถจัดกลุ่มนักศึกษา (group) ในกรณีใช้ course เดียว แต่มีนักศึกษาหลายกลุ่ม (multi group) ได้ หากไม่จัดเป็น multi group ก็จะมีปัญหาเรื่องข้อมูลอย่างแน่นอน ดังนั้นจึงต้อง edit course settings แล้วกำหนด Group mode เป็น Separate groups และ Force group mode เป็น yes
การเปลี่ยน properties ข้างต้น มีผลให้การเข้าดูผลการเรียน หรือการบ้านของนักศึกษาในแต่ละกลุ่ม จะปรากฎตัวเลือก Separate groups ให้เลือกได้ว่าจะทำงานกับกลุ่มใด ซึ่งเหมาะกับวิชาที่เปิดให้นักศึกษาต่างกลุ่ม หรือต่างปี สามารถเข้ามาเรียนรู้การพัฒนาการเรียนการสอนที่เกิดขึ้นได้ แต่สิ่งสำคัญ คือ เนื้อหาต้องไม่ต่างไปจากเดิมมากนัก จึงเหมาะกับกลุ่มที่รับเนื้อหา content ใกล้เคียงกัน และกรณีของผมก็ไม่ได้ปรับ content มากนัก ในความต่างของกลุ่มที่เกิดขึ้น จึงใช้แนวนี้ได้

ตัวอย่างการเชื่อม vs.net + console + winapp + mysql + xampp + mysql connector

vs.net + console + winapp + mysql + xampp + mysql connector
vs.net + console + winapp + mysql + xampp + mysql connector

ตัวอย่างมีโปรแกรม 2 ส่วน ที่แสดงความสัมพันธ์ของการทำงานกับส่วนต่าง ๆ ที่เชื่อมโยงกัน ได้แก่ vs.net + console application + class library + winapp + mysql + xampp + mysql connector ประกอบด้วย
1. solution ที่เป็น class library มี method ทำงานกับ mysql ในการ insert, delete, update, select
โดยรองรับการทำงานแบบ console และนำไปใช้งานบน windows forms application
http://www.thaiall.com/vsnet/mysql_sidu2.zip
2. solution ที่เป็น windows forms application มีฟอร์มเรียกใช้ class ใน class library เชื่อมต่อกับ mysql
http://www.thaiall.com/vsnet/mysql_form2.zip

ขั้นตอน และโปรแกรมที่จำเป็นต้องติดตั้งเพื่อใช้งาน solution ทั้ง 2 ข้างต้น

1. ติดตั้ง vs.net 2010
http://msdn.microsoft.com/en-us/library/dd831853%28v=vs.100%29.aspx
2. ติดตั้ง mysql connector .net เพื่อการเชื่อมต่อกับ mysql
http://dev.mysql.com/get/Downloads/Connector-Net/mysql-connector-net-6.5.4.msi/from/http://cdn.mysql.com/
12.8 MB
3. ติดตั้ง xampp เพื่อบริการ mysql
http://www.apachefriends.org/download.php?xampp-win32-1.8.1-VC9-installer.exe
99 MB
4. คลาย .zip ทั้ง 2 solution ใน c:\ แบบ extract here
5. start mysql ใน xampp
6. เปิด c:\mysql_sidu2\mysql_sidu2.sln
7. เปลี่ยน application type เป็น console application
8. กด F5 = Start Debugging แล้ว กด s,1,10 คนละบรรทัดครับ เพื่อทดสอบ
9. เปิด c:\mysql_form2\mysql_form2.sln
10. กด F5 = Start Debugging เพื่อทดสอบ insert, delete, update, select

text processing แบบ csv ในภาษา perl

ตัวอย่างผลแบบ csv
ตัวอย่างผลแบบ csv

มีโอกาสรื้อโค้ดภาษา perl อ่าน course กับ regist
ซึ่งจัดเก็บแบบ csv โดยส่งรหัสนักศึกษา ปี และภาค ไปถาม
แล้วตอบกลับเป็นรายวิชาที่ลงทะเบียน
ทำให้รู้ว่าลงวิชาอะไรไปบ้างในแต่ละภาคเรียน
เป็นเพียงช่วงหนึ่งของ code หลักที่ใช้ทำ transcript
แต่มีเพื่อนต้องการข้อมูลเพียงเท่านี้ไปประมวลผลต่อ
จึงตัด code ออกมาให้เหลือข้อมูลเท่านี้
มีตัวอย่าง code ดังนี้
#!/usr/bin/perl
# ?idstd=1234&yr=2012&sem=1
&parse;
print “Content-type:text/html\n\n”;
open(FILE,”course.txt”); @rec=<FILE>; close(FILE);
foreach $r(@rec) {
@d = split(“,”,$r);
$dd = join ‘,’,$d[2],$d[3],$d[4]; #code, subject name, credit
$scode{$d[0]} = $dd;
}
# ==================
$file = join ”,”regist”, $config{‘yr’} , $config{‘sem’} ,”.txt”;
open(FILE,”$file”); @rec=<FILE>; close(FILE);
foreach $r(@rec) {
@r = split(“\n”,$r);
@d = split(“,”,$r[0]);
if ($config{‘idstd’} eq $d[2]) {  print  $d[1] . “,”.$scode{$d[2]}.”,<br/>”; }
}
# ==================
sub parse {
if ($ENV{‘REQUEST_METHOD’} eq ‘GET’) {
@pairs = split(/&/, $ENV{‘QUERY_STRING’});
} elsif ($ENV{‘REQUEST_METHOD’} eq ‘POST’) {
read(STDIN, $buffer, $ENV{‘CONTENT_LENGTH’});
@pairs = split(/&/, $buffer);
}
foreach $pair (@pairs) {
local($name, $value) = split(/=/, $pair);
$name =~ tr/+/ /;
$name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack(“C”, hex($1))/eg;
$name =~ s/~!/~!/g;
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack(“C”, hex($1))/eg;
$value =~ s/~!/~!/g;
$value =~ s/<!–(.|\n)*–>//g;
$config{$name} = $value;
}
}

แผนพัฒนาการศึกษาระดับอุดมศึกษา 4 ปี : 2551 – 2554

จำนวนประชากร 18 - 24 ปี
จำนวนประชากร 18 - 24 ปี

มีโอกาสอ่านคู่มือการประกันคุณภาพการศึกษา ปี 2554 – 2556 โดยสำนักงานมาตรฐานและประกันคุณภาพการศึกษา ม.เนชั่น หน้า 43 ระบุในเกณฑ์ที่ 1.1.1 ว่า การจัดแผนกลยุทธ์ให้มีความสอดคล้องกับ แผนพัฒนาการศึกษาระดับอุดมศึกษา ฉบับที่ 10 (พ.ศ.2551-2554) ซึ่งแผนนี้จัดทำโดยสำนักงานคณะกรรมการการอุดมศึกษา กระทรวงศึกษาธิการ มี 49 หน้า แบ่งได้ 5 บท

บทที่ 1 ภาพอนาคตที่จะมีผลกระทบต่ออุดมศึกษาไทย
บทที่  2 ผลการดำาเนินงานในช่วงแผนพัฒนาการศึกษา
บทที่  3 วิสัยทัศน์ เป้าหมาย และยุทธศาสตร์
บทท  4 สรุปเป้าหมายการรับนกศกษาเข้าใหม่ นักศึกษารวมทั้งหมด
บทท  5 การแปลงแผนไปสู่การปฏิบัติและการติดตามประเมินผล

ในบทที่ 3 มี วิสัยทัศน์ เป้าหมาย และยุทธศาสตร์ โดยวิสัยทัศน์มี 2 วงเล็บ ส่วนเป้าหมายมี 2 แบบ คือ แบบแรกมี 4 วงเล็บ แบบสองมี 11 วงเล็บ ส่วนยุทธศาสตร์มี 5 ข้อ แต่ละข้อแบ่งเป็นเป้าหมาย และมาตรการ อย่างชัดเจน ในบทที่ 4 จะมุ่งประเด็นที่เป้าหมายรับนักศึกษา ซึ่งจำแนกเป็น 3 กลุ่ม คือ กลุ่มมนุษยศาสตร์และสังคมศาสตร์ กลุ่มวิทยาศาสตร์และเทคโนโลยี และกลุ่มวิทยาศาสตร์สุขภาพ โดยกลุ่มมนุษยศาสตร์และสังคมศาสตร์มีเป้าหมายการรับนักศึกษาลดลง แต่อีก 2 กลุ่มที่เหลือมีเพิ่มขึ้น

กลุ่มมนุษยศาสตร์และสังคมศาสตร์มีเป้าหมายการรับนักศึกษาลดลง
กลุ่มมนุษยศาสตร์และสังคมศาสตร์มีเป้าหมายการรับนักศึกษาลดลง

รายละเอียด ที่ http://www.thaiall.com/pdf/he_plan_10_2551_2554.pdf