contact list ของ gmail

contacts of gmail.com
contacts of gmail.com
28 ก.ย.54 มีโอกาสต้องทำ contact list ให้กับเพื่อนในกลุ่มเดียวกัน
1. เริ่มต้นด้วยการ export contact list จาก email ของตนเอง จนได้โครงสร้างแบบ csv
2. เปิดด้วย excel แล้วนำข้อมูลอีเมล ใส่เข้าไปใน group.csv แล้วก็จัดเก็บ
3. หาแหล่งเผยแพร่ ให้เพื่อน download นำไป import ด้วยตนเอง หรือส่ง attach ก็ได้
4. เพื่อนจะเข้าอีเมลของ gmail.com แล้วคลิ๊ก Contacts ในเมนูทางด้านซ้าย
5. คลิ๊ก More ในเมนูบาร์จะพบ Dropdown list แล้วเลือก import…
6. เลือกแฟ้ม group.csv ที่ท่านดาวน์โหลดจากข้อ 3 แล้วกดปุ่ม import
7. เมื่อเพื่อน compose mail แล้วพิมพ์ A ก็จะมีรายชื่อของเพื่อนที่ชื่อขึ้นต้นด้วย A มาทันที

กรณีศึกษา moodle ล่ม

moodle space error
moodle space error
26 ก.ย.54 ได้พบกับเครื่องบริการที่แจ้งว่ามีข้อผิดพลาดเกิดขึ้น ว่า Error: Database connection failed. It is possible that the database is overloaded or otherwise not running properly. The site administrator should also check that the database details have been correctly specified in config.php ก็เริ่มต้นด้วยการเข้าเครื่องบริการเครื่องหนึ่งใน Server farm ผ่าน ATen Master View (KVM) ด้วยการกดปุ่ม Scroll lock 2 ครั้ง ก่อนที่หน้าจอรับรหัสจะปรากฎขึ้น เมื่อเข้าได้แล้วก็พบว่า Harddisk ขนาด 35 GB แบ่งเป็น 2 Drive คือ C drive = program (15 GB) และ D drive = data (20 GB) แล้วขนาดที่เหลือคือ C Drive = 100 MB และ D Drive = 10 GB
จากข้อมูลข้างต้นก็คาดว่าปัญหาเกิดจาก C Drive ไม่เหลือพื้นที่แล้ว จึงเข้าไปตรวจว่ามีอะไรแปลกปลอมเข้ามาในเครื่องหรือไม่ แต่ก็ไม่พบ เมื่อใช้ search หาแฟ้ม over 1 MB ก็พบห้อง c:\windows\system32\logfiles มีแฟ้มบันทึกการจราจรของผู้ใช้ จึงได้คัดลอกข้อมูลทั้งหมดออกไปไว้ใน external harddisk สอดรับกับตาม พรบ.ว่าด้วยการกระทำความผิดเกี่ยวกับคอมพิวเตอร์ ปี 2550 แล้วจึง clear พื้นที่ และได้พื้นที่เหลือใน C Drive กว่า 5 GB เพื่อตรวจสอบว่าการแก้ไขข้างต้นปลด error ออกจากระบบอีเลินนิ่งที่ใช้ moodle ได้หรือไม่ จึง restart computer (ถ้า restart แล้วยังพบปัญหา ก็จะตรวจฐานข้อมูล เพราะจากข้อความท ทำให้คาดว่า mysql น่าจะมีปัญหา แต่ไม่ทันได้เข้าไปตรวจ ปัญหาก็หมดไปซะก่อน)
ผลการตรวจสอบหลังแก้ไข พบว่าระบบอีเลินนิ่งทำงานได้ตามปกติ

ยกเลิก deepfreeze แบบไม่มีรหัสผ่าน

deepfreeze
deepfreeze

