วันจันทร์ที่ 25 พฤศจิกายน พ.ศ. 2556

Error: sesskey was missing ที่ไม่ได้เกี่ยวกับ session เลย ขณะ upload SCORM package ใน Moodle

เมื่อพูดถึงระบบจัดการ E-learning หรือ LMS ชื่อแรกที่คิดถึงคงหนีไม่พ้น Moodle และ SCORM ก็เป็นมาตรฐานด้าน E-learning ที่ได้รับความนิยมอย่างกว้างขวาง แต่การนำ SCORM package ไปใส่ใน Moodle บางครั้งก็ไม่ได้ตรงไปตรงมาอย่างที่คิด


โดยทั่วไป การนำแพคเกจ SCORM ไปใส่ในบทเรียนก้ไม่ได้แตกต่างไปจากการใส่กิจกรรมหรือเนื้อหาธรรมดา แต่อย่าลืมว่าแพคเกจเหล่านี้มักมีขนาดใหญ่ ขณะที่หลายท่านคงคุ้น ๆ ว่าข้อจำกัดในการอัพโหลดไฟล์ของระบบมักอยู่ที่ 2 MB แล้ว SCORM จะมีข้อจำกัดเช่นเดียวกันหรือไม่?


ลองสังเกตด้านบนของภาพ ข้อความ Maximum size for new files: Unlimited ทำให้อุ่นใจว่าไฟล์จะใหญ่ขนาดไหนก็คงไม่มีปัญหา แต่พอลากไฟล์ใส่กล่อง ปล่อยให้อัพโหลดไปจนเสร็จก็จะพบข้อผิดพลาด "A required parameter (sesskey) was missing พอเห็นปุ๊บก็คิดไปถึง session ปั๊บ แต่ดูอย่างไรก็ไม่น่าเกี่ยวกัน ที่สำคัญ ลองอัพโหลดไฟล์ขนาดเล็กกว่า 2 MB ไปก็ใช้ได้ปกติ จึงสรุปได้ทันทีว่าจริง ๆ แล้วรากของปัญหาก็คือขนาดไฟล์นั่นเอง


ทางแก้จริง ๆ ก็ง่ายมาก เพียงเรานำไฟล์ที่ต้องการไปไว้บน server แล้วเลือกไฟล์โดยไม่ต้องอัพโหลดก้ใช้ได้แล้ว ซึ่งสิ่งที่ต้องทำก็คือไปสร้าง repository นั่นเอง จริง ๆ มีทางเลือกให้ใช้หลายตัว ทั้ง Dropbox และที่เก็บข้อมูลแบบอื่น ๆ แต่ถ้าจะใช้ FTP หรือ SFTP เพื่อนำไฟล์ไปไว้บนเซอร์ฟเวอร์ ก็ต้องสร้าง repository แบบ File System ขึ้นมา โดยไปสร้าง directory ตั้งชื่อตามต้องการไว้ใต้ /var/moodledata/repository (หรือที่อื่นตามที่ติดตั้ง Moodle ไว้) ในที่นี้ ตั้งชื่อไว้ว่า Uploaded Files ดังที่เห็นในรูป จากนั้นก็เข้าไปเลือกไฟล์ได้ทันที เพียงเท่านี้ก็ใช้งานได้ตามปกติครับ

วันเสาร์ที่ 23 พฤศจิกายน พ.ศ. 2556

นั่งรถไฟฟรีไปดู Seafood ที่สมุทรสาคร


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

ตรงนี้อยากคอมเมนต์สักนิดว่าขนส่งมวลชนบ้านเราทำไมไม่ทำให้เชื่อมต่อกันได้สะดวกกว่านี้สักหน่อย อย่าง BTS หมอชิต ก็ไม่ได้ใกล้ขนส่งหมอชิตสักเท่าไหร่ และนี่ BTS วงเวียนใหญ่ก็ไม่ได้ใกล้วงเวียนใหญ่เท่าไหร่เช่นกัน ที่สำคัญ สถานีรถไฟทั้งสองสถานีในแผนที่เรียก Wongwian Yai Station กันทั้งคู่ นักท่องเที่ยวต่างชาติเดินตามแผนที่คงงงพิลึก


