เขียน vbs ใน macro แปลงระหว่างเลขไทยและเลขอาราบิก

แปลงเลขไทยเป็นเลขอาราบิก

5 มี.ค.53 ทุกองค์กรย่อมมีนโยบายมากมายทั้งที่เป็นลายลักษณ์อักษร และไม่เป็น เป็นทางการหรือไม่เป็นทางการ ช่วงนี้มีแนวนโยบายที่ไม่เป็นลายลักษณ์อักษรและไม่เป็นทางการเกิดขึ้นในองค์กรแห่งหนึ่ง คือ การใช้ตัวเลขในเอกสารขององค์กร ซึ่งก่อนหน้านี้มีวัฒนธรรมที่ผู้บริหารสนับสนุนให้ใช้เลขไทย ทำให้มีการใช้เลขไทยในเอกสารเป็นไปโดยอัตโนมัติ เมื่อเวลาผ่านไปแล้วมีการเปลี่ยนทีมผู้บริหารก็ย่อมมีการเปลี่ยนแปลงในหลายเรื่อง ทำให้การเลือกใช้แบบของตัวเลขเริ่มเปลี่ยนทิศทางไป การใช้ visual basic script ใน macro ของ microsoft word ที่เขียนขึ้น 2 ฟังก์ชันคือ แบบแปลงไทยเป็นเลขอาราบิก และ เลขอาราบิกเป็นเลขไทย ทำให้การสั่งเปลี่ยนทำได้ง่าย ทดสอบกับ word2003 แล้วใช้ได้ครับ .. ลองนำไปทดสอบดูได้นะครับ

Sub arabictothai()
For i = 0 To 9
With Selection.Find
.Text = Chr(48 + i)
.Replacement.Text = Chr(240 + i)
.Wrap = wdFindContinue
End With
Selection.Find.Execute Replace:=wdReplaceAll
Next
End Sub

Sub thaitoarabic()
For i = 0 To 9
With Selection.Find
.Text = Chr(240 + i)
.Replacement.Text = Chr(48 + i)
.Wrap = wdFindContinue
End With
Selection.Find.Execute Replace:=wdReplaceAll
Next
End Sub

ถ้าเป็น excel ไม่ต้องใช้ function ให้กด Ctrl-A แล้วกำหนด format ของ cell ใน Number,  Custom เป็น [$-D07041E]0 ก็จะทำให้ข้อมูลที่เป็นตัวเลขทั้งหมดเป็นเลขไทย

สาธิต : http://www.youtube.com/watch?v=JNy15bLnt9k


ปัญหาเครื่องบริการไม่รับเมลเข้า และ reset password ของ root

reset fedora root password

4 เม.ย.53 วันนี้เป็นอีกปีหนึ่งที่ผมไม่สะดวกไปไหว้เจ้าที่สุสานบรรพบุรุษชาวจีน เพราะมีงานสอนตอน 8.30 น. จึงไม่ได้พบปะครอบครัวเหมือนเช่นทุกปี ประกอบกับมีอะไรคาใจทำให้อยากไปทำงานก่อนเวลา เพราะเมื่อคืนนี้ได้ตรวจอีเมลพบว่าคนจาก Intrusion Detection Team @spawar.navy.mil ส่งอีเมลมาแจ้งว่า 1) เครื่องหนึ่งในเครือข่ายของเราได้ scan เครือข่ายของเขา หรือ 2) ผู้ใช้คนหนึ่งในเครือข่ายของเราได้ scan เครือข่ายของเขา โดยใช้ port 22 เข้าไป 129 addresses ในใจก็เชื่อครึ่งไม่เชื่อครึ่ง แต่มาแน่ใจว่าจริงก็เพราะผมเข้า root ของ fedora core 4 ไม่ได้
     มีการดำเนินการกับเครื่องบริการ ดังนี้ 1) เปลี่ยนรหัสผ่านของ root ใหม่ โดยรีบูต แล้วกด esc ขณะอยู่ใน grub แล้วกด a แล้วพิมพ์เลข 1 ต่อท้ายบรรทัดเดิม เช่น ro root=LABEL=/ rhgb quiet 1 เมื่อพบเครื่องหมาย # ก็ใช้ passwd เปลี่ยนรหัสผ่านของ root แล้ว reboot 2) ใช้ last, du, ls -alt, cat passwd, netstat -tap ตรวจว่า account อะไรถูก hack แล้วแก้ไขทีละ account ด้วยเหตุด้วยผล 3) ตรวจว่ามีบริการอะไรเปิด ด้วย service –status-all และ chkconfig –list  ถ้าบริการใดไม่ใช้ก็จะปิดบริการนั้น เช่น service sshd stop และ chkconfig sshd off 4) พบว่าอีเมลไม่เข้า หรือเข้าน้อยมาก มีปัญหานี้อยู่เกือบหนึ่งวันหลังแก้ไขในตอนเช้า จึงตรวจแล้วพบว่า postfix ไม่เปิดบริการ จึงใช้ cat maillog ก็พบว่าข้อกำหนดของ /etc /postfix /main.cf ใน postfix เป็นสาเหตุทำให้ start ไม่ขึ้น เพราะห้าม myhostname และ relayhost เป็นตัวเดียวกัน จึงเข้าไปเปลี่ยนแฟ้ม main.cf เป็นแบบไม่กำหนดคือ relayhost = หลังจากนั้นก็รับอีเมลได้ปกติ