23 ก.ย.54 ครั้งหนึ่งซื้อเครื่องคอมพิวเตอร์มือสอง (windows xp + office 2000) จากเพื่อน แต่ในเครื่องติดตั้ง deepfreeze 1.6 เมื่อติดต่อกลับไปหาเพื่อนก็ไม่ได้รับคำตอบ เพราะเพื่อนปิดโทรศัพท์ หากไม่ยกเลิกโปรแกรม หรือติดตั้งโปรแกรมเพิ่มได้ จึงใช้โปรแกรม deep unfreeze (ข้ามการถามรหัสผ่าน) เข้าไปยกเลิกการ freeze แล้ว restart เมื่อบูทเครื่องใหม่อีกครั้งก็ใช้หลุดจาก deepfreeze แล้ว

http://www.4shared.com/rar/VJ4zjyWd/deepfreeze.html
http://www.4shared.com/rar/Zwmde2PI/deepunfreezeru16_password.html

php code สำหรับติดต่อ ldap server

22 ก.ย.54 มีโอกาสเรียนรู้การเขียนโปรแกรมด้วยภาษา PHP ติดต่อกับ LDAP Server โดยมี engineer ติดตั้ง server ตัวนี้ไว้ แล้วผมมีหน้าที่เข้าไปใช้งาน ก็คิดว่าจะใช้ php (ใช้ phpinfo ตรวจแล้วพบว่า php สามารถใช้ ldap ได้) เข้าไปอ่านข้อมูลผู้ใช้ เพื่อทำ authentication ตรวจผู้ใช้งานระบบ และ code ชุดนี้เป็นตัวอย่างที่ผมใช้ติดต่อกับ ldap server การติดต่อนั้นอาจใช้ browser

พิมพ์ ldap://www.domain.com:389
/uid=BURIN_R,ou=CLERK,ou=OFFICE1,dc=domain,dc=com

ก็จะเปิดด้วยโปรแกรม Windows Contact ขึ้นมาอัตโนมัติ

<?
$host = “ldap://www.domain.com“;
$baseDn1 = ‘cn=Manager,dc=domain,dc=com‘;
$baseDn2 = ‘uid=BURIN_R,ou=CLERK,ou=OFFICE1,dc=domain,dc=com‘;
$password = “your password“;
$ldap = ldap_connect($host);
ldap_set_option($ldap, LDAP_OPT_PROTOCOL_VERSION, 3);
$b = ldap_bind($ldap,$baseDn1,$password) or die(“bind died”);
echo “<pre>bind :”;
if($b) echo “pass”; else echo “fail”;
$result = ldap_search($ldap, $baseDn2,”(cn=*)”);
$rec = ldap_get_entries($ldap,$result);
echo ldap_count_entries($ldap,$result);
echo $rec[0][“cn”][0];
echo $rec[0][“userpassword”][0];
echo $rec[0][0][0];
print_r($rec);
ldap_unbind($ldap);
?>

เข้ารหัส และถอดรหัส

ciphertext
ciphertext
มีโอกาสสอนนักศึกษาเข้ารหัสข้อมูล (Encryption) และถอดรหัสข้อมูล (Decryption) โดยใช้โปรแกรมของ Kailas Jagtap ที่เขียนด้วยภาษา Assembly ใช้เทคนิคเพิ่มบิทข้อมูลเฉพาะตัวอักษรอย่างง่าย ..
จำลองให้นักศึกษาเขียนจดหมาย (Plain text) แล้วเข้ารหัสข้อมูลด้วยโปรแกรม ก็จะได้แฟ้มจดหมายที่เข้ารหัส (Ciphertext) จากนั้นก็ส่งไปให้เพื่อน ..  หากเพื่อนจะเปิดอ่านต้องถอดรหัสด้วยโปรแกรมเดียวกัน
ขั้นตอนเข้ารหัสและถอดรหัส มีดังนี้
1. สร้างแฟ้มจดหมายด้วย
DOS> echo abc>i.txt
2. ดำเนินการสร้างจดหมายที่เข้ารหัส (encryption)
DOS> secure
e
i.txt
o.txt
3. ส่งจดหมาย o.txt เป็น attach file ไปให้เพื่อนทาง facebook message
4. เพื่อนได้รับ secure.exe และ o.txt ดำเนินการถอดรหัสจดหมาย
DOS> secure
d
o.txt
in.txt
5. เพื่อนเปิด in.txt มาอ่านได้อย่างเข้าใจ
แหล่งข้อมูล