รถไฟจากวงเวียนใหญ่ไปมหาชัยมีวิ่งโดยเฉลี่ยชั่วโมงละ 1 ขบวน วันนี้มาถึงเกือบบ่ายสองจึงได้อาศัยรถไฟเที่ยว 14:25 น. แน่นอนว่าช่วงนี้รถไฟฟรียังมีอยู่ครับ ทุกขบวนของสายนี้ฟรีทั้งหมด แต่อย่าลืมนำบัตรประจำตัวประชาชนมาขอรับบัตรด้วย เพราะจริง ๆ รถไฟฟรีจากเงินภาษีประชาชนแบบนี้มีให้เฉพาะคนไทยครับ


บริเวณสถานีรถไฟมีร้าน มีแผงขายอาหารหลากหลาย ใครคุ้นเคยกับอาหารราคากรุงเทพฯ มาแถวนี้อาจมีแปลกใจ เช่นโจ๊กชามละ 15 บาท ก๋วยเตี๋ยว 20 บาทยังมีให้เห็นอยู่ทั่วไป ปริมาณที่ให้ก็ไม่น้อย สั่งพิเศษอาจอิ่มตื้อได้ง่าย ๆ ถ้ามาใกล้เวลาซื้ออาหารแล้วไปนั่งกินบนรถก็ยังได้ อย่าลืมช่วยกันรักษาความสะอาดบน เก็บขยะลงไปทิ้งเป็นที่เป็นทาง เลิกโยนขยะออกนอกหน้าต่างเถอะครับ


นั่่งรถไฟปุเลง ๆ (สายนี้โคลงเคลงมาก ๆ น่าจะมาจากสภาพดินอ่อน มองข้าง ๆ รางรถไฟดูจะเป็นแหล่งน้ำตลอดแนว) นั่งไปราว 1 ชั่วโมง 15 นาที ก็ถึงสถานีมหาชัย จริง ๆ น่าจะใช้เวลาสั้นกว่านี้แต่เห็นว่ากำลังบำรุงรักษารางอยู่จึงวิ่งได้ไม่เร็วนัก ออกจากสถานีปุ๊บก็ถึงตลาดปั๊บ ตรงนี้เป็นตลาดมหาชัยเมืองเก่ามีของทะเลทั้งสดและแห้ง เรื่องราคาดู ๆ แล้วจะถูกกว่าตลาดเมืองใหม่และอีกหลายตลาดอีกด้วย


จุดเด่นของตลาดนี้คืออยู่ติดปากอ่าวไทยเลย มองไปหลังร้านก็คือท่าเรือเรียกได้ว่าขนของทะเลขึ้นมาก็วางขายได้ทันที จริง ๆ แล้วแถวนี้มีร้านน่าสนใจหลายร้าน ทั้งแบบดั้งเดิมและร้านสไตล์วัยรุ่นอย่างร้านกาแฟและขนมเค้ก แต่สำหรับวันนี้แค่มาสำรวจครับ ไว้มาจริงคราวหน้าคงขนกระติกน้ำแข็งมาขนปลาหมึกกลับไปย่างสักโลสองโล

สรุปค่าใช้จ่ายในการเดินทางมาตลาดวันนี้ ไปกลับกรุงเทพมหาชัย 0 บาท ขอไม่นับรถไฟฟ้าเพราะใช้บัตร Rabbit ครับ ^_^



วันพฤหัสบดีที่ 21 พฤศจิกายน พ.ศ. 2556

เริ่มมีหวังกับ Windows Phone อีกครั้งกับ Instagram และ Waze

"จะ iOS หรือ Android ก่อนดี" น่าจะเป็นคำถามที่นักพัฒนาซอฟต์แวร์คิดแล้วคิดอีกขณะวางแผนโครงการใด ๆ เพราะถ้าไม่มีใครใช้ก็คงน่าเสียดาย (และเสียเงิน) ที่อุตส่าห์พัฒนาขึ้นมา แต่สำหรับแพลตฟอร์มวินโดวส์โฟนนั้น นอกจากซอฟต์แวร์จากไมโครซอฟต์กับโนเกียแล้ว แอพหลัก ๆ หลายตัวยังไม่ลงมาให้ใช้กันมากนัก จนนักพัฒนารายย่อยต้องลุกขึ้นมาลงมือทำกันเอง


