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

ldap ในเครื่องบริการ .. ไม่ตื่นอีกแล้ว

ldap fail
ldap fail

ขั้นตอนการตรวจสอบ และแก้ไข
ในกรณี ldap server ล้มหลังไฟฟ้าดับ แล้ว ldap server ก็ตอบว่า ldap unbind

1. พบว่าสั่ง start บริการ ไม่สำเร็จ
#/etc/init.d/ldap start
Checking configuration files for slapd: [FAILED]
2. แก้ไขปัญหาด้วยการ recover
#/usr/sbin/slapd_db_recover -v -h /var/lib/ldap/myname
ได้แฟ้ม log.0000000001 มาใหม่ และดูเหมือน recover สำเร็จ
แต่ก็ยังใช้งานไม่ได้ จึง restart เครื่อง เพื่อล้างค่าต่าง ๆ
3. restart เครื่องคอมพิวเตอร์
4. เมื่อสั่ง start บริการ ก็พบคำว่า OK
สั่ง start กี่ครั้ง ก็ตอบว่า OK .. หมายความว่าไม่ OK
เมื่อตรวจดู status ก็พบว่าบริการไม่ได้ถูกเปิดให้ใช้
#service ldap start เป็นวิธีเปิดบริการ ldap อีกแบบ
#/etc/init.d/ldap status เป็นวิธีตรวจสอบสถานะว่า running รึเปล่า
5. ทดสอบสั่ง start อีกแบบด้วย #/usr/sbin/slapd หรือ slapd -d 10
เมื่อตรวจ status ก็พบว่า ระบบเปิดบริการแล้ว (เรียกว่าเปิดบริการแบบ manual)
แต่ก็ต้องหาว่าสาเหตุคืออะไรต่อไป เพราะ ไม่สามารถ start ตามปกติได้
6. พบสาเหตุว่าเจ้าของแฟ้มในห้อง myname ไม่ใช่ ldap:ldap แต่เป็น root:root
จึงต้องเปลี่ยนเจ้าของ #chown ldap:ldap * ในห้อง /var/lib/ldap/myname
สรุปว่า ใช้งานได้ปกติหลังเปลี่ยนเจ้าของ
7. ใช้โปรแกรมจาก http://www.ldapadministrator.com/
ซึ่งเป็น ldap client admin เข้าไปจัดการข้อมูลได้ครับ

28 ก.ค.58 คุณตั้งแจ้งว่า verify stdid ไม่ผ่านอีกแล้ว หลังไฟดับเมื่อเช้า
หารือกับคุณตุ้ย ก็พบว่ามีปัญหาจริง ซึ่งก็ไม่รู้ว่าเกี่ยวกับไฟฟ้าดับรึเปล่า
ใช้วิธีข้างบนไม่ขลังเหมือนก่อน  ทั้งคุณเปรม และผมปลุกตามวิธีเดิม ๆ ก็ไม่ขึ้น
แล้วเวลาสั่ง start พบคำว่า
Finding last valid log LSN: file: 7 offset 8689191
Recovery starting from [7][8689099]
Recovery complete at Tue Jul 28 15:31:48 2015
Maximum transaction ID 80000007 Recovery checkpoint [7][8689191]

สรุปว่าลองลบ log
แล้วแฟ้ม ___db.001 ก็มากันปกติ จึงได้ใช้ chown จากนั้นก็ ok
แต่ก็ไม่แน่ใจ เพราะปัญหาหายไปแล้ว ถ้าเกิดอีกค่อยตามร่องรอยกันใหม่

http://www.thaiall.com/blog/admin/4282/
http://www.thaiall.com/blog/burin/3713/
http://www.thaiall.com/blog/burin/3698/
http://www.thaiall.com/blog/burin/3680/

fail to restart ldap
fail to restart ldap

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)

เปรียบเทียบเนื้อข้อมูลของ 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

ตัวอย่างการเชื่อม 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;
}
}

Desktop หายจาก windows explorer