โปรแกรมแก้วสารพัดนึกรุ่น 7.0

thaiabc 7.0
thaiabc 7.0

โปรแกรม thaiabc หรือที่ผมเรียกว่า โปรแกรมแก้วสารพัดนึก ปรับรุ่นเป็น 7.0 แล้ว โดยมีการปรับปรุงที่สำคัญต่อจากรุ่น 6.5 ดังนี้
1. เพิ่ม LDAP และ PDO Extension ใน php.ini
2. upgrade MySQL เป็นรุ่น 5.5.16
3. upgrade phpMyadmin เป็นรุ่น 3.4.5
4. upgrade WordPress เป็นรุ่น 3.2.1
5. upgrade Drupal เป็นรุ่น 7.8
6. เพิ่ม บทความ itinlife เป็น 308 บทความ
7. download บันทึกทั้งหมดจาก thaiall.com/blog

สิ่งที่คาดหวัง
1. ช่วยให้ คนไทย เรียนรู้ Web Server, Database, Programming, e-Commerce, e-Learning, CMS, Blog และระบบต่าง ๆ จากในเครื่องคอมพิวเตอร์ของตนเอง ทั้งแบบ Online และ Offline
2. ช่วยให้ ครู นักเรียน และนักพัฒนา สามารถติดตั้ง หรือสร้างตัวติดตั้งโปรแกรมของตนเอง และใช้งานได้ในเวลาที่รวดเร็ว ใช้งานจริงได้ทั้งใน Stand Alone, Intranet และ Internet

โปรแกรมเผยแพร่ไว้ 2 site
http://www.4shared.com/file/-GUaqgqy/thaiabc70.html
http://www.4shared.com/file/izAeFHam/thaiabc70.html

ldap client admin

ldap admin
ldap admin
มีโอกาสได้ใช้โปรแกรม ldapadmin-4.6.11111.0-x86-eng ซึ่ง download ได้จาก http://www.ldapadministrator.com เกี่ยวกับการบริหาร account ใน LDAP Server มีผลจากการเรียนรู้ ดังนี้
1. การ export data สามารถทำได้ครั้งละไม่เกิน 50 ระเบียน (รุ่นทดลอง)
2. เมื่อ export data ออกไปเป็นแบบ csv หากแก้ไขแล้ว ต้องลบ 2 บรรทัดแรกก่อน import
3. ถ้า import ทับข้อมูลเพิ่ม ก็ต้องลบข้อมูลเดิมก่อนที่จะ import
4. สามารถเลือกระเบียนที่ต้องการ export data ได้ตามที่ต้องการ แต่ไม่เกินครั้งละ 50 ระเบียน
5. ค่าที่ export เป็นแบบ csv ออกไปสามารถแก้ไขด้วย notepad หรือ excel ก็ได้
6. ถ้าเชื่อมต่อ ldap server พร้อมกัน 2 เครื่อง สามารถสำรองข้อมูลด้วยการกดปุ่ม ctrl-c แล้ว ctrl-v ได้เลย โดยไม่ต้องใช้เทคนิค import + export และไม่จำกัดจำนวนระเบียน
$ldaphost = “x500.bund.de”;
$ldapconn = ldap_connect($ldaphost,”389″) or die(“Could not connect to yn1″); // {$ldaphost}
if ($ldapconn) {
ldap_set_option($ldapconn, LDAP_OPT_PROTOCOL_VERSION, 3);
$ldapbind = ldap_bind($ldapconn,”o=Bund,c=DE”);
if ($ldapbind) {
echo “anonymous successful…”;
} else {
echo “anonymous failed…”;
}
} else {
echo “connect fail”;
}
// ldapsearch -h localhost -b “dc=domain,dc=com” -s sub “objectclass=*” -x
// add libeay32.dll, ssleay32.dll in system32 and checking by phpinfo()
// http://www.keutel.de/directory/public_ldap_servers.html
// http://www.emailman.com/ldap/public.html