หลังจากผ่านมาหลายปี ช่วงนี้เราคงเริ่มเห็นแอพบนวินโดวส์โฟนออกมาใหม่มากขึ้นเรื่อย ๆ ล่าสุดแอพที่ใช้กันอย่างแพร่หลาย (มาแสนนาน) อย่าง Instagram ก็มีให้ใช้กันแล้ว แม้จะยังเป็น Beta อยู่ก็ตาม ขนาดไมโครซอฟต์เองยังออกปากว่านี่คือจุดสำคัญของแพลตฟอร์มวินโดวส์โฟน เพราะแม้ระบบจะดีเพียงใดแต่ถ้าไม่มีแอพใช้แล้วจะซื้อมาทำไม ซึ่งต้องยอมรับว่าช่วงที่ผ่านมาหลายคนซื้อวินโดวส์โฟนมาไม่นานก็หาทางปล่อยแล้วกลับไปหา iOS หรือ Android เหมือนเดิม แต่ก็เป็นผลดีกับผู้สนใจที่สามารถหาเครื่องมือสองราคาถูก ๆ ได้ไม่ยาก


อีกหนึ่งแอพที่น่าสนใจคือ Waze ซึ่งเป็นโปรแกรมแผนที่และนำทางที่มีจุดเด่นคือผู้ใช้แต่ละคนจะเข้าไปร่วมให้ข้อมูลสถาพการจราจรแบบ real time แม้ไม่มีข้อมูลการจราจรอย่างเป็นทางการ จริง ๆ เคยใช้แอพนี้ครั้งแรกตั้งแต่ยังใช้ Windows Mobile 6 อยู่เลย แต่หลังจากกลายเป็น Windows Phone แอพนี้ก็ไปลงตลาดแพลตฟอร์มอื่น ๆ เรียบร้อย เพิ่งกลับมาหาวินโดวส์โฟนเมื่อไม่นานนี้เอง

ถึงตอนนี้คิดว่าแพลตฟอร์มวินโดวส์โฟนน่าจะถึอว่าเป็นอีกแพลตฟอร์มหลักได้อย่างเต็มภาคภูมิ แต่ยังไง ๆ ก็ยังไม่มั่นใจกับ Windows RT อยู่ดี ถ้าไมโครซอฟต์จะยุบรวม RT กับโฟนเข้าด้วยกันซะ อนาคตของแพลตฟอร์มน่าจะชัดเจนและมั่นคงกว่านี้

วันพุธที่ 20 พฤศจิกายน พ.ศ. 2556

เข้าถึง Desktop ทันทีโดยไม่ต้องผ่าน Start Screen บน Windows 8.1

จากความพยายามทำให้ Windows 8 มีหน้าตาเหมือนกันไม่ว่าบนแพลตฟอร์มเดสก์ทอปหรือแท็บเล็ต ทำให้ปุ่ม Start ที่ผู้ใช้วินโดวส์หลายคนคุ้นเลยหายไปในวินโดวส์ 8 หลังจากถูกบ่นมาหลายขนาน ไมโครซอฟต์ก็นำปุ่มนี้กลับมาในวินโดวส์ 8.1 แม้จะกลับมาอยู่บน task bar เหมือนเดิมแล้วก็ตาม แต่การคลิกปุ่มนี้ก็เพียงนำกลับไปที่หน้า Start Screen เหมือนเดิม จนบางครั้งก็ทำให้สงสัยว่าจากเดิมคลิกมุมล่ายซ้ายก็ไป Start Screen เหมือนกันแล้วจะนำปุ่มนี้กลับมาทำไม แต่สำหรับคนที่ใช้ Windows 8 เป็นเวอร์ชวลแมชชีนคงเข้าใจดีว่าการควานหามุมล่างซ้ายบนหน้าจอ remote desktop นั้นบางครั้งก็ไม่ใช่เรื่องง่ายเลย
ความสามารถเล็ก ๆ ที่ทำให้วินโดวส์ 8.1 เปิดเครื่องแล้วเข้าสู่ desktop ได้ทันทีโดยไม่ต้องผ่านหน้า Start Screen ก็เป็นอีกสิ่งหนึ่งที่ผู้ใช้เครื่องเดสก์ทอปหรือโน้ตบุ๊กหลายคนที่ไม่ใช้จอสัมผัสอยากได้หน้าจอเดิม ๆ กลับมาทันทีที่เปิดเครื่อง คุณสมบัตินี้เรียกใช้ได้ง่าย ๆ ด้วยการคลิกขวาที่ task bar เปิด properties แล้วไปที่แท็บ Navigation คลิกเลือก "When I sign in or close all apps on a screen, go to the desktop instead of Start" เพียงเท่านี้ครั้งต่อไปที่เข้าใช้เครื่องก็จะพบกับ desktop ทันที ที่สำคัญ การเข้าถึงนี้มีผลต่อการเข้าใช้ผ่าน remote desktop ด้วย ใครใช้วินโดวส์ 8.1 เป็นเวอร์ชวลแมชชีนน่าจะถูกใจในคุณสมบัตินี้ครับ