folder options
folder options
12 ต.ค.55 ปกติเครื่องคอมพิวเตอร์ที่ผมใช้ทุกเครื่องทั้งที่ทำงานและที่บ้าน จะติดตั้ง deepfreeze เพื่อคงสภาพของ drive c ไม่ให้มีการเปลี่ยนแปลง ผลดีมี 2 ข้อ คือ ทดสอบโปรแกรมใหม่ได้ตลอดเวลา และไม่ติดไวรัส อยู่มาวันหนึ่ง mainboard มีปัญหา ก็ได้คุณเปรมช่วยดูแลเครื่องให้ โดยย้ายไปเครื่องใหม่ที่มี mainboard รุ่นใหม่ แต่ harddisk เดิม ซึ่งคุณอนุชิตแนะนำว่าต้องลงโปรแกรม SPAT6.0.9 (System Preparation Assisted Tool) ช่วยล้างค่าอุปกรณ์ต่าง ๆ ภายในเครื่อง ก่อนถอด harddisk ไปใส่ในเครื่องใหม่ เมื่อย้ายเครื่องสำเร็จแล้วใช้ windows explorer พบว่า folder ชื่อ desktop หายไป เพราะปกติจะบันทึกแล้วที่ใช้ชั่วคราวไว้ใน desktop หากปิดเครื่องแล้วเปิดใหม่แฟ้มเหล่านั้นก็จะหายไป ด้วยพลังของ deepfreeze
วิธีที่ผมแก้ไข คือ เข้าไปตรวจ properties ของ folder options ก็พบว่า Show all folders ใน Navigation pane ไม่ได้ถูกทำเครื่องหมายไว้ (uncheck) จึงแก้ไขเป็น check แล้วก็พบว่า desktop ถูกแสดงใน windows explorer ตามปกติ
พบข้อมูล จากเว็บไซต์ varietypc.net มีคำแนะนำเกี่ยวกับ hirens แต่กรณีของผมไม่ได้ใช้ตามคำแนะนำ เพราะใช้ Harddisk ลูกเดิม แต่เปลี่ยนเครื่อง หากท่านใดย้ายทั้ง Harddisk และเครื่อง ก็คงต้องใช้ hirens ช่วยในการ Clone Harddisk

การทำ USB Flash Drive ของ Hirens ไว้ใช้งาน
Download SPAT6.0.9
+ http://plunder.com/c810a8ca68

ศูนย์สอบออนไลน์แห่งใหม่

online quiz
online quiz

9 ต.ค.55 ผมได้เปลี่ยนนโยบาย thainame.net (อีกครั้ง) จาก “โฮมเพจฟรี และสคริปต์สำหรับสร้างบริการนี้” เป็น “ศูนย์สอบออนไลน์แห่งใหม่” โดยอาศัยเด็ก ๆ 3 คน สร้างข้อสอบ 3 ชุด คือ ชุดฝนดาวตก ชุดเกาะพีพี และชุดอ่าวมาหยา ส่วนชุดที่แถมเข้าไปคือ ชุดป๊ะป๋าม๊ะม๋า งานนี้เริ่มดำเนินการในช่วงปิดภาคเรียนที่ 1 ของม.1 น้องแฝด และม.2 ของพี่คนโต แทนที่จะเรียนรู้เรื่องราวต่าง ๆ เฉย ๆ ก็นำความรู้มาเรียบเรียง และเผยแพร่ในรูปของข้อสอบออนไลน์ โดยใช้การสร้างข้อสอบที่มีเด็ก ๆ เป็นกลไก และคาดว่าผมจะทิ้งไม้ปล่อยให้พวกเขาเข้าควบคุมระบบในเร็ววันนี้ ซึ่งช่วงนี้ผมใช้กระบวนการดังนี้

1. เด็ก ๆ พิมพ์ข้อสอบใน word ในชื่อแฟ้มที่ตนถนัด
2. ทำความเข้าใจเรื่องกฎการตั้งชื่อ และรูปแบบการพิมพ์
3. ผมเตรียมเครื่อง แก้ไขจาก test10.php มาเป็น test3.php และทดสอบ
4. ให้พวกเขาเปลี่ยนจาก word มาเป็น php โดยใช้ excel แบบ csv
5. เลือกสี และภาพประกอบชุดข้อสอบของตน
6. ตรวจทานผ่านระบบออนไลน์ แล้วแก้ไขให้ถูกต้อง

พรุ่งนี้ .. ผมต้องอบรมนักศึกษา เตรียมความพร้อมเข้าสหกิจฯ เรื่องการเขียนโฮมเพจ ก็คาดว่าจะเปิดให้นักศึกษาเข้าใช้บริการโฮมเพจฟรีผ่านโดเมนตัวนี้ ก่อนปรับ design ในวันถัด ๆ ไป โดยมี webpage ที่ให้บริการคือ http://www.thainame.net/ntu แล้วมี account ตั้งแต่ onea ถึง twoz ทั้งหมด 52 account ไว้คอยท่า

ติดตั้ง visual studio 2010

how to install visual studio 2010
how to install visual studio 2010

เพื่อนร่วมงานให้โปรแกรมมาลองติดตั้ง เป็น VS 2010 แล้วผมก็ลง 2 รอบ เพราะรอบแรก Hang ส่วนรอบ 2 ใช้ Reinstall ปัญหาใหญ่คือเครื่องเก่า แต่สุดท้ายก็ข้าม error ไปจนเปิดโปรแกรมได้สำเร็จ
OS: XP V2002 SP3
CPU: AMD Althlon 64 X2 Dual Core Processor 4000+
Ram: 1 GB
HD: 60 GB ก่อนติดตั้งพบว่า D: เหลือ  1 GB และ C: เหลือ 10 GB
พบความขลุกขลักระหว่างติดตั้ง เพราะต้องคิดเรื่อง Deepfreeze และสรุปได้ว่าทำให้ D: เหลือมากกว่า 2 GB แล้วคัดลอกตัวติดตั้งลงไป แล้วใช้ daemon tool อ่านเพื่อติดตั้งลงไปใน C: ระหว่างรอพบว่าโปรแกรมสั่ง restart ระหว่างติดตั้งเพื่อเข้าสู่โปรแกรมใหม่  เมื่อเริ่มใหม่ก็ต้องปลุกให้ Daemon tool ทำงานต่อ ก็ทำให้การติดตั้งผ่านต่อไปในส่วนของ Visual Studio ได้สำเร็จ