http://fedorasolved.org/Members/realz/reset-root-password/

ทดสอบโปรแกรมจับความเร็วของ while กับ for

2 เม.ย.53 ปรับโปรแกรมจับเวลาการทำงานของโปรเซสด้วยภาษา PHP โดยใช้ Function เพราะต้องการวัดว่าใช้เวลาเท่าใดใน process ที่ต้องการทดสอบ มีการเก็บข้อมูลและเปรียบเทียบในสภาวะที่เชื่อถือได้ ซึ่ง code ชุดนี้สามารถนำไปปรับใช้ได้หลายกรณี แต่ครั้งนี้ทดสอบเพียงแค่การใช้ while และ for สำหรับทำซ้ำ 1000 รอบ พบว่า while ทำงานเร็วกว่า ในระดับ 1ต่อหมื่นวินาที ส่วนการทดสอบกับ mysql ผมยังไม่ได้เตรียมสภาวะแวดล้อมให้พร้อม จึงไม่นำเสนอผลที่นี่ .. ถ้าควบคุมและทดสอบจนได้ผลอย่างไร จะกลับมาเล่าใหม่

<?
$gap=0;
xtime("start");
for($i=1;$i<=1000;$i++) { }
echo number_format(xtime("stop"),9) ." วินาที<br>";
$j=0;
xtime("start");
while($j < 1000) { $j++; }
echo number_format(xtime("stop"),9) ." วินาที<br>";
function xtime ($action) {
  global $gap;
  list($u,$s) = split(" ",microtime()); 
  if ($action == "start") $gap = $s + $u; 
      else $gap = $s + $u - $gap;
  return $gap;
}
?>

+ http://www.thaiall.com/php

ทดสอบโปรแกรม thaiabc.com รุ่น 6.5 กับการประมวลผลบน DVD

