เป็นที่ทราบกันดีว่า สังเวียน Social Networking ของโลกกำลังร้อนระอุ จากการโต้ตอบกันระหว่างสองยักษ์ คือ Google ยักษ์ใหญ่โลกออนไลน์ กับ Facebook ผู้นำหมายเลขสองของตลาด Social Networking
หลายโปรแกรมอาจต้องการมีส่วนในการตรวจสอบความถูกต้องของหมายเลขประจำตัวประชาชน ซึ่งทางกรมสรรพากรก็ให้บริการเว็บเซอร์วิสนี้ เนื่องจากเว็บเซอร์วิสของกรมสรรพกรให้บริการโดยใช้ SSL เพื่อช่วยทำให้มีความปลอดภัยมากยิ่งขึ้น ดังนั้นต้องเข้าโดย “HTTPS” แทนที่จะเป็น “HTTP” ปกติ
ข้างล่างนี้โค้ดที่ใช้ในการเรียกใช้เว็บเซอร์วิสและโอเปอเรชันดังกล่าว และใช้โปรแกรม XTrustProvider.java ที่ SSL Trust Provider for Java เพื่อใช้ในการเรียกเว็บเซอร์วิสที่เข้าถึงโดย HTTPS
Moonlight เป็นโครงการของทีมนักพัฒนา Mono ที่จะพัฒนาระบบทัดเทียมแบบเปิดต้นรหัส (opensource implementation) ที่เข้ากันได้กับรันไทม์ Silverlight ของไมโครซอฟท์บนแพลตฟอร์มลินุกซ์ เนื่องจากในปัจจุบัน Silverlight สนับสนุนเฉพาะแพลตฟอร์ม Windows และ Mac OS X เท่านั้น ความน่าทึ่งของโครงการนี้อย่างหนึ่งได้แก่ การที่ทีมงานสามารถพัฒนา Moonlight ให้สามารถใช้งานได้ในขั้นต้นได้ในระยะเวลาเพียง 21 วัน !
ปกติแล้ว python ที่ติดมากับ Mac OS X จะไม่มี module สำหรับติดต่อกับ MySQL database ทำให้เวลาที่ต้องการจะใช้งานผ่านทาง python ต้องติดตั้ง module MySQLdb เสียก่อน วิธีติดตั้งคือ
mysql_config.path = "mysql_config"
แก้เป็น
mysql_config.path = "/path/to/your/mysql_config"
Pocket PC รุ่นใหม่ๆ จะมีความสามารถใหม่เพิ่มขึ้นมา นั่นก็คือ Bluetooth Explorer หลายๆ คนอาจจะงง ไม่รู้ว่ามันคืออะไร ใช้อย่างไร เดี๋ยวผมสาธิตให้ดูครับ ว่าอะไรเป็นอะไร จะได้หายสงสัยและใช้ประโยชน์จากมันได้ซักที อ่านจบแล้วอาจจะบ่นกับตัวเองว่า "ทำไมเพิ่งรู้เนี่ย ความสามารถเจ๋งๆ แบบนี้ ทำไมไม่เห็นมีใครมาบอกเลย"
.
เราสามารถใช้เครื่องคอมพิวเตอร์เปิดและเล่นไฟล์ที่อยู่ใน Pocket PC เสมือนเป็นโฟลเดอร์หนึ่งในเครื่องได้เลย จะดูรูป จะฟังเพลง จะแก้ไขไฟล์ยังไงก็ได้ ทำทั้งหมดได้จากเครื่องคอมพิวเตอร์เลย ไม่ต้องมาแตะที่ Pocket PC เลยด้่วยซ้ำ มาดูขั้นตอนกัน
หลายๆ คนคงจะหงุดหงิดกับการรับส่งไฟล์ผ่านทาง Bluetooth ของ Pocket PC เป็นอย่างมาก เนื่องจากมันจะรับไฟล์มาไว้ที่โฟลเดอร์ My Documents ในเครื่องทุกครั้ง หากเป็นไฟล์เล็กก็คงไม่มีปัญหาอะไร แต่หากเป็นไฟล์ใหญ่ๆ เช่นไฟล์เพลงหรือไฟล์แบบอัดแบบ zip หรือ rar เครื่องมันจะฟ้องว่าหน่วยความจำ Storage ไม่พอ ม้นน่าเจ็บใจจริงๆ ทั้งๆ ที่ใน Storage Card ก็มีที่เหลือหลายร้อยเมกาไบต์ กับอีกแค่ไฟล์ไม่กี่เมกาไบต์ดันรับไฟล์มาเก็บไว้ไม่ได้ มันช่างน่า.... นัก แต่ด้วยความสามารถของ Pocket PC รุ่นใหม่ๆ เราสามารถเปลี่ยนโฟลเดอร์การรับไฟล์ไปไว้ที่ไหนก็ได้ แน่นอน คงไม่เอาไปไว้ในห้องน้ำแน่ ก็ต้องย้ายไปที่ Storage Card คราวนี้จะรับไฟล์กี่ร้อยเมกาไบต์ก็บ่ยั่น มาดูขั้นตอนตั้งแต่ต้นกับเลยดีกว่า
ในกรณีที่ท่านมี computer 2 เครื่อง แต่ยังมี 2 มือ และยังไม่ได้บรรลุวิชา มารฟ้าสิบแปดกร หรือ ร่างมายา ลวงตาภพสาม ที่จะเนรมิตให้ท่านสามารถต่อกรกับคอมพิวเตอร์ได้(มากกว่า)สองเครื่องในเวลาเดียวกันนั้น วันนี้ผมอยากจะขอแนะนำ เทคนิคง่ายๆ ที่จะช่วยให้หนึ่งเมาส์ หนึ่งสมอง สองมือของท่าน สามารถสอดประสาน ร่วมงานกับคอมพิวเตอร์สองเครื่องได้แบบสะท้านยุทรจักร ไม่ต้องไปอายใคร
หลังการสาธิตชิประดับ 80 คอร์จากอินเทลด้วยกระแสที่ออกมาเกี่ยวกับการออกแบบ Tiled CPU อย่างต่อเนื่อง ทำให้มีความเป็นไปได้เป็นอย่างยิ่งกว่าเราจะได้เห็นชิปเช่นนี้ในตลาดหลักกันในไม่ช้า ด้วยแนวคิดใหม่ที่ต่างจากการออกแบบชิปแบบมัลติคอร์แบบเดิมๆ ที่ใช้คอร์ความเร็วสูงหลายชุดมาต่อกัน ทำให้ได้ความเร็วที่ดีไม่ว่าจะเป็นการรันโปรแกรมแบบเธรดเดียวในแบบเดิมๆ หรือจะเป็นการรันโปรแกรมแบบหลายเธรดที่ทำให้สามารถใช้งานทุกคอร์ได้อย่างเต็มประสิทธิภาพ แต่การออกแบบ Tiled CPU จะเป็นการออกแบบเพื่อการใช้งานโปรแกรมหลายเธรดโดยเฉพาะ แม้จะทำให้การรันโปรแกรมแบบเธรดเดียวช้าลงไป แต่ประสิทธิภาพในหลายๆ ด้านที่ได้กลับมากลับน่าสนใจเป็นอย่างยิ่ง ก่อนที่ซีพียูในรูปแบบสถาปัตยกรรมเช่นนี้จะมีขายตามห้างไอที เรามาดูกันก่อนดีกว่าว่าการออกแ
พอดีเจ้าของเว็บเชียร์พูดถึงซิมเบียน เลยเอาบทความมาฝาก บทความนี้ว่าด้วยข้อเสียของซิมเบียนจากมุมมองผู้ใช้ต่างที่เกี่ยวข้อง ที่น่าสนใจคือแม้แต่โนเกียบริษัทมือถือที่ใช้ซิมเบียนเป็นระบบปฏิบัติการหลักยังบ่นอุบกันภายใน มีทั้งบ่นว่า "piece-of-shit-OS" หรือสบถแรงๆ ว่า "Finnish people usually have a very coarse language."
ปัญหาของซิมเบียนมีหลายเรื่องด้วยกันไม่ว่าจะเรื่องความเข้ากันได้ระหว่างซิมเบียนด้วยกันของทั้ง 3 เจ้า (NTT Docomo's Symbian MOAP, Nokia Symbian S60, Sony Ericsson's Symbian UIQ) ที่แย่กว่านั้น แม้แต่โปรแกรมบน S60 v3 ก็ไม่สามารถเอาไปทำงานบน S60 รุ่นเก่ากว่าได้
ในปัจจุับันเราจะพบว่าข้อมูลส่วนใหญ่จะอยู่ในรูปแบบของภาษา XML ดังนั้นนักพัฒนาโปรแกรมจำเป็นจะต้องเรียนรู้การพัฒนาโปรแกรม XML parser ที่มีประสิทธิภาพเพื่อเข้าไปอ่าน แก้ไข และสร้างข้อมูลในภาษา XML ในช่วงแรก DOM (Document Object Model) และ SAX (Simple API for XML) เป็น API ที่คนนิยมใช้กัน แต่ทั้ง 2 ตัวมีข้อดีและข้อเสียแตกต่างกันคนละแบบ ข้อดีของ DOM คือใช้ง่าย แต่ต้องการพื้นที่หน่วยความจำเยอะ ในขณะที่ SAX ใช้ยาก และทำงานได้เร็ว และไม่ได้ต้องการพื้นที่หน่วยความจำเยอะ
ด้วยสภาพแวดล้อมและเทคโนโลยีในปัจจุบันทำให้โลกกำลังเปลี่ยนไป แต่ก่อนเน้นแค่ข้อความกับภาพนิ่ง เดี๋ยวนี้เรามักจะเห็นภาพเคลื่อนไหวและเสียงเริ่มสอดแทรกเข้ามาในชีวิตประจำวันมากขึ้น ตัวอย่างง่ายๆ ก็คือ YouTube และ Google Video เรื่องลิขสิทธิ์กำลังจะไม่ใช่ปัญหาอีกต่อไป เพราะมันเป็นช่องทางการโฆษณาใหม่ที่น่าสนใจไม่น้อย ปริมาณคนดูอาจจะมากกว่าโทรทัศน์ด้วยซ้ำ จากสาเหตุพวกนี้เราจึงควรศึกษาศาสตร์ของการเล่นวีดีโอ แปลงรูปแบบกันให้คล่องแคล่วเพื่อให้มีชีวิตอย่างมีความสุข
พอดีมีเรื่องจำเป็นต้องจัดการกับรูปภาพนิดหน่อย ดูเหมือนงานจะง่ายๆ แต่ออกจะกินแรงอยู่ไม่น้อย ปัญหาคือว่า มีรูปขนาด 13500 x 13500 pixel อยู่รูปหนึ่ง ต้องการหั่นเป็นรูปย่อยๆ รูปละ 1350 x 900 ดังนั้นก็จะได้รูปออกมา 10 x 15 = 150 รูป นอกจากนี้แต่ละรูป จะต้องใส่ขอบขาวเข้าไปด้านขวา และใส่ตัวเลขเข้าไปเพื่อบอกว่าเป็นรูปหมายเลขที่เท่าไหร่ โดยเป็นตัวเลขสองตัว ตั้งแต่รูปซ้ายบนสุด (0,0) จนถึงขวาล่างสุด (9, 14) เพื่อที่จะเอารูปไปอัดจากร้าน แล้วเอามาเรียงกลับเป็นอย่างเดิมทีหลังได้โดยไม่งง
สำหรับความสำคัญของการสำรองข้อมูล (backup) ผมคิดว่าทุกคนที่ใช้คอมพิวเตอร์คงทราบกันดีอยู่แล้ว และยิ่งนับวันความสำคัญของมันก็เพิ่มขึ้นเรื่อย ๆ เนื่องเพราะเจ้า Hard Disk ที่มีขายตามท้องตลาดนั้นเ สียง่ายขึ้นทุกครั้งที่มีการเพิ่มความจุ โดยไม่เพิ่มขนาดตาม อีกทั้งข้อมูลในยุคสมัยนี้ยังถือได้ว่าเป็นสิ่งมีค่ายิ่ง หากสูญหายไปเพราะ Hard Disk พังเจ้าของคงต้องนั่งร้องไห้เป็นเผาเต่าแน่นนอน
โดยปกติแล้วผมจะมี Hard Disk สำหรับสำรองข้อมูลโดยเฉพาะ แต่ผมก็ไม่สามารถนั่งสำรองข้อมูลด้วยการคัดลอกไฟล์ได้ทุกวัน เพราะกว่าจะเสร็จต้องใช้เวลาหลายชั่วโมง นอกจากนี้...
หลักการเขียนโปรแกรมยุคใหม่ๆ ในช่วงหลังๆ มานี้นิยมที่จะลดการเขียนโปรแกรมส่วนใหญ่ในภาษาระดับต่ำๆ เช่นภาษา C/C++ เนื่องจากเสี่ยงต่อการมีบั๊กค่อนข้างมาก และการพัฒนาที่ช้า เพื่อความเร็วในการพัฒนาแล้ว จึงมักนิยมใช้การพัฒนาในภาษาระดับสูงๆ เช่น Python, Ruby, PHP ฯลฯ แล้วทดสอบประสิทธิภาพ หากมีส่วนไหนทำงานช้าเกินยอมรับได้ จึงลงมือพัฒนาส่วนนั้นๆ เป็นภาษา C/C++ เพื่อความเร็ว แล้วจึงสร้างอินเทอร์เฟช เพื่อโมดูล C/C++ นั้นเข้ากับโปรแกรมหลัก
Spam ถือเป็นปัญหาน่ารำคาญ และกำจัดได้ยากบนโลกอินเทอร์เน็ตสมัยนี้ ดังที่คุณเชกูเวรา เคยเขียนรายละเอียดทั้งหมดให้เราอ่านกันมาแล้วครั้งหนึ่ง ใน
Spam, Spim, Spit and Spandy ภาค 1,ภาค 2 และ ภาค 3
BioLawCom.De เอง ก็ประสบปัญหาสแปมบ้างเป็นครั้งคราว แต่เจอแต่ละครั้ง หนักหนาสาหัสไม่น้อย ต้องคอยตามล้างตามเช็ด หาวิธีป้องกันใหม่ ๆ อยู่เรื่อย เหมือนกันครับ ผมคิดว่าในหน้าเว็บไซท์หลาย ๆ แห่งก็ประสบปัญหาเช่นเดียวกัน เลยอยากแลกเปลี่ยนความรู้ในเรื่องนี้กับเพื่อน ๆ ดูบ้าง
ก็อย่างที่คุณเช เคยเขียนไว้ในบล็อกไปแล้วครับว่า การป้องกัน สแปมมีหลายวิธี อาทิ ...
ขอ In-Depth ด้วยเรื่องเบาๆล่ะกัน(อ้าว) อันนี้ผมเคยลงใน Blog ของผมนานมากๆแล้วครับ แต่คิดว่ามีประโยชน์และเข้ากับคอนเซปท์ของ In-Depth เลยเอามาลง
เรื่องหนึ่งที่โปรแกรมเมอร์มือใหม่มักจะไม่ระวังกันคือ การใช้ค่าเลขทศนิยมในคอมพิวเตอร์นั้นเป็นฐานสอง ซึ่งไม่ตรงตัวกับการใช้เลขทศนิยมในฐานสิบทั่วๆ ไป ในการเขียนโปรแกรมหนึ่งๆ ที่มีการเปรียบเทียบค่าเลขทศนิยมจึงอาจจะดูดีในการทดสอบ เช่นว่า
print (0.05 + 0.05 == 0.1)
... True
เมื่อการทำงานในขั้นต้นทำงานดี โปรแกรมเมอร์อาจจะเชื่อว่าส่วนนี้ทำงานถูกต้องดี จนกระทั่งการทำงานในแบบที่คล้ายๆ กันมีการทำซ้ำจำนวนมากๆ เช่น