http://www.facebook.com/media/set/?set=a.527414350606034.132429.506818005999002

stop motion กับแจกันเก่าที่บ้าน

30 ก.ย.55 คลิ๊ปตัวอย่างนี้ เป็นการเทียบเคียงการทำงานแบบ stop motion คือการเคลื่อนไหวแบบหยุดเป็นจังหวะ แต่ภาพชุดนี้ต่างออกไป คือคนถ่ายเป็นคนเคลื่อนไหว แต่ถ้า stop motion ของจริง วัตถุจะเป็นตัวเคลื่อนไป เหมือนตัดภาพทุก 5 วินาทีมาแสดง ซึ่งมีภาพยนตร์การ์ตูนหลายเรื่องใช้เทคนิคนี้

สตอปโมชัน (Stop motion) เป็นแอนิเมชันที่อะนิเมะเตอร์ต้องสร้างส่วน ประกอบต่างๆ ของภาพขึ้นด้วยวิธีอื่น นอกเหนือจากการวาดบนแผ่นกระดาษ หรือแผ่นเซล และยังต้องยอมเมื่อยมือ ขยับรูปร่างท่าทางของส่วนประกอบเหล่านั้นทีละนิดๆ แล้วใช้กล้องถ่ายไว้ทีละเฟรมๆ

สต็อปโมชั่นมีเทคนิคทำได้หลากหลาย

1. เคลย์แอนิเมชั่น (Clay animation หรือ เคลย์เมชั่น  claymation) คือ แอนิเมชั่นที่ใช้หุ่น หรือรูปทรง ซึ่งทำจากดินเหนียว ขี้ผึ้ง หรือวัสดุใกล้เคียง โดยใส่โครงลวดไว้ข้างในเพื่อให้ดัดท่าทางได้ แล้วเคลื่อนไหวไปทีละท่าทางตามต้องการ เมื่อนำภาพทั้งหมดมาเรียงเป็นเฟรมต่อกัน ก็จะเสมือนว่ามีการเคลื่อนไหวอย่างต่อเนื่อง
2. คัตเอาต์แแอนิเมชั่น (Cutout animation) คือ การนำวัสดุสองมิติ เช่น กระดาษ หรือผ้า มาตัดเป็นรูปต่าง ๆ แล้วนำมาขยับเพื่อถ่ายเก็บไว้ทีละเฟรม แล้วนำเฟรมมาต่อกัน เล่าเป็นเรื่องราวตามหัวข้อที่กำหนด แต่ปัจจุบันอาจวาดหรือสแกนภาพเข้าไปขยับในคอมพิวเตอร์ เช่น move, rotate หรือ resize
3. หุ่นกระบอก หรือโมเดลแอนิเมชั่น (Puppet or Model animation) คือ การทำตัวละครเป็นโมเดลขึ้นมาขยับร่วมกับวัตถุอื่น อาจมีการซ้อนภาพเข้ากับฉากที่มีคนแสดงจริง และภาพพื้นเสมือนจริงก็ได้
4. พิกซิลเลชั่น (Pixilation) คือ การใช้คนจริงมาขยับท่าทางเพื่อแสดงการเคลื่อนไหว แล้วถ่ายเก็บไว้ทีละภาพ ทีละเฟรม แล้วนำมาฉายต่อเนื่องกันให้เห็นถึงการเคลื่อนไหวของคนอย่างไหลลื่น
5. แอนิเมชั่นกับวัตถุ (Object animation) คือ การนำวัตถุที่ไม่สามารถดัดแปลงรูปร่างหน้าตาแบบดินเหนียว มาเป็นองค์ประกอบหลักในการสร้างภาพ เช่น ของเล่น หุ่น ตุ๊กตา หรือตัวต่อเลโก้
6. แอนิเมชั่นเงาของแสง (Silhouette animation) คือ การแสดงให้เห็นวัตถุผ่านเงา อาจสร้างวัตถุจากกระดาษ แล้วนำมาบังแสงเพื่อให้ได้เงาที่ต้องการ อาจใช้วิธีอื่นก็ได้ ซึ่งเป็นแนวคิดที่ปรับจากการแสดงด้วยเงาคล้ายหนังตะลุง หรือหนังเงา

http://www.thaiall.com/blogacla/burin/4036/

http://www.maacindia.com/blog/index.php/stop-motion-animation-another-approach-to-animation/
http://th.wikipedia.org/wiki/%E0%B8%AA%E0%B8%95%E0%B8%AD%E0%B8%9B%E0%B9%82%E0%B8%A1%E0%B8%8A%E0%B8%B1%E0%B8%99