1 เม.ย.53 โปรแกรมแก้วสารพัดนึก คือ โปรแกรมที่ช่วย ติดตั้งเครื่องบริการเว็บ เครื่องบริการฐานข้อมูล โอเพนซอร์ส และรวมบทความมากมาย สำหรับนำไปเรียนรู้ได้ด้วยตนเอง หลังติดตั้งเสร็จจะได้โปรแกรม Apache + PHP + MySQL + Perl + Script เช่น e-Commerce, e-Learning, CMS, Article และ Source Code
     วันนี้เขียน software หลายร้อยโปรแกรมลง DVD หลายแผ่นไว้แจกนักศึกษาในชั้นเรียน ในนั้นมีโปรแกรม thaiabc.com แบบ no install ให้ประมวลผล apache + php + mysql ที่ใครเรียกว่าโปรแกรมประเภท WAMP จากการแก้ไขให้ run mysql แบบไม่ใช้ innodb พบว่า wordpress สามารถ run ผ่าน CD-ROM ได้ทันทีใช้ admin เข้าระบบก็ได้ เพราะการอ่าน blog ที่วางไว้สองร้อยกว่าเรื่องไม่มีการเก็บ log ของการอ่านไว้ในฐานข้อมูล  ส่วน learnsquare v2 ก็ไม่พบปัญหาแม้จะ login ด้วย admin ก็ใช้งานผ่าน DVD ได้ปกติ ส่วน phpmyadmin พบว่าสามารถเข้าดูข้อมูลใน mysql ได้ วันนี้คุณสามารถ download ชุดติดตั้งโปรแกรมแก้วสารพัดนึกจาก thaiabc.com ได้แล้ว 1) เมื่อติดตั้งแล้วก็ใช้งานใน Drive C 2)เลือกที่จะคัดลอกไปวางใน DVD หรือ CD ซึ่งเก็บข้อมูลได้มากและราคาถูก 3)เลือกที่จะคัดลอกไปวางไว้ใน Thumb Drive เพื่อใช้งานได้ในทุกที่
     แต่ moodle พบ error message เพราะมีการเขียน session ส่วน mambo มีการ insert เข้าฐานข้อมูลพบ error ส่วน oscommerce มีการ insert เข้าตาราง session พบ error ส่วน gallery ก็ใช้งานไม่ได้พบ error ส่วน phpbb3 ก็ใช้งานไม่ได้พบ error .. สรุปว่าผลการทดสอบกับ DVD ซึ่งเป็นสื่อเก็บข้อมูลแบบอ่านอย่างเดียว ถือเป็นปัญหาที่ไม่ใหญ่นัก เนื่องจากคาดไว้แล้ว แต่การใช้งานจริงก็จะใช้ผ่าน USB Drive หรือ Flash Drive เพราะเป็นอุปกรณ์ที่อ่านเขียนได้ ราคาถูกลงมาก และทำงานได้เร็วกว่า DVD แน่นอน .. ดังนั้นทุกบริการจึงทำงานได้ทั้งหมด

ปรับรุ่นของชุดติดตั้งเครื่องบริการพร้อมเว็บแอพพลิเคชัน

โปรแกรมติดตั้งเครื่องบริการ thaiabc.com

29 มี.ค.53 วันนี้ผมปรับปรุงโปรแกรมแก้วสารพัดนึก หรือโปรแกรม thaiabc.com เป็นรุ่น 6.5 โปรแกรมชุดติดตั้งเครื่องบริการพร้อมเว็บแอพพลิเคชัน ประกอบด้วย apache + php + mysql + phpmyadmin + moodle + oscommerce + .. สรุปว่าเป็นชุดติดตั้ง webserver ให้ชาวไทยฝึกติดตั้งเครื่องบริการ เพื่อให้เรียนรู้หรือใช้งานได้โดยง่าย รวมทั้งนำไปสร้างโปรแกรมแบบนี้ได้ด้วยตนเอง ขั้นตอนที่ผม upgrade ชุด installer คือ 1) ล้าง thumbnail 2) เก็บ code ของ nsi ที่ใช้ปรับแฟ้ม .nsi จากหน้า main.php 3) สร้างแฟ้ม .exe 4) นำไปทดสอบติดตั้งในเครื่องเป้าหมาย 5) ตรวจสอบผล 6) ทดสอบ uninstall 7) ตรวจสอบผล 8) กลับมาแก้ไข .nsi และทำข้อ 3 ใหม่อีกรอบจนไม่พบปัญหา 9) คัดลอกห้อง c:\thaiabc ไปไว้ใน flash drive หรือ cd-rom แล้วทดสอบตั้งแต่ข้อ 4 ถึง 9 ใหม่ .. สรุปว่ายังทดสอบกับ flash drive ไม่เรียบร้อย เพราะดึกแล้ว พรุ่งนี้จะตรวจสอบผลอีกครั้ง .. แต่รุ่น beta ของ 6.5 เผยแพร่ผ่านเว็บไซต์ thaiabc.com แล้วครับ
+ http://www.thaiabc.com/download/thaiabc65.zip

ตลาดดอทคอม จัดสัมมนาที่ลำปาง