ซะป๊ะกับคำอธิบายรายวิชา

course description
course description

11 ก.ย.54 มีอะไรเกี่ยวพันกันไปหมดกับคำว่า คำอธิบายรายวิชา มีขั้นตอนที่ทำให้เกิดการเกี่ยวพันกันดังนี้
1. เริ่มต้นด้วยการ download แฟ้ม .doc ที่บีบอัดไว้
จาก http://www.thaiall.com/tqf/tqf2_cs_kmutt.zip
ซึ่งเป็นร่าง มคอ.2 สาขาวิทยาการคอมพิวเตอร์ ที่ยกร่างโดย มหาวิทยาลัยเทคโนโลยีพระจอมเกล้าธนบุรี
2. นำมาตัดให้เหลือ ข้อมูลเฉพาะคำอธิบายรายวิชา และเป็นวิชาทางสาขาที่ขึ้นต้นด้วย CSC โดยมีรูปแบบวิชาละ 7 บรรทัด ประกอบด้วย 1) รหัสวิชา 2) ชื่อภาษาไทย 3) ชื่อภาษาอังกฤษ 4)หน่วยกิต 5)อธิบายภาษาไทย 6)อธิบายภาษาอังกฤษ 7)บรรทัดว่าง
อยู่ใน http://www.thaiall.com/tqf/tqf2_cs_kmutt.txt
3. เขียน code อ่านแฟ้ม .txt ไปแสดงผลในตาราง และใส่สี ตามแบบที่ต้องการ
http://www.thaiall.com/tqf/tqf2_cs_kmutt.php
ในโปรแกรม tqf2_cs_kmutt.php ออกแบบให้ถูกดูดแล้วแก้ไขแบบออนไลน์ได้ง่าย
4. เขียน code อ่านแฟ้ม .php ไปแสดงผลร่วมกับ template ที่เตรียมไว้
http://www.thaiall.com/computer/cskmutt.php
จะดูด tqf2_cs_kmutt.php มาปรับรูปแบบเพิ่มเติม เพื่อส่งเข้า template คือ index.php
5. ใช้ .htaccess และ redirect.php แก้ปัญหาการส่งข้อมูลแบบ get ให้รองรับการส่งข้อมูลด้วย /
ทำให้ผลของ /xxx กับ /file=xxx มีผลเหมือนกัน

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /computer/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /computer/redirect.php [L]
</IfModule>