วันอังคารที่ 12 พฤศจิกายน พ.ศ. 2556

ใช้ Google Apps อย่าลืมใส่ SPF record เพื่อเพิ่มความเชื่อถือได้ในการส่งอีเมล

หลายคนที่ใช้ Google Apps คงทราบดีว่าเราต้องกำหนดค่าใน DNS เพื่อให้ชื่อโฮสต์ต่าง ๆ สำหรับเมลเซอร์ฟเวอร์ และบริการอื่น ๆ เช่นปฏิทิน ภายใต้โดเมนเนมขององค์กรต้องชี้ไปยังเซอร์ฟเวอร์หลักของ Google สำหรับบริการอื่น ๆ เพียงให้ชี้ชื่อโฮสต์ไปยังเครื่องหลักก็ใช้งานได้แล้ว แต่บริการเช่นอีเมลซึ่งมักได้รับผลกระทบจาก spam ที่มีผู้พยายามส่งอีเมลผ่านโดเมนต่าง ๆ โดยไม่ได้รับอนุญาตจากเจ้าของโดเมนอยู่ตลอดเวลา เช่น อ้างว่าส่งมาจาก Gmail หรือ Hotmail ทั้งที่จริง ๆ แล้วส่งมาจากเซอร์ฟเวอร์ SMTP ที่ตั้งขึ้นมาเองเท่านั้น จนกระทั่งหลายครั้งผู้ส่งเมลที่มีสิทธิจริง ๆ ก็กลับโดนดุไม่ให้ส่งซะอย่างนั้น


เปิดดูรายละเอียดในเฮดเดอร์ของอีเมลจะพบข้อสังเกตดังรูป โดย Google ระบุว่า Received-SPF: neutral โดย SPF ย่อมาจาก Sender Policy Framework ซึ่งเป็นเทคโนโลยีเพื่อตรวจสอบว่าเมลเซอร์ฟเวอร์ที่ส่งเมลฉบับนั้น ๆ มาได้รับอนุญาตให้ส่งเมลสำหรับโดเมนนั้นหรือไม่ ในที่นี้เนื่องจากไม่ได้กำหนดเอาไว้ จึงไม่สามารถตรวจสอบได้ทำให้ถูกตีว่าอาจเป็น spam

วิธีการกำหนดว่าจะให้สิทธิเครื่องไหนเป็นผู้ส่งอีเมลสำหรับโดเมนของเราก็ต้องไปตั้งไว้ใน DNS ซึ่ง Google ก็อธิบายไว้ให้อย่างชัดเจนที่นี่ ใครใช้ Bind เป็น DNS ก็แค่เพิ่ม TXT record ไว้ดังนี้

@    IN    TXT    "v=spf1 include:_spf.google.com ~all"

เพียงเท่านี้ใครได้รับอีเมลจากโดเมนของเราผ่านเมลเซอร์ฟเวอร์ของ Google ก็รู้ได้ทันทีว่าเมลนี้ได้รับอนุญาต เมื่อตรวจสอบจากเฮดเดอร์จะพบว่าข้อความกลายเป็นดังรูปนี้


Received-SPF กลายเป็น pass ทำให้การรับ-ส่งเมลโดยเฉพาะการส่งเข้ากลุ่มทำได้ง่ายขึ้น เมลถูกตีกลับก็ลดลง การเพิ่ม SPF record เข้าไปใน DNS ทำได้ง่าย ๆ ฟรี ๆ แบบนี้ เข้าไปตั้งไว้เถอะครับ แล้วการส่งอีเมลจะสะดวกสบายขึ้นเยอะ