ตลาดดอทคอม กับ thaisecondhand.com

26 มี.ค.53 คุณ big หรือ Nanapa Navapongsireetorn เป็น area manager ของ tarad.com และ thaisecondhand.com โทรมาแจ้งว่า บริษัท ตลาดดอทคอม จำกัด ได้จัดสัมมนาหลักสูตร “เพิ่มยอดขาย ลดรายจ่าย ด้วยร้านค้าออนไลน์”  ในวันเสาร์ที่ 3 เมษายน 2553 เวลา 13.30น. – 16.00น. ณ ห้องประชุมธัญญากร ชั้น 1 คณะวิทยาการจัดการ มหาวิทยาลัยราชภัฏลําปาง มีหัวข้อสำคัญ 5 หัวข้อคือ 1)วิธีการโปรโมทเว็บไซต์ให้ติด Google ภายใน 1 เดือน 2) เริ่มต้นรู้จักการ พาณิชย์อิเล็กทรอนิคส์ (E-Commerce) 3) ยุทธวิธีในการวางแผนเพื่อเริ่มต้นทำ E-Commerce 4) 10 วิธีการสร้างความน่าเชื่อถือให้กับเว็บไซต์ของคุณ 5) กลโกงทางอินเตอร์เน็ตที่ควรระมัดระวังเมื่อทำ E-Commerce เมื่อได้ข้อมูลผมจึง post ไว้ใน thaiall.com/blog และ lovelampang.com
+ http://www.tarad.com
+ http://www.thaisecondhand.com
http://www.lovelampang.com

ปรับ wordpress เพื่อสร้าง theme รับ seo

23 มี.ค.53 ได้ฤกษ์แก้ไข code ของ wordpress เป็นภาษาไทย โดยใช้ editplus เปิดแฟ้ม archive.php comments.php search.php author.php index.php page.php header.php footer.php single.php และ style.css โดยการแก้ไขมีดังนี้ 1) ทุกแฟ้มต้องเปลี่ยน encoding เป็น utf8 เพื่อแก้ปัญหาภาษาไทย เนื่องจากกำหนด define(‘DB_CHARSET’, ‘utf8’); ใน wp-config.php จึงต้องแก้ charset ในครั้งนี้ 2) เพิ่มป้ายประชาสัมพันธ์ของ google เข้าไปในหน้าที่สำคัญ 3) ปรับ widecolumn ให้มี width: 600px; และเพิ่ม .narrowcolumn .entry { width: 468px; } เข้าไปใน style.css 4) ปรับ font-size และ layout ให้กับหลายส่วน 5) ล้าง code ให้มีขนาดลดลง โดยเฉพาะ css 6) ปรับ sidebar, categories และ tag cloud ให้พร้อมรับ seo

พบ crawl errors กว่า 500 ที่เป็น unreachable จึงต้องแก้ไข

แก้ปัญหา url ภาษาไทยกับ tag ของ wordpress