<?
$r = split(“/”,$_SERVER[“REQUEST_URI”]);
$ar = file(“http://www.thaiall.com/computer/?file=”. $r[2]);
foreach($ar as $v) echo $v;
?>

http://www.thaiall.com/computer/?file=cskmutt
http://www.thaiall.com/computer/cskmutt

กรณีศึกษาการย้ายโดเมนเนม

เล่าสู่กันฟังเรื่องการย้ายโดเมนเนมหนึ่งที่เคยจดไว้เมื่อ 20-Dec-1998 (ปีที่แล้วเกือบหลุดไป) เดิมฝากไว้กับ networksolutions.com ไปไว้กับ godaddy.com มีการดำเนินการดังนี้
1. ตรวจค่าใช้จ่าย พบว่า promotion ของ godaddy.com
Transfer Your Domain
From only $7.49/yr* & Free 1-yr extension.

2. เข้า godaddy.com แล้ว login แล้วคลิ๊กที่ Domains, Transfer Domain, [put domain name] , Proceed to Checkout
3. ตัวเลือก Nameservers ของผมเลื่อก change มาที่ godaddy.com ซึ่งอยู่ในขั้นตอนที่ 2/4
4. จ่าย $15.34 สำหรับ 2 ปี
5. มีอีเมลถึงของเจ้าของโดเมนเนม พบรหัสผ่านสำหรับยืนยัน ให้กดลิงค์นั้น ก็จะมีรายละเอียดให้ดำเนินการ หัวข้ออีเมลคือ Transfer of [domain name] – Action Required‏
6. เข้า My Products ของ godaddy.com แล้วคลิ๊ก Domain Manager

7. เข้า nsi.com แล้ว login แล้วคลิ๊ก MANAGE ACCOUNT แล้วคลิ๊ก My Domain Names
8. หัวข้อ Details for [domain name] พบคำว่า Domain Protect : on (Turn Off or Request Authorization Code)
9. ทำเครื่องหมายหน้า Leave Domain Protect off และ Request Authorization Code แล้ว Authorization Code จะส่งไปทางอีเมลใน 15 นาที
10. networksolutions.com ส่งอีเมลมาให้มีหัวข้อว่า Your Authorization Code Request‏ จากนั้นก็คัดลอก Authorization code ไว้

11. กลับเข้า godaddy.com เพื่อทำขั้นตอนที่ 2
12. เข้า Domains menu, select Pending Transfers. แล้วคลิ๊ก  Authorization,  Begin Transfer Authorization แล้วนำ Transaction ID และ Security Code ในอีเมล มากรอกใน 2 ช่องนี้
13. กรอก Authorization Code ที่ได้มาจาก networksolutions.com

14. เข้า mailbox เพื่อทำขั้นตอนที่ 3
15. รออีเมลจาก networksolutions.com แล้วเข้าไปเลือก Transfer Status : Confirm หรือ Reject

การติดตั้ง php5.2.12 บน iis7 ใน win7

วิธีที่ 1 : เรียกใช้ .php ผ่าน localhost ได้
1. ติดตั้ง iis7 ใน win7 ผ่าน Control Panel, programs and features แล้ว Turn Windows Features on or off แล้วเลือกลงโปรแกรมให้ครบ อาทิ Internet Information Services, World Wide Web Services, Application Development Features, CGI และอื่น ๆ
2. download โปรแกรมจาก
3. คลาย php-5.2.12-Win32-VC6-x86.zip ลงใน c:\php
4. เข้าห้อง c:\php แล้วเปลี่ยนชื่อแฟ้ม php.ini-recommended เป็น php.ini
แล้วเพิ่ม cgi.force_redirect=0
แล้วเปลี่ยน extension_dir = “c:\php\ext”
5. เข้า Control Panel, Administrative Tools, Internet Information Services (IIS) Manager ในหัวข้อ IIS ให้เลือก double click บน Handler Mappings แล้วเลือก Add Module Mapping เพิ่ม Request path เป็น *.php แล้ว Executable เป็น c:\php\php5isapi.dll แล้ว Name เป็น PHP
6. กลับไปคลิ๊ก Sites, Default Web Site แล้ว double click ISAPI Filters แล้วคลิ๊ก Add ให้ Filter name = php และ Executable = c:\php\php5isapi.dll
7. ลองเขียน x.php ใน c:\inetpub\wwwroot ได้ครับ
วิธีที่ 2 แต่ก็ไม่ ok
ทดสอบกับ php-5.3.8-nts-Win32-VC9-x86.zip แล้วใช้ไม่ได้
เพราะคลาย .zip แล้วไม่พบ php5isapi.dll พบแต่ php5.dll
เมื่อลองใช้แทน php5isapi.dll ก็พบว่า iis7 ไม่ยอมรับ
หลังติดตั้ง ก็ยังไม่ run .php เห็น source code ครับ
วิธีที่ 3 แต่ก็ไม่ ok
ติดตั้งโปรแกรมของ Microsoft
หลังติดตั้ง ก็ยังไม่ run .php เห็น source code ครับ