16 มี.ค.53 มีโอกาสเข้าไปตรวจ account ของ webmaster tools ที่สมัครไว้หลายปีก่อน เนื่องจากมีปัญหาในเว็บไซต์ wordpress ขององค์กรที่ติด bad ware เมื่อเข้าไปดูสถิติเกี่ยวกับ crawl errors ก็ต้องตกใจ เพราะ url แบบ permalink ที่ใช้ใน wordpress 2.9.2 นั้น ใช้งานไม่ได้ในส่วนของ tag กว่า 500 เว็บเพจใน thaiall.com/blog จึงหาวิธีแก้ไขเรื่อง url ที่ใช้ภาษาไทยไม่ได้ ถ้าใช้ slug tag เป็นภาษาอังกฤษหรือตัวเลขอย่างที่ใช้ใน category หรือ username หรือ postid ก็จะไม่พบปัญหา ที่เป็นปัญหาคือใช้ tag ที่แปลงภาษาไทยด้วย url encode แล้ว เมื่อข้อความไปผ่าน mod_rewrite ของ apache ในเครื่องของ hypermart.net จะพบ Internal Server Error .. สังเกตุว่าเกิด redirect 2 รอบเมื่อกดปุ่ม enter .. ต้องแก้ปัญหามิเช่นนั้นจะไม่เป็นไปตาม seo ครับ
     พยายามแก้ไขจนไปพบทางออกในวิธีที่สาม คือ 1) ติดตั้ง simple tag plugin แต่ไม่ช่วยแก้ปัญหากรณีนี้ เพราะไม่มีตัวเลือก tag id และถ้ามีก็คงไม่ work ตามกฎของ seo 2) จะแก้ .htaccess แต่ก็สงสัยว่าแก้ไปก็คงไม่ช่วย เพราะปัญหานี้เกิดเฉพาะกับ hypermart.net ทดสอบในเครื่องที่บ้านที่ใช้ apache ก็ไม่พบปัญหานี้ และเคยพบปัญหาภาษาไทยกับ url จนต้องใช้ url_encode ใน php มาแล้ว แต่ครั้งนี้มีการ redirect 2 รอบ จึงคาดว่าไม่ผ่านในรอบสองนั่นเอง 3) ทดสอบใช้ default ของ permalink แล้วพบว่ามี ?tag= ให้ใช้บริการ เมื่อเปลี่ยนไปใช้ /%author%/%post_id%/ ก็พบว่ายังใช้ ?tag= ได้ จึงทดสอบเติมเข้าไปใน tag base ก็ยังใช้งานได้ทั้งแบบผ่าน get และผ่าน mod_rewrite สรุปว่าเป็นงานเล็กที่ใช้เวลานานมากอีกงานหนึ่ง ค้นและทดสอบไปกว่า 6 ชั่วโมง .. ดีนะครับที่อยู่บ้าน เพราะไม่มีใครดึงความสนใจ ถ้าอยู่ที่ทำงานคงไปไม่ถึงไหน .. เท่านี้ก็เป็นไปตามแนวของ seo
+ http://www.thaiall.com/seo

เว็บไซต์ creative university

Bangkok University : Creative university

14 มี.ค.53 พบเว็บไซต์ของมหาวิทยาลัยกรุงเทพ คือ www.bu.ac.th ใช้คำว่า creative university ออกแบบได้สวย เป็นระเบียบ (พบคำว่า creative ที่มี idea สอดคล้องกับที่ ดร.วิริยะ ฤาชัยพาณิชย์  บรรยายที่มหาวิทยาลัย) เมื่อเข้าไปแต่ละคณะก็พบว่ามี creative ในแบบของตน คือ ไม่ได้เหมือนกันไปซะหมด แต่ละคณะก็มีรูปแบบการนำเสนอข้อมูลที่แตกต่างกันไป เหมือนเป็นทีมพัฒนากันคนละทีมกับหน้าแรก โทนสีของเว็บไซต์น่าจะเป็นม่วงส้ม เพราะเว็บเพจที่พัฒนาโดยหน่วยงานกลางจะใช้เมนูด้านซ้ายเป็นสีม่วง ส่วนตัวหนังสือก็พยายามใช้ม่วงกับส้มสลับกัน เช่น ถาม-ตอบ หรือ ควันหลงรับปริญญา การนำเสนอเรื่องการแต่งตัวของนักศึกษาดูเป็นมืออาชีพ และเรียบร้อยสมเป็นนักศึกษาสมัยใหม่ในสถาบันการศึกษา และมีการเชื่อม facebook กับ twitter เกาะกระแส Social Network ด้วยครับ แต่ไม่พบการใช้บริการสถิติกับ truehits.net
+ http://www.facebook.com/bangkokuniversity
+ http://twitter.com/BUCreative
+ http://www.youtube.com/bucreative

ลิขสิทธิ์ซอฟท์แวร์ระหว่างบุคคล

6 มี.ค.53 ซอฟท์แวร์ที่ถูกพัฒนาขึ้นส่วนหนึ่งมีลิขสิทธิ์ชัดเจน ผู้นำไปใช้ต้องเสียค่าใช้จ่ายก่อน ไม่มีแชร์แวร์หรือรุ่นทดสอบ (Demo) ให้นำไปทดลองใช้งานก่อนแล้วตัดสินใจภายหลัง ถ้าใช้ก็ต้องเสียเงินก่อนจะได้ซอฟท์แวร์ไปติดตั้ง สำหรับค่าลิขสิทธิ์ซอฟท์แวร์มีหลายรูปแบบ เช่น ใช้คนเดียว ใช้ได้ทั้งองค์การ หรือนำไปพัฒนาให้กับลูกค้า ซอฟท์แวร์บางตัวเป็นแบบต่อยอดจากตัวหลัก เช่น wordpress.org เป็นตัวหลักที่เปิดให้ดาวน์โหลดได้ฟรี แต่ถ้าจะใช้ theme สวยของ solostream.com ที่ออกแบบให้ทำหน้าที่เป็นหน้ากากครอบซอฟท์แวร์ตัวหลักที่ถูกพัฒนาขึ้นโดยผู้พัฒนาอิสระแล้วจำหน่ายแยกออกจากซอฟท์แวร์ตัวหลักที่แจกฟรีก็เกิดขึ้นแล้วในปัจจุบัน
            ปัญหาลิขสิทธิ์เกิดขึ้นได้หลายกรณี เช่น ผู้เขียนพัฒนาซอฟท์แวร์ตัวหนึ่งและเปิดให้คนไทยดาวน์โหลดไปใช้ได้ฟรีแบบโอเพนท์ซอร์ท ต่อมามีผู้พัฒนาชาวไทยนำไปพัฒนาต่อยอดแล้วขายต่อให้กับลูกค้า ต่อจากนั้นผู้พัฒนาท่านนั้นได้ทิ้งงานไปแล้วลูกค้าก็โทรมาสอบถามผู้เขียน เพราะคิดว่าซอฟท์แวร์ที่เขาใช้อยู่ได้จ่ายให้ผู้เขียนส่วนหนึ่ง เมื่ออธิบายเรื่องลิขสิทธิ์แล้วลูกค้าท่านนั้นก็เข้าใจ อีกตัวอย่างหนึ่งคือชาวต่างชาติพัฒนาซอฟท์แวร์เพื่อขายแล้วคนไทยได้คัดลอกมาใช้อย่างไม่ถูกต้องตามเงื่อนไขของลิขสิทธิ์ แต่นำซอฟท์แวร์ดังกล่าวไปขายต่อให้กับลูกค้า ซึ่งลูกค้าไม่น้อยไม่เข้าใจในประเด็นเรื่องลิขสิทธิ์ซอฟท์แวร์ก็ยินดีจ่ายด้วยรู้เท่าไม่ถึงการณ์
            ในโลกที่เทคโนโลยีพัฒนาอย่างรวดเร็ว การตัดสินใจแต่ละเรื่องต้องใช้วิจารณญาณอย่างมาก เพื่อไม่ให้พลาดพลั้งไปกับเงื่อนไขที่เปลี่ยนแปลงแล้วส่งผลเสียย้อนกลับมา การพัฒนาเว็บไซต์ที่ใช้ระบบจัดการเนื้อหาเว็บไซต์ (CMS) เหมาะกับเว็บไซต์ที่เนื้อหามากและแบ่งหมวดหมู่ได้ชัดเจน เมื่อเลือกใช้ระบบจากค่ายใดก็ต้องติดตามการอัพเกรดอย่างต่อเนื่อง เพื่อให้ทันเทคโนโลยีและปลอดภัยต่อการบุกรุก หากเปลี่ยนระบบ อัพเกรด หรือยกเลิกระบบซีเอ็มเอสอาจทำให้นำข้อมูลกลับมาใช้ต่อไม่ได้ ทำให้ที่อยู่เว็บไซต์ที่เคยถูกอ้างอิงไปทั่วโลกเปลี่ยนแปลง นั่นหมายถึงเนื้อหาที่เคยถูกเชื่อมโยงจากภายนอกจะหายไปทั้งหมด นี่เป็นตัวอย่างประกอบการตัดสินใจจ่ายค่าลิขสิทธิ์ซอฟท์แวร์ที่ต้องพิจารณารอบด้านบนความเข้าใจและให้ความสำคัญกับความเสี่ยงที่จะเกิดขึ้นเป็นที่ตั้ง