วันศุกร์ที่ 17 ตุลาคม พ.ศ. 2551

ปริศนา Java 2



หลังจากเขียนภาคหนึ่งไว้ตั้งแต่สองสามเดือนก่อน คราวนี้ก็มาต่อภาคสองสักทีนะครับ สำหรับภาคนี้ คำถามก็ยังเหมือนเดิมครับ คือผลลัพธ์จากโปรแกรม Java นี้คืออะไร




import java.net.*;
import java.util.*;
public class URLSet {
 private static final String[] URL_NAMES = {
  "http://www.google.com", 
  "http://www.ajsarun.blogspot.com",
  "http://www.ajsarun.bloggang.com",
  "http://ajsarun.blogspot.com",
  "http://kisarun.multiply.com",
  "http://www.google.com"
 };
public static void main(String[] args) throws MalformedURLException {
  Set favorites = new HashSet();
  for(String urlName: URL_NAMES) {
   favorites.add(new URL(urlName));
  }
  System.out.println(favorites.size());
 }
}


  1. 4

  2. 5

  3. 6

  4. ขึ้นอยู่กับการรันแต่ละครั้ง




เราลองมาวิเคราะห์โปรแกรมนี้กันดูนะครับ จะเห็นว่าเราประกาศอะเรย์ของ String ชื่อว่า URL_NAMES โดยสมาชิกแต่ละตัวของอะเรย์ก็คือ URL ของเว็บไซต์ต่าง ๆ แต่จะเห็นว่ามี http://www.google.com ซ้ำกันอยู่ 2 ที่ จากนั้นที่เมท็อด main เราสร้างออบเจ็กของคลาส HashSet (ซึ่งจัดเป็นข้อมูลแบบเซ็ต) ใน for loop ก็มีการสร้างออบเจ็กต์ของ class URL โดยใช้สมาชิกแต่ละตัวจากอะเรย์ URI_NAMES และเก็บอ็อบเจกต์ของคลาส URL แต่ละตัวลงในเซ็ต พวกเราคงทราบนะครับว่าข้อมูลในเซ็ตจะไม่ซ้ำกัน แต่เรามีwww.google.com ซ้ำกันอยู่ 2 ตัวดังนั้น ดังนั้นข้อมูลในเซ็ตก็ควรจะมี 5 ตัว เมื่อเราสั่งพิมพ์ขนาดของเซ็ตออกมาในบรรทัดสุดท้าย ผลลัพธ์ก็ควรจะเป็น 5 ใช่ไหมครับ คำตอบก็ควรจะเป็นข้อ B

แต่ไม่ใช่ครับ คำตอบคือข้อ D. ประหลาดใจไหมครับ คือถ้าคุณต่ออินเทอร์เน็ตอยู่ผลลัพธ์จะเป็นข้อ A. คือ 4 แต่ถ้าไม่ผลลัพธ์จะเป็น 5 ทำไมจึงเป็นเช่นนั้น เรามาดูกันครับ ความลับอยู่ที่เมท็อด equals ของคลาส URL ครับ วิธีการเปรียบเทียบว่า URL จะเท่ากันหรือไม่ดูดังนี้ครับ กล่าวคือถ้าเราต่ออินเทอร์เน็ตอยู่ มันจะแปล URL ไปเป็นหมายเลข IP ถ้าหมายเลข IP เท่ากันก็ถือว่าเป็น URL ตัวเดียวกัน แต่ถ้าเราไม่ต่ออินเทอร์เน็ต มันก็จะเอาค่าสตริงของ URL มาเปรียบเทียบ โดยไม่คำนึงถึงตัวอักษรตัวเล็กหรือตัวใหญ่


มาดูกรณีต่ออินเทอร์เน็ตอยู่ จะพบว่าในสตริงมี http://www.google.com สองครั้ง ซึ่งก็ต้องได้ หมายเลข IP เดียวกันแน่นอน คราวนี้มาพิจารณาดู URL สองตัวนี้ครับ http://www.ajsarun.blogspot.com กับ http://ajsarun.blogspot.com สองตัวนี้จะให้ผลลัพธ์เป็นหมายเลข IP เดียวกัน นั่นก็หมายความว่าจะมีหมายเลข IP ที่ไม่ซ้ำกันอยู่ทั้งหมด 4 ตัวเท่านั้น ดังนั้นผลลัพธ์จึงเป็น 4


สำหรับกรณีที่ไม่ต่ออินเทอร์เน็ต มันก็จะเปรียบเทียบค่าสตริง URL ว่ามี http://www.google.com อยู่ 2 ตัว ซึ่งซ้ำกัน ที่เหลือไม่ซ้ำดังนั้นผลลัพธ์จึงเป็น 5

เป็นยังไงครับรู้สึกอยากด่าหรืออยากเลิกใช้ Java ไปเลยไหมครับ คราวนี้ทำไมจึงเป็นเช่นนี้ พิธีกรเขาให้เหตุผลว่าในสมัยก่อนที่มีการสร้างคลาสนี้ยังไม่มีแนวคิดของการที่มีชื่อ URL ที่ต่างกัน แต่อ้างถึงหมายเลข IP เดียวกัน


วิธีการแก้ไขถ้าต้องการให้ได้ผลลัพธ์ที่เหมือนเดิมเสมอไม่ว่าจะต่ออินเทอร์เน็ตหรือไม่ ให้ใช้คลาสที่ชื่อ URI แทนครับ ดังนั้นโปรแกรมในตอนต้นจะต้องเปลี่ยนเป็นดังนี้ครับ





import java.net.*;
import java.util.*;
public class URISet {
 private static final String[] URI_NAMES = {
  "http://www.google.com", 
  "http://www.ajsarun.blogspot.com",
  "http://www.ajsarun.bloggang.com",
  "http://ajsarun.blogspot.com",
  "http://kisarun.multiply.com",
  "http://www.google.com"
 };
 public static void main(String[] args) {
  Set favorites = new HashSet();
  for(String uriName: URI_NAMES) {
   favorites.add(URI.create(uriName));
  }
  System.out.println(favorites.size());
 }
}




ซึ่งคลาส URI นี้จะพิจารณาโดยใช้สตริงเท่านั้น คือไม่มีการไปแปลงเป็นหมายเลข IP ใด ๆ ดังนั้นผลลัพธ์จะเป็น 5 เสมอ แต่ก็ยังเป็นการเปรียบเทียบแบบไม่สนใจตัวอักษรตัวเล็กหรือตัวใหญ่เช่นเดิมนะครับคือ http://www.google.com กับ http://www.GOOGLE.COM ก็ถือว่าเท่ากัน

สิ่งที่พิธีกรเขาสรุปจากปริศนานี้ก็คือ เขาบอกว่าเราไม่ควรใช้ URL กับ class SET หรือ class MAP เพราะว่ามันออกแบบมาไม่ดี ให้ใช้ URI แทน ซึ่งตรงนี้ผมว่าถ้าใครไม่ได้เขียนโปรแกรมที่เกี่ยวข้องกับเรื่องพวกนี้ก็อาจดูจะไกลตัวไปนะครับ

แต่สิ่งที่เขาเน้นและผมก็คิดว่าสำคัญก็คือ เวลาเราเขียนโปรแกรม Java เมท็อดตัวหนึ่งที่เรามักจะ override ก็คือเมท็อด equals ก็ขอให้คิดไว้เสมอนะครับว่า เมท็อด equals นี้ไม่ควรจะให้ผลลัพธ์ที่เปลี่ยนไปตามสภาพแวดล้อมของการทำงาน


ผู้เขียนยินดีที่จะให้นำบทความไปเผยแพร่ต่อไปได้ถ้าไม่ได้นำไปใช้เพื่อการค้า แต่ขอให้บอกที่มาว่ามาจากผู้เขียนด้วย

วันเสาร์ที่ 26 กรกฎาคม พ.ศ. 2551

การพัฒนาโปรแกรมแบบเรียงลำดับกำลังจะตาย!

ที่มา http://searchdatacenter.techtarget.com/news/article/0,289142,sid80_gci1319113,00.html#

"การคำนวณแบบเรียงลำดับกำลังจะสูญพันธ์ และอนาคตก็คือการคำนวณแบบขนาน" วันนี้ผมขอเริ่มบทความด้วยคำกล่าวของ Dave PAtterson ซึ่งเป็นหัวหน้าห้องปฎิบัติการการคำนวณแบบขนานที่มหาวิทยาลัยแคลิฟอร์เนียที่เบิร์กเลย์ ซึ่งได้กล่าวไว้ในงานสัมมนาทางวิชาการที่ชื่อว่า Usenix Conference อ่านแล้วรู้สึกยังไงครับ ตกใจ แปลกใจ ไม่เห็นด้วย เฉย ๆ เห็นด้วย แน่นอนอยู่แล้ว ...

เอาละครับ เราลองมาดูรายละเอียดกันดูดีไหมครับว่าทำไมเขาจึงกล่าวเช่นนี้ ซึ่งจริง ๆ ความคิดของเขาก็มาจากการที่การพัฒนาของตัวหน่วยประมวลผลในปัจจุบันนี้ซึ่งเป็นแบบหลายแกน (multi cores) กันแล้วนั่นเอง ซึ่งแน่นอนครับว่าถ้าเราต้องการจะใช้ประโยชน์จากจุดนี้เราก็ต้องพัฒนาโปรแกรมในแบบขนาน อย่างไรก็ตามศาตราจารย์ Andrew S. Tanenbaum (รู้จักไหมครับ เจ้าพ่อด้านระบบปฏิบัติการคนหนึ่งที่พัฒนา Minix ขึ้นมาเพื่อใช้ในการสอนระบบปฏิบัติการ เป็นแรงบันดาลใจให้ Linus ไปพัฒนา Linux) ได้กล่าวติงว่าการพัฒนาโปรแกรมแบบเรียงลำดับนั้นก็ยากอยู่แล้ว การพัฒนาโปรแกรมแบบขนานยิ่งยากไปกว่านั้นอีก เขาเกรงว่าถ้าเราเขียนโปรแกรมให้ทำงานไปพร้อม ๆ กันบนแกนเหล่านี้ โปรแกรมที่พัฒนาขึ้นจะเลวร้ายลงไปอีก ซึ่ง Patterson ก็เห็นด้วยในเรื่องนี้ว่าเรายังขาดบุคลากรทางด้านนี้อยู่จริง ๆ

ไม่ทราบว่ามีความเห็นกันอย่างไรบ้างครับ อย่างนี้เราต้องเลิกเรียนวิชาเขียนโปรแกรมแบบธรรมดาไปเลย แล้วมาเขียนโปรแกรมแบบขนานกันดีไหม ไม่หรอกนะครับ เพราะการพัฒนาแบบเรียงลำดับมันเป็นพื้นฐานที่ต้องเข้าใจ เหมือนกับต้องนับหนึ่งก่อน และขั้นตอนวิธีต่าง ๆ ก็มักจะพัฒนาขึ้นมาแบบเรียงลำดับก่อน แล้วจึงพัฒนาเป็นแบบขนาน ยิ่งไปกว่านั้นก็ไม่ใช่ว่าโปรแกรมทุกโปรแกรมจะต้องทำงานแบบขนาน แต่ผมเป็นห่วงเรื่องของบุคลากรเช่นกันครับ ยิ่งเห็นนักศึกษาบางคนอยู่จนปีสามหรือปีสี่แล้วยังเขียนโปรแกรมกันไม่คล่อง ขั้นตอนวิธีโครงสร้างข้อมูลพื้นฐานก็ยังไม่ค่อยจะเข้าใจกัน ดังนั้นต้องฝากพวกเราโดยเฉพาะที่กำลังเรียนอยู่นี่จะต้องตั้งใจเรียนการพัฒนาโปรแกรมให้เข้าใจอย่างลึกซึ้ง จากนั้นถ้าเห็นแนวโน้มนี้แล้วก็น่าจะเลือกวิชาเช่นขั้นตอนวิธีแบบขนานไว้เป็นวิชาเลือก และคิดว่าในอนาคตก็คงต้องมีการปรับปรุงหลักสูตร โดยให้มีวิชาที่เกี่ยวกับการพัฒนาโปรแกรมแบบขนานเป็นวิชาบังคับ และมีวิชาเลือกให้มากขึ้น

วันอาทิตย์ที่ 20 กรกฎาคม พ.ศ. 2551

ปริศนา Java 1

ต้องขอเกริ่นก่อนนะครับว่าต่อไปบล็อกนี้ผมจะเขียนเรื่องที่หนักไปทางวิทยาการคอมพิวเตอร์มากขึ้น เพราะเท่าที่ดูผู้อ่่านของผมในบล็อกนี้ก็คือศิษย์ปัจจุบันหรือศิษย์เก่า ส่วนถ้าใครยังติดใจเรื่องเล่าข่าวไอทีต่าง ๆ ก็ขอเชิญที่บล็อกของผมที่ bloggang นะครับ

หลังจากเอาวีดีโอขึ้นไปให้ดูกันจากบทความที่แล้ว ก็มีเสียงบ่นว่าวีดีโอยาวจัง ไม่มีเวลาดู ผมก็เลยคิดว่าจะหยิบยกปริศนาภาษา Java จากวีดีโอมาคุยให้ฟังแล้วกันนะครับ เริ่มจากปริศนาแรกเลยนะครับ

import java.util.*;
public class ShortSet {
public static void main(String[] args) {
Set s = new HashSet();
for (short i = 0; i < 100; i++) {
s.add(i);
s.remove(i-1);
}
System.out.println(s.size());
}
}

คำถามคือผลลัพธ์จากโปรแกรมนี้คืออะไร
a. 1
b. 100
c. Throw Exception
d. None of the above

ลองมาไล่โปรแกรมดูนะครับ ถ้าไล่โปรแกรมไปตามปกติจะเห็นว่าเป็นการนำเอาตัวเลข 0 ถึง 99 ใส่ลงใน Set แต่ในการใส่ในแต่ละครั้งจะมีการเอาตัวที่อยู่ก่อนหน้าออก ถ้าลองไล่ดูที่ i = 0, จะได้ set {0} และเมื่อพยายามจะ เอา (0-1 = -1 ) ออกจาก set จะพบว่าไม่มี -1 ดังนั้นจึงไม่มีการเอาอะไรออก ในรอบแรกนี้ set จะมีค่า {0} ในรอบที่ 2 i = 1 จะได้ set คือ {0,1} และเมื่อเอา (1-1 = 0) ออกจะได้ว่า set คือ {1} ดังนั้นถ้าทำอย่างนี้ไปเรื่อย ๆ ในรอบสุดท้ายเราจะได้ set คือ {99} ดังนั้นผลลัพธ์ของโปรแกรมที่สั่งพิมพ์คือขนาดของ Set ก็จะต้องเป็น 1 แต่ถ้าลอง run โปรแกรมดูจะได้ผลลัพธ์คือ 100 ซึ่งคือข้อ b.ครับ คำถามคือทำไม...
คำตอบคือตอนแรกควรจะมามาเข้าใจ interface Set กันก่อน ซึ่งมีหน้าตาดังนี้ครับ
Interface Set {
boolean add(E e);
boolean remove (Object o);
...
}

ให้สังเกตุนะครับว่าสำหรับ add จะรับพารามิเตอร์เป็นประเภทที่ระบุไว้ นั่นหมายความว่าเราไม่สามารถใส่ข้อมูลประเภทอื่น ๆ ที่ไม่ได้ระบุไว้ตั้งแต่ตอนสร้าง set ลงใน set ได้ แต่ remove พารามิเตอร์้เป็น Object ซึ่งหมายถึงจะเป็นประเภทข้อมูลอะไรก็ได้ ซึ่งก็ดูประหลาดนะครับ แต่เหตุผลหนึ่งของการทำอย่างนี้ก็คือในเรื่องของ backward compatability และเขาก็บอกว่าได้ลองคิดถึงการที่จะออกแบบให้ใช้ remove(E e) แล้วแต่ปรากฏว่ามันใช้ไม่ได้ในหลายกรณี เขายกตัวอย่างว่าสมมติว่าถ้าเราต้องการจะหา intersection ระหว่าง Set ของ Number กับ Set ของ Long ซึ่งในกรณีนี้เราจะต้องสามารถดึง object ของ Long ออกมาจาก Numberได้
เอาละครับคราวนี้ก็มาดูว่าอะไรทำให้ผลลัพธ์ไม่ได้ตามที่ต้องการ จากบรรทัด s.remove(i-1) จะเห็นว่าผลลัพธ์ของ i-1 จะเป็น int และจากคุณสมบัติ Autoboxing ก็จะทำให้ได้ผลลัพธ์เป็น object ของ Integer ให้สังเกตุว่าข้อมูลใน Set ที่เราใส่เข้าไปเป็น Short แต่เวลาจะเอาออกเราหา object ของ Integer ซึ่ง object ของ Integer และ Object ของ Short ไม่สามารถเทียบกันได้ดังนั้นการ remove แต่ละครั้ง จึงไม่มีการเอาอะไรออกจาก set
ถ้าจะให้โปรแกรมนี้ทำงานตามที่ต้องการ พอจะตอบได้ไหมครับว่าต้องแก้ตรงไหน ....

ใช่แล้วครับ ต้องแก้บรรทัด s.remove(i-1) เป็น s.remove((short) (i-1)) ซึ่งจะทำให้ได้ผลลัพธ์เป็น Short
สิ่งที่ได้จากปริศนา Java นี้ก็คือผลลัพธ์ของการคำนวณเกี่ยวกับจำนวนเต็มจะได้เป็น int หรือ long ดังนั้นให้หลีกเลี่ยงการใช้ short ในโปรแกรมนะครับ เขายกตัวอย่างว่ากรณีเดียวที่น่าจะใช้ short ก็คือการใช้ array ของ short เท่านั้น

หมายเหตุ : บทความนี้ผู้เขียนยินดีที่จะให้นำไปเผยแพร่ต่อได้ แต่ขอให้อ้างอิงที่มาว่ามาจากผู้เขียนด้วย

วันเสาร์ที่ 12 กรกฎาคม พ.ศ. 2551

มาทดสอบความรู้ Java กันดีกว่า

สำหรับวันนี้ผมจะขอนำเสนอวีด๊โอที่เกี่ยวกับการเขียนโปรแกรมภาษา Java มาให้ทดสอบความรู้กันนะครับ ผมเห็นว่าน่าสนใจดี ซึ่งผมว่าวีดีโอนี้ไม่เพียงแต่จะแสดงคุณลักษณะของภาษา Java เท่านั้น แต่ยังแสดงให้เห็นการออกแบบบางอย่างที่ไม่ดีของ
คลาสไลบรารีของภาษาอีกด้วย ซึ่งก็น่าจะเป็นตัวอย่างหรือเป็นข้อคิดสำหรับนักพัฒนาระบบบ้านเรานะครับ



อ้อไม่ต้องกังวลถ้าตอบผิดนะครับ ผมก็ตอบผิดครับ :(

วันจันทร์ที่ 30 มิถุนายน พ.ศ. 2551

ภาษาโปรแกรมสำหรับยุคต่อไป

หลังจากบทความที่ผ่าน ๆ มา เป็นการเล่าเรื่องทางไอทีที่น่าสนใจให้ฟัง บทความนี้ก็ขอเขียนเกี่ยวกับการพัฒนาโปรแกรมบ้างนะครับ ผมเคยได้รับคำถามจากนักศึกษาว่าเขาควรจะศึกษาภาษาอะไรดี ซึ่งผมก็ได้ตอบไปว่าให้เรียนภาษาที่สอนกันที่คณะ (Java) ให้เข้าใจแนวคิดการเขียนโปรแกรม แล้วจะสามารถนำไปประยุกต์กับภาษาอื่น ๆ ได้โดยไม่ยาก พอดีวันนี้ได้ไปอ่านบทความนี้ครับ http://www.infoworld.com/article/08/06/23/26NF-dynamic-scripting_1.html เห็นว่าน่าสนใจดี และเกี่ยวข้องกับที่นักศึกษาเคยถามก็เลยเอามาเล่าให้ฟัง ในบทความเขาบอกว่าภาษาสคริปต์จะเปิดยุคใหม่ของการเขียนโปรแกรมครับ ซึ่งเขาเรียกว่า programming to the masses ครับ ซึ่งผมก็ขอแปลว่าการโปรแกรมเพื่อมวลชนครับ :) ซึ่งผมเข้าใจว่าเขาจะเน้นว่าภาษาสคริปต์พวกนี้เขียนได้ง่าย ดังนั้นน่าจะมีผู้คนที่เขียนภาษาเหล่านี้เป็นกันมากขึ้น โดยภาษาสคริปต์ที่ใช้กันบนฝั่งไคลแอนต์ส่วนใหญ่ก็จะเป็น JavaScript ส่วนภาษาสคริปต์บนฝั่งเซอร์ฟเวอร์ก็จะเป็น PHP ซึ่งคงเห็นนะครับว่าก็ไม่ใช่ภาษาใหม่อะไรเลย แต่เป็นภาษาที่เรารู้จักกันมานานแล้ว ซึ่งเหตุผลหลัก ๆ ในความเห็นของผมเป็นดังนี้ครับ ประการแรกก็คือความแพร่หลายของการใช้เว็บเป็นแพลตฟอร์มในการพัฒนาระบบ ความแพร่หลายของเว็บเซอร์วิส ประสิทธิภาพที่เพิ่มขึ้นของคอมพิวเตอร์ และคุณลักษณะบางอย่างที่ทำให้ผู้พัฒนาโปรแกรมรู้สึกว่าการพัฒนาโปรแกรมทำได้ง่ายขึ้น เช่นการที่ตัวแปรเป็นแบบไดนามิก คือสามารถเปลี่ยนประเภทไปได้ตามประเภทข้อมูลที่ใช้ในขณะนั้น (แต่อันนี้ก็แล้วแต่คนชอบนะครับ บางคนอาจไม่ชอบคุณลักษณะที่เป็นไดนามิกแบบนี้ก็ได้) นอกจากสองภาษานี้แล้วก็ยังมีภาษาอื่น ๆ ที่น่าสนใจที่แนะนำในบทความครับเช่น python และ Ruby ถึงตรงนี้แล้วหลายคนก็อาจมีคำถามว่าถ้าอย่างนั้นภาษา Java ภาษา C ภาษา C++ นั้นไม่จำเป็นแล้วใช่หรือไม่ ซึ่งผมก็คงต้องตอบว่าไม่ใช่ ในความเห็นผมภาษาสคริปต์ต่าง ๆ เหล่านี้ เหมาะสมกับการทำงานในลักษณะที่จะเป็นตัวเชื่อม โดยเรียกใช้คอมโพเนนต์ต่าง ๆ ที่มีอยู่มาใช้งานร่วมกัน ส่วนคอมโพเนนต์ต่าง ๆ เหล่านี้ก็ยังคงจะต้องพัฒนาโดยใช้ภาษาหลัก ๆ อยู่ดี ซึ่งตามหลักการของการพัฒนาระบบแบบคอมโพเนนต์นั้น จะมีอยู่สองส่วนด้วยกันคือการพัฒนาเพื่อนำกลับมาใช้ใหม่ (development for resue) และการพัฒนาโดยนำสิ่งที่มีอยู่แล้วมาใช้ (development with reuse) ภาษาอย่าง C++ หรือ Java ก็จะใช้ในการพัฒนาส่วนแรก ส่วนภาษาสคริปต์เหล่านี้ก็จะอยู่ในส่วนที่สอง ในส่วนของบทความผมเห็นด้วยในส่วนที่ว่ามีความเป็นไปได้ที่ภาษาเหล่านี้โดยเฉพาะส่วนที่อยู่บนฝั่งไคลแอนต์ จะกลายมาเป็นภาษาหรับมวลชนจริง ๆ ลองสังเกตุจากพวก Social Web เช่นพวก Hi5 หรือ bloggang ของเราดูนะครับ ตอนนี้ผู้ใช้ทั่ว ๆ ไป เริ่มรู้จักการเขียนภาษา HTML แล้ว โดยอาจจะเริ่มต้นจากการคัดลอกจากเว็บอื่นมาใส่เว็บตัวเอง จากนั้นก็เริ่มศึกษาแล้วก็สามารถเขียนโค้ดของตัวเองได้ ซึ่งผมคิดว่าก็อาจจะเกิดขึ้นได้กับภาษาอย่าง JavaScript เช่นกัน

ดังนั้นก็ฝากไว้ครับว่า ต่อไปผู้ใช้ทั่ว ๆ ไปก็อาจจะเขียนโปรแกรมกันได้แล้ว ส่วนพวกที่เรียนกันมาทางสายคอมพิวเตอร์โดยตรงแล้วยังเขียนโปรแกรมไม่ได้นี่ก็... ลองเติมกันดูเองนะครับ

วันศุกร์ที่ 27 มิถุนายน พ.ศ. 2551

เราอาจจะได้จดชื่อโดเมนอินเตอร์เน็ตในชื่อของเรา

ห่างหายไปหลายวันอีกตามเคยครับ สงสัยช่วงนี้เขียนบล็อกได้แค่อาทิตย์ละวันครับ จริง ๆ มีเรื่องมากมายที่จะมาเล่าให้ฟัง แต่ยุ่งมากครับ
อย่าว่าแต่เขียนเลยแค่จะเข้ามาดูยังไม่มีเวลาเลยครับ ดังนั้นพวกเราทั้งหลายก็อย่าว่ากันนะครับถ้าผมไปเยี่ยมได้น้อยลง หรือเข้ามาตอบอะไรช้าไปบ้าง มาที่บทความดีกว่าครับ สำหรับที่มาก็ตามนี้เลยครับ http://www.iht.com/articles/2008/06/22/business/net23.php
ICANN ซึ่งเป็นองค์กรที่ดูแลชื่อโดเมนใน Internet (พวก .com. org นี่ละครับ) เกิดปิ๊งไอเดียใหม่ครับ คือเขาจะเพิ่มชื่อโดเมนระดับบนสุดขึ้นมาใหม่ โดยให้มีการส่งข้อเสนอเข้ามาครับ ตัวอย่างเช่น hotmail ก็อาจจะยื่นขอจดชื่อโดเมนเป็น .hotmail หรือเมืองใหญ่ ๆ ก็อาจขอยื่นจดชื่อโดเมนเป็นชื่อเมืองได้เช่น .bangkok เป็นต้น เป็นยังไงครับอ่านแล้วอยากจะส่งขอเสนอเข้าไปขอจดบ้างไหมครับ ถ้าอยากลองมาดูราคากันดีไหมครับ ราคาค่าขอยื่นจดนี่ก็ถูกมากครับอยู่ในช่วง 39,000 ถึง 390,000 เหรีญสหรัฐเท่านั้นเอง :) และในกรณีที่ใจตรงกันยื่นจดมาชื่อเดียวกันนี่ทาง ICANN ก็จะเปิดประมูลครับ ประมาณกันว่าถ้าทุกอย่างเรียบร้อยชื่อโดเมนใหม่นี้ก็จะใช้ได้ประมาณต้นปีหน้าครับ แต่ก็มีคนวิจารณ์แนวคิดนี้นะครับ เพราะเขาก็กลัวว่าจะเกิดปัญหาครับ คืออาจจะมีคนไปจดชื่อโดเมนเลียนแบบสินค้ายี่ห้อดัง ๆ และก็ยังมีประเด็นทางศาสนาหรือการเมืองด้วยนะครับ คือเขายกตัวอย่างว่าจะเกิดอะไรขึ้นถ้ามีคนไปจดชื่อโดเมน .jihad ซึ่งจริง ๆ ปัญหาต่าง ๆ เหล่านี้นี่เขาก็ถกกันมาได้ 3 ปี แล้วนะครับ สำหรับผมถ้าถามว่าจำเป็นไหมที่ประเทศเราจะต้องไปจดชื่อโดเมนแบบนี้ ผมว่าถ้ามันแพงนักก็ไม่จำเป็นนะครับ เอาเงินไปทำอย่างอื่นดีกว่า แต่ทางรัฐบาลเขาอาจจะคิดว่าคุ้มก็ได้เพราะถือว่าได้โปรโมตชื่อเมือง ชื่อประเทศไปในตัว และเงินระดับนี้ในระดับประเทศก็คงถือว่าน้อยมาก
ก็ถือว่ามาเป็นเรื่องเล่าสู่กันฟังแล้วกันนะครับ เผื่อปีหน้าใครเห็นชื่อโดเมนใหม่ ๆ มาจะได้ไม่ประหลาดใจ เรามารอดูกันนะครับว่าจะมีชื่อ .bangkok .puket หรือ .chiengmai มาให้พวกเราได้ใช้กันบ้างไหม

วันศุกร์ที่ 20 มิถุนายน พ.ศ. 2551

เมื่อผมใช้เวลาหนึ่งชั่วโมงเพื่อพิมพ์เอกสาร Word 23 หน้า (ภาค 2 ตอนสาเหตุ จบ )

กลับมาแล้วครับหลังจากห่างหายไปหลายวัน ไม่คิดเลยครับว่าจะยุ่งได้ขนาดนี้ แล้วยังมาเกิดอุบัติเหตุส่วนตัวอีก เอาไว้จะเล่าให้ฟังทีหลังแล้วกันนะครับ มาที่บทความดีกว่า...

สำหรับบทความนี้ก็สืบเนื่องมาจากบทความก่อนหน้านี้ครับ จะเรียกว่าเป็น CSI (Thailand & Blogger) ก็น่าจะได้นะครับ คือมีผู้ที่ได้อ่านบทความได้สอบถามเข้ามาทั้งในบล็อก และนอกบล็อกว่า สาเหตุมันคืออะไร .rtf มันคืออะไร ทำไมมันถึงใหญ่จัง และทำไมมันถึงแก้ปัญหาได้ วันนี้ก็เลยจะมาเล่าให้ฟังกันครับ



เริ่มจากไฟล์นามสกุล .rtf ก่อนแล้วกันนะครับ ชื่อเต็มของ .rtf คือ rich text format ครับ ถ้าอ้างอิงตามเว็บของไมโครซอฟต์ http://msdn.microsoft.com/en-us/library/aa140277.aspx ก็จะได้ว่าจุดประสงค์ของรูปแบบไฟล์แบบนี้คือจัดเตรียมรูปแบบสำหรับแลกเปลี่ยนข้อมูลที่เป็นข้อความและภาพกราฟิกส์ ให้ใช้ได้บนอุปกรณ์แสดงผลที่ต่างกัน หรือทำงานในสภาพแวดล้อมและระบบปฏิบัติการที่ต่างกัน



ในปัจจุบันโปรแกรมประมวลผลคำ (word processor) หลายตัวสนับสนุนรูปแบบไฟล์แบบนี้ครับ ดังนั้นวิธีการหนึ่งที่เราจะสามารถแลกเปลี่ยนเอกสารระหว่างโปรแกรมประมวลผลคำต่าง ๆ (แม้แต่ของ MS-Word แต่คนละรุ่นนี่ถ้าเป็น .doc ก็อาจคุยกันไม่ได้นะครับ) ก็คือให้จัดเก็บเป็นนามสกุลแบบ .rtf สำหรับเอกสารที่เราจัดเก็บเป็น .rtf แล้ว (และไฟล์ไม่ใหญ่มากจนเกินไป) เราอาจใช้ โปรแกรมอ่านแฟ้มข้อความอย่าง Notepad เปิดขึ้นมาอ่านได้เลยครับ ซึ่งตัวอย่างหน้าตาของข้อมูลที่เก็บอยู่ใน .rtf ที่ลองเปิดขึ้นมาโดยใช้โปรแกรม Notepad ก็เป็นดังนี้ครับ



\rsid12662449\rsid13787157\rsid14054252}{\*\generator Microsoft Word 11.0.6359;}{\info{\title This is a test document for rich text
format}{\author user}{\operator user}{\creatim\yr2008\mo6\dy20\hr17\min30}{\revtim\yr2008\mo6\dy20\hr17\min30}{\version2}


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


เอาละครับคราวนี้ก็มาถึงคำถามว่าแล้วทำไมมันใหญ่จัง เอกสาร Word ต้นฉบับแค่ 2 เมกะไบต์กว่า ๆ ทำไมมันถึงขยายได้เป็น 34 เมกะไบต์ คำตอบก็คือวิธีการที่มันใช้ในการเข้ารหัสรูปภาพครับ เพราะมันจะเอารูปภาพในเอกสารของเรามาเข้ารหัสโดยตัวอักษรครับ อย่างผมลองสร้างเอกสาร MS-Word 1 หน้า ที่มีรูป 1 รูป จัดเก็บเป็น .doc มีขนาดแค่ 165 กิโลไบต์ครับ แต่พอจัดเก็บเป็น .rtf มีขนาด 2.7 เมกะไบต์ ลองใช้
Notepad เปิดดูจึงเห็นว่าส่วนที่เป็นรูปภาพมีการใช้ตัวอักษรเข้ารหัสแทนรูปภาพดังกล่าวอยู่เต็มไปหมด ส่วนเอกสารที่ภรรยาผมส่งมาให้พิมพ์ 23 หน้ามีรูปทุกหน้าครับ ดังนั้นจึงไม่น่าประหลาดใจกับขนาดที่เพิ่มขึ้นนะครับ


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


ผมอยากแนะนำอย่างหนึ่งครับ จากประสบการณ์ที่ผมใช้โปรแกรมไมโครซอฟต์มาถ้าเกิดปัญหากับไฟล์วิธีการที่ผมใช้แก้ปัญหาได้ส่วนใหญ่คือจัดเก็บมันเป็นไฟล์ใหม่ อย่างเช่นผมเคยใช้ Powerpoint ทำไสลด์เตรียมสอน มีสไลด์ไม่กี่หน้าเองครับ แต่มีรูปเยอะหน่อย แล้วผมก็แก้ไปแก้มา อยู่ ๆ ขนาดของไฟล์มันกลายเป็นเกือบ 30 เมกะไบต์ ผมก็เลยลองจัดเก็บเป็นไฟล์ใหม่ ได้ผลครับขนาดลดลงเหลือ 5 เมะไบต์ ดังนั้นถ้ามีปัญหาผมก็จะลองใช้วิธีนี้ก่อน ซึ่งมีคราวล่าสุดนี่แหละครับที่ไม่ได้ผล แต่จริง ๆ ก็เกือบได้ผลเพียงแต่ต้องเปลี่ยนประเภทของไฟล์ด้วยเท่านั้น


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


อ้อมีเรื่องตื่นเต้นปิดท้ายครับคือภรรยาของผมเธอส่งเอกสาร Ms-Word มาให้พิมพ์อีกแล้วครับคราวนี้ 3 หน้าครับ... ไม่ต้องตกใจครับคราวนี้พิมพ์ออกปกติ เธอบอกว่าขี้เกียจเปิดเครื่องพิมพ์ที่บ้านครับ ดู่ดู๊ดูดูเธอทำ....

วันศุกร์ที่ 6 มิถุนายน พ.ศ. 2551

เมื่อผมใช้เวลาหนึ่งชั่วโมงเพื่อสั่งพิมพ์เอกสาร MS Word 23 หน้า

วันนี้จะมาเล่าประสบการณ์ชีวิตให้ฟังครับ และเผื่อใครเจอเหมือนผมอาจนำไปใช้ได้ เรื่องก็มีอยู่ว่าเมื่อ 2-3 วันก่อน ภรรยาของผมก็ได้อีเมล์แนบไฟล์เอกสาร Ms Word ซึ่งมีขนาดประมาณ 2 เมกะไบต์กว่า ๆ มีจำนวนหน้าทั้งหมด 23 หน้า มาให้ผมช่วยพิมพ์ให้จากที่ทำงาน ผมก็แปลกใจนิดหน่อยเพราะที่บ้านก็มีเครื่องพิมพ์จะส่งมาให้ผมพิมพ์ทำไม แต่ก็ไม่ได้คิดอะไรมาก หลังจากดาวน์โหลดไฟล์มาแล้วผมก็ลองเปิดดูก็ดูปกติดี ก็เลยทิ้งไว้ก่อนเอาไว้พิมพ์ตอนก่อนจะกลับบ้าน พอถึงเวลาที่จะพิมพ์ก็เกิดเรื่องครับคือพอผมสั่งพิมพ์มันไม่พิมพ์ครับ คือเหมือนไม่มีไฟล์อะไรส่งไปที่เครื่องพิมพ์เลย ตอนแรกก็นึกว่าเครื่องพิมพ์มีปัญหา ไปตรวจดูก็ไม่มีอะไรผิดปกติ ก็เลยลองสั่งพิมพ์ไฟล์อื่นดูปรากฏว่าพิมพ์ได้ปกติ ก็เลยลองกลับมาใช้วิธีที่ผมมักจะใช้ได้ผลคือจัดเก็บไฟล์ลงไปเป็นแฟ้มใหม่แล้วลองพิมพ์ดู ปรากฏว่าอาการเหมือนเดิมครับ ก็เลยโทรศัพท์กลับไปหาภรรยา ซึ่งภรรยาก็บอกว่า "ก็มันเป็นแบบนี้ถึงได้ส่งไปให้พิมพ์ให้ไง" พร้อมทั้งกำชับด้วยข้อความห้วนสั้นเรียบง่ายแต่ได้ใจความว่า "พิมพ์มาให้ได้นะ" เอาละซีครับคราวนี้ก็เดือดร้อนละครับ งานเข้าเต็ม ๆ ผมก็เลยลองเข้าไปค้นในอินเตอร์เน็ตดู ก็เจอคำตอบหนึ่งเขาบอกว่า การที่พิมพ์ไม่ออกอาจเป็นเพราะตั้งค่าหน้ากระดาษไม่ถูกต้อง ผมก็เลยไปเปิดดูไฟล์ก็ปรากฏว่าเรียบร้อยดี แสดงว่าไม่ใช่ปัญหา คราวนี้ผมก็เลยลองสั่งพิมพ์ออกมาเป็นไฟล์ .pdf ดู ปรากฏว่าเก่งมากครับ 23 หน้าออกมาได้หนึ่งหน้า ด้วยความที่อยากกลับบ้านเต็มแก่ครับเห็นมันออกมาหนึ่งหน้าใน .pdf ก็เลยลองมั่วดู โดยใช้วิธีสั่งพิมพ์ทีละหน้า ปรากฏว่าหน้าแรกมันพิมพ์ออกครับ ก็ดีใจมาก เอาละแค่ 23 หน้าเอง (ในใจคิดว่าโชคดีที่ไม่ใช่ 100 หน้า) พิมพ์ทีละหน้าก็ยังไหว เอาไว้พรุ่งนี้ค่อยมาหาสาเหตุกันใหม่ ปรากฏว่าสั่งพิมพ์ทีละหน้าไปได้ 2 หน้าครับ พอถึงหน้าที่ 3 มันไม่พิมพ์ ข้ามไปพิมพ์หน้าที่ 4 มันก็ไม่พิมพ์ หน้าไหน ๆ มันก็ไม่พิมพ์ ก็เลยคิดว่าปัญหาอาจอยู่ที่ 2 หน้าแรก ก็เลยลบมันทิ้งไป แล้วลองสั่งพิมพ์ดูปรากฏว่ามันออกหน้า 3 มาอีกหน้าหนึ่งครับ จากนั้นก็เหมือนเดิมคือไม่ออกอะไรอีกเลย แถมมีอาการหนักขึ้นอีกคือพอสั่งจัดเก็บมันบอกว่าจัดเก็บไม่ได้ไฟล์ไม่ถูกต้อง แล้วก็แฮงค์ไปเฉย ๆ คราวนี้ก็หน้ามืดละครับอยากกลับบ้านก็อยากกลับแต่คำว่า "พิมพ์มาให้ได้นะ" มันยังก้องอยู่ในหู ก็เลยลองนั่งใจเย็น ๆ คิดดูว่ายังลืมอะไรอีกหรือเปล่า แล้วก็คิดได้วิธีหนึ่งครับที่ยังไม่ได้ลอง คือผมก็เอาไฟล์ต้นฉบับที่ภรรยาส่งมาให้ (คือไอ้ที่ผมบอกว่าลองตัดหน้าทิ้งดูอะไรนี่ ผมทำกับแฟ้มที่ผมสำรองขึ้นมานะครับ ดังนั้นถ้าพวกเราจะลองทำอะไรนี่อย่าทำกับต้นฉบับนะครับ) มาจัดเก็บเป็น .rtf ครับ ผมลองตรวจดูขนาดของไฟล์ดูครับ มหัศจรรย์มากจากต้นฉบับ .doc ของภรรยาผม 2 เมกะไบต์กว่า ๆ พอเป็น .rtf มันเป็น 34 เมกะไบต์กว่า ๆ ครับ แต่ตอนนั้นก็ไม่สนแล้วละครับ ลองสั่งพิมพ์ดู โอสวรรค์เบี่ยง เอ๊ย... สวรรค์ทรงโปรด มันออกครับ 23 หน้าครบถ้วนบริบูรณ์ จากนั้นผมก็ลองจัดเก็บจาก .rtf มาเป็น .doc ครับขนาดลดลงเหลือ 2 เมกะไบต์กว่า ๆ เล็กกว่าไฟล์ต้นฉบับเล็กน้อย แล้วลองสั่งพิมพ์เป็น .pdf ดู คราวนี้ปรากฏว่าออกครบ 23 หน้าครับ เฮ้อ... mission complete ครับ หลังจากผ่านไปประมาณ 1 ชั่วโมง จากนั้นก็กลับบ้านครับ แล้วก็เอาที่พิมพ์ได้ไปให้ภรรยา ซึ่งเธอก็บอกว่า "ขอบคุณค่ะ" แค่นี้ก็หายเหนื่อยแล้วครับ...

วันจันทร์ที่ 2 มิถุนายน พ.ศ. 2551

วีดีโอดิกชันนารีสำหรับผู้บกพร่องทางการได้ยิน

เรื่องที่จะเล่าวันนี้เกี่ยวกับงานวิจัยที่คิดขึ้นเพื่อช่วยผู้บกพร่องทางการได้ยินครับ สำหรับแหล่งที่มา ก็ตามลิงก์นี้เลยครับ http://canadianpress.google.com/article/ALeqM5ijJJ3pQiMrNWpixhbpLiYRGv7KZQ
คุณ Joan Nash ซึ่งมีอาชีพเป็นครูสอนเด็กที่มีความบกพร่องทางการได้ยิน เจอปัญหาคือบางครั้งเธอก็ไม่เข้าใจสิ่งที่นักเรียนพยายามจะสื่อกับเธอครับ คือในบางครั้งเด็กเหล่านี้ก็ใช้สัญลักษณ์ท่าทางที่เธอไม่เคยรู้จักมาก่อน อ่านถึงตรงนี้แล้วงงไหมครับ ผมขอขยายความหน่อยแล้วกัน คือคุณ Nash นี่เธอไม่ได้เป็นผู้พิการนะครับ แต่เธอเรียนภาษาสำหรับผู้พิการทางการได้ยิน (ผมขอเรียกโดยใช้ศัพท์ที่พวกเราใช้กันคือภาษามือแล้วกันนะครับ แต่จริง ๆ เดี๋ยวจะเห็นว่ามันไม่ใช่แค่มือ) และก็ใช้ภาษานี้เพื่อสอนวิชาการต่าง ๆ ให้กับเด็ก ๆ ที่มีปัญหาด้านการได้ยิน ตอนนี้คุณ Nash เป็นนักศึกษาปริญญาเอกอยู่ที่มหาวิทยาลัยบอสตัน และเธอก็ได้อยู่ในทีมที่ทำวิจัยที่จะแก้ปัญหานี้ โดยแนวคิดก็คือให้ผู้พิการมาแสดงท่าทางต่อหน้ากล้องวีดีโอ จากนั้นสัญญาณจากกล้องวีดีโอก็จะถูกส่งไปประมวลผลในคอมพิวเตอร์ เพื่อแปลความหมายของท่าทางดังกล่าว สิ่งที่จำเป็นมากอย่างหนึ่งของงานวิจัยนี้ก็คือดิกชันนารีครับ ซึ่งดิกชันนารีนี้ไม่ใช่ดิกชันนารีธรรมดาครับ แต่จะเป็นวีดีโอดิกชันนารี ซึ่งบันทึกท่าทางและความหมายของท่าทางนั้นเอาไว้ โดยในการบันทึกท่าทางนี้ เขาไม่ได้บันทึกแค่ลักษณะของมือนะครับ แต่จะบันทึกการเคลื่อนไหวของมือและแขน และการแสดงออกทางใบหน้าด้วยครับ โดยงานวิจัยนี้จะพยายามบันทึกคำศัพท์ให้ได้มากกว่า 3,000 คำ ถ้างานวิจัยนี้ทำเสร็จก็จะเป็นประโยชน์อย่างมากครับ เช่นพ่อแม่ที่มีลูกที่บกพร่องทางการได้ยินก็จะสามารถสื่อสารกับลูกได้ดีมากขึ้น ภาษาที่เขาบันทึกลงวีดีโอนี่จะเป็นภาษาที่เรียกว่า American Sign Language นะครับ ซึ่งผมเข้าใจว่าน่าจะเป็นภาษาของชาวอเมริกันเท่านั้น ดังนั้นถ้านักวิจัยไทยสนใจก็ลองนำมาดัดแปลงสำหรับคนไทยบ้างก็คงจะดีนะครับ

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

วันศุกร์ที่ 23 พฤษภาคม พ.ศ. 2551

เทคนิคใหม่ในการขโมยข้อมูล

มีเรื่องราวที่น่าสนใจและเป็นการเตือนสำหรับผู้มีความลับมาเล่าให้ฟัง แหล่งที่มา http://www.computerworld.com/action/article.do?command=viewArticleBasic&articleId=009086558&intsrc=hm_list
ประเด็นก็คือนักวิจัยที่ University of California, Santa Barbara (UCSB) และ Saarland University ในSaarbrucken ประเทศเยอรมัน ได้คิดค้นวิธีการใหม่ ๆ ที่จะขโมยข้อมูลจากคอมพิวเตอร์ (ต่างคนต่างคิดนะครับไม่ได้ช่วยกัน) โดยที่ Saarbrucken จะใช้วิธีอ่านข้อมูลหน้าจอคอมพิวเตอร์ จากวัตถุที่สามารถสะท้อนแสงได้ เช่นกระจก หรือกาน้ำชา (แบบที่ผิวมัน ๆ นะครับ) โดยโครงการนี้นี่มีที่มาจากความคิดสนุก ๆ ของนักวิจัยครับ โดยพวกเขาอยากจะทดลองว่าเขาจะรู้ได้ไหมว่าใครกำลังใช้คอมพิวเตอร์ทำอะไร โดยแอบดูจากกระจกที่ตั้งอยู่ใกล้ ๆ จอคอมพิวเตอร์ และเขาก็ได้ข้อสรุปครับว่า ถ้าใช้กล้องโทรทัศน์ราคาประมาณ 15000 บาท ($500) โฟกัสไปที่วัตถุที่สามารถสะท้อนแสงได้ที่ตั้งอยู่หน้าจอคอมพิวเตอร์ จะทำให้สามารถสร้างภาพของเอกสาร Ms Word ที่อยู่บนหน้าจอได้ ตอนนี้เขากำลังทำวิจัยขั้นต่อไปครับคือคิดค้นขั้นตอนวิธีวิเคราะห์รูปภาพแบบใหม่ ๆ และใช้กล้องดูดาวเข้ามาช่วย โดยมีความหวังว่าต่อไปจะสามารถดูภาพสะท้อนจากพื้นพิวที่มีความยากขึ้นเช่นตาของคนเราครับ ส่วนใน UCSB ได้พัฒนาโปรแกรมชื่อ Clear shot ซึ่งเป็นโปรแกรมที่จะวิเคราะห์วีดีโอที่บันทึกความเคลื่อนไหวของร่างกายเราในตอนกดแป้นพิมพ์ แล้วโปรแกรมจะบอกได้ว่าเราพิมพ์อะไรบ้าง ซึ่งที่มาของชื่อโปรแกรม Clear Shot นั้นมาจากหนังเรื่อง Sneakers นำแสดงโดย Robert Redford สักประมาณ 10 กว่าปีที่แล้วครับ มาฉายที่ประเทศไทยด้วย ผมก็ได้ดูครับ สนุกดีตามสไตล์ฮอลลีวูดครับ (ชักนอกเรื่องแล้วกลับมาดีกว่า) คือพระเอกของเรื่องก็กำลังทำสิ่งเดียวกับที่โปรแกรมนี้ทำอยู่ครับ คือดูวีดีโอและพยายามวิเคราะห์ว่ารหัสผ่านที่คนกำลังพิมพ์อยู่คืออะไร และพระเอกก็บอกว่าเอาละตอนนี้กำลังจะได้ clear shot แล้ว ตอนนี้โปรแกรม Clear Shot นี่ทำงานได้เที่ยงตรงประมาณร้อยละ 40 ครับ
สิ่งที่ผมคิดว่าน่าสนใจจากเรื่องนี้มีสองประเด็นครับ แน่นอนครับประเด็นแรกคือประเด็นเกี่ยวกับความปลอดภัย นับวันจะเห็นว่ามีวิธีการต่าง ๆ ที่จะขโมยข้อมูลมากขึ้น ก็ให้เรารู้เท่าทันไว้ครับ ซึ่งผมคิดว่าเราคงยังไม่ต้องกังวลกับเรื่องนี้มากนัก ผมว่ามันเหมาะกับพวกสายลับมากกว่า แต่ผมว่าสิ่งที่เราต้องทำเกี่ยวกับการรักษาข้อมูลของเราก็คือเรื่องที่ทำได้ใกล้ ๆ ตัว เช่นหมั่นปรับปรุงฐานข้อมูลไวรัสให้กับโปรแกรมป้องกันไวรัส ตั้งรหัสผ่านให้มีความซับซ้อนมากขึ้น ไม่บอกรหัสผ่านกับใคร เป็นต้น
อีกประเด็นที่ผมคิดว่าน่าสนใจกว่าก็คือ ผมอยากให้ดูวิธีการคิดของนักวิจัยเหล่านี้ครับ จะเห็นว่าเขาหยิบยกเอาเรื่องใกล้ ๆ ตัว เรื่องที่พวกเรามองข้าม หรือเรื่องที่เป็นความสนุกเช่นการดูหนัง นำมาทำวิจัยเป็นเรื่องเป็นราวได้ ซึ่งสิ่งต่าง ๆ เหล่านี้ผมเชื่อว่าถ้าเด็กไทยเราได้รับการฝึกฝนก็จะสามารถทำได้เช่นกันครับ เช่นเด็กไทยที่ไปคว้ารางวัลโครงการวิทยาศาสตร์ระดับโลกเช่น การเดินของกิ้งกือ หรือการหุบของใบไมยราบ (จำชื่อโครงการจริง ๆ ไม่ได้ ถ้าผิดก็ขออภัย)
เรามาลองคิดงานวิจัยอะไรสนุก ๆ กันดูดีไหมครับ ...

วันเสาร์ที่ 17 พฤษภาคม พ.ศ. 2551

ซอฟต์แวร์ควรมีนิสัยดี !

ช่วงนี้อาจจะเขียนบล็อกน้อยไปบ้างนะครับ เนื่องจากภารกิจทั้งส่วนรวมและส่วนตัวค่อนข้างเยอะมาก
มาดูที่บทความวันนี้กันดีกว่า สำหรับแหล่งที่มาของบทความนี้ก็มาจาก Computer World ตามลิงก์นี้ครับ http://computerworld.co.nz/news.nsf/devt/A4B9BCCD1B0884FACC2574480019CA20
บทความดังกล่าวเริ่มด้วยคำถามที่ผมคิดว่าคนใช้คอมพิวเตอร์แทบทุกคนต้องเจอ เช่นอยู่ ๆ ก็มีข้อความบอกว่าจะบูตเครื่องใหม่ หรือทำอะไรต่าง ๆ นานาซึ่งใช้เวลานานมาก จนเราไม่สามารถที่จะใช้เครื่องคอมพิวเตอร์ได้ ซึ่งการกระทำดังกล่าวเหล่านี้ตัวซอฟต์แวร์ทำเองโดยไม่ถามความเห็นชอบจากเรา หรือยิ่งไปกว่านั้นพวกเราก็คงจะเคยที่จะต้องมาคอยลบไฟล์หรือโปรแกรมต่าง ๆ ซึ่งเราก็ไม่เคยคิดที่จะเพิ่มลงในเครื่องของเรา คอยปิดหน้าต่าง (หน้าต่างในคอมพิวเตอร์นะครับ ถ้าหน้าต่างบ้านคุณเปิดเองก็ .... ขอให้โชคดีครับ) ซึ่งเราเองก็ไม่ได้สั่งให้เปิด ซึ่งเรื่องต่าง ๆ เหล่านี้ Brian Whitworth ซึ่งเป็นอาจารย์ที่ Auckland’s Massey University ได้เขียนบทความบอกว่าโปรแกรมบางตัวนั้นหยาบคาย ดังนั้นอีกหนึง requirement สำหรับโปรแกรมก็คือความสุภาพ Whitewoth ยกตัวอย่างว่าโปรแกรมที่ไม่สุภาพก็เช่นโปรแกรมที่เขียนไฟล์อย่างเช่น cookies ลงในดิสก์ของเรา หรืออยู่ ๆ ก็มาเปลี่ยน default homepage ของเราให้เป็นเว็บของตัวเอง คราวนี้อะไรบ้างถึงจะเรียกว่าโปรแกรมนั้นสุภาพ Whiteworth ได้ให้แนวทางไว้ 4 ข้อด้วยกันคือ
1. ซอฟต์แวร์ควรให้ความเคารพผู้ใช้ โดยไม่มาบังคับทางเลือกให้ผู้ใช้ หรือคัดลอกข้อมูลโดยไม่ได้รับอนุญาต
2. ซอฟต์แวร์ควรจะประกาศตัวเองว่าใครเป็นเจ้าของและจะติดต่อได้อย่างไร
3. ซอฟต์แวร์ที่สุภาพควรจะให้ผู้ใช้เลือกทางเลือกได้ โดยให้ข้อมูลที่เข้าใจได้ง่าย
4. ซอฟต์แวร์ที่สุภาพควรจะจดจำทางเลือกสุดท้ายของผู้ใช้ไว้ด้วย
Whitewoth ได้ยกตัวอย่างของโปรแกรมที่ไม่สุภาพคือ Windows Update เพราะมันบอกเราว่าจะเริ่ม update แล้วนะ แล้วก็รายงานความคืบหน้าของการ update ให้เรารู้ จากนั้นก็บอกว่าเสร็จแล้ว อันนี้ผมเข้าใจว่านาย whiteworth คงจะใช้ระบบ automatic update ส่วนโปรแกรมที่สุภาพนาย Whiteworth ได้ยกตัวอย่างของ google และ e-bay ซึ่งให้ผู้ใช้เลือกเองว่าจะเข้าไปดูเว็บที่ให้การสนับสนุน google หรือเข้าไปดู ข้อเสนออื่น ๆ ที่เกี่ยวข้องกับสินค้าที่ผู้ใช้ซื้อหรือไม่
สำหรับเรื่องนี้ผมก็เห็นด้วยในบางส่วน และไม่เห็นด้วยในบางส่วน ผมคิดว่าในการใช้งานซอฟต์แวร์ ผู้ใช้ควรจะต้องศึกษาทำความเข้าใจคุณลักษณะของซอฟต์แวร์ให้ดีในระดับหนึ่งเพื่อจะใช้มันได้อย่างมีประสิทธิภาพ อย่างเช่นเราสามารถที่จะปิดระบบ Autoupdate ของ Windows ได้ ถ้าเราต้องการ แต่ในอีกทางหนึ่งถ้าเราปิดระบบ Autoupdate ไว้ก็หมายความว่าเราจะต้องทำการ update ด้วยตนเอง และผู้ใช้ทั่ว ๆ ไปก็มักจะไม่รู้เรื่องนี้อยู่ดี และทำให้เครื่องของตัวเองอยู่ในภาวะเสี่ยง (แต่ถ้าคิดดี ๆ ถ้าโปรแกรมมันทำมาดีก็ไม่น่าต้อง update บ่อยนะครับ และบางที่ก็ปล่อย bug มากับตัว update ด้วย เช่น Vista :)) แต่ไอ้ที่น่ารำคาญจริง ๆ ก็น่าจะเป็นพวกเปิดหน้าต่างอื่น ๆ ที่เราไม่ได้อยากจะดูขึ้นมาให้เราดูนะครับ หรืออีกอันหนึ่งเวลาใช้ Word ที่มันมักจะมีการแปลงตัวอักษรตัวแรกของประโยค (ภาษาอังกฤษ) ให้เป็นตัวใหญ่ ซึ่งอันนี้ผมก็ว่ามีประโยชน์ แต่ในบางกรณีเราก็ไม่ต้องการ คราวนี้แทนที่เราจะต้องไปคอยเปิดปิดเงื่อนไขนี้ด้วยตัวเอง เจ้า Word ก็น่าจะจำทางเลือกสุดท้ายที่เราเลือกไว้ด้วย ดังนั้นก็อยากจะฝากนักพัฒนาซอฟต์แวร์ทั้งหลายว่าให้ลองคิดถึงประเด็นเหล่านี้ด้วย ส่วนผู้ใช้ก่อนที่จะบ่นเรื่องต่าง ๆ ก็ลองถามตัวเองว่าตัวเองได้ศึกษาคุณสมบัติต่าง ๆ ของโปรแกรมดีแล้วหรือยัง
ทิ้งท้ายสำหรับวันนี้ก็คือขนาดซอฟต์แวร์ก็ควรจะมีนิสัยดี แล้วพวกเราล่ะครับ ...

วันจันทร์ที่ 12 พฤษภาคม พ.ศ. 2551

วีลแชร์อัจฉริยะ

ต้องขอโทษด้วยที่หายไปหลายวันนะครับ เนื่องจากไม่ว่างจริง ๆ และก็ต้องเดินทางไปสัมมนาวิชาการที่จ.กาญจนบุรีด้วย วันนี้ก็ขอเริ่มด้วยเรื่องที่คิดว่าน่าสนใจ และน่าจะเป็นแนวทางให้ผู้คนในประเทศของเราได้คิดบ้างนะครับ แทนที่จะเอาแต่ทะเลาะกันด้วยเรื่องอะไรก็ไม่รู้....

ประเด็นหลัก ๆ ของเรื่องนี้ก็คือ นักวิจัยที่มหาวิทยาลัย Lehigh ใน Bethlehem, Pennsylvania, ประเทศสหรัฐอเมริกา ได้ทำงานวิจัยร่วมกับ บริษัทชื่อ Freedom Sciences ที่อยู่ใน Philadelphia โดยประดิษฐ์

วีลแชร์อัจฉริยะ เพื่อช่วยเหลือผู้พิการขึ้น (แต่คงต้องบอกว่าต้องเป็นผู้พิการที่มีฐานะดีมากครับ) กล่าวคือสมมติว่าผู้พิการขับรถตู้มาคนเดียวและเมื่อขึ้นรถตู้ไปแล้ว จะเก็บวีลแชร์นี้อย่างไร โดยงานวิจัยนี้ก็เสนอให้ ใช้รีโมทคอนโทรลเพื่อบังคับให้วีลแชร์นี้ไปที่ด้านหลังรถ โดยด้านหลังรถก็จะมีตัวยกเพื่อนำวีลแชร์นี้ขึ้นไปเก็บบนรถตู้ ถ้าใครไม่เห็นภาพลองดูวีดีโอนี้ครับ http://www.youtube.com/view_play_list?p=A1F1C24123EC0F9E
ซึ่งเขาบอกว่าความยากก็อยู่ตรงนำวีลแชร์เข้าสู่ตัวยกนี้ครับ เนื่องจากต้องให้มีความถูกต้องให้ได้ใกล้เคียงร้อยละร้อย ซึ่งการใช้รีโมทคอนโทรลอย่างเดียวไม่สามารถรับประกันตรงนี้ได้ ทางนักวิจัยได้ใช้เทคโนโลยีในลักษณะเดียวกับการเข้าจอดของยานอวกาศมาใช้กับการแก้ปัญหานี้เชียวนะครับ ซึ่งผมขอไม่ลงรายละเอียดนะครับ แต่ถ้าสนใจก็ลองอ่านดูเพิ่มเติมได้ที่นี่
http://technology.newscientist.com/article/dn13805-robotic-wheelchair-docks-like-a-spaceship.html

อ่านแล้วรู้สึกเป็นอย่างไรบ้างครับ ดูแล้วจะเห็นว่านักวิจัยของเขามีความพยายามที่จะคิดค้นสิ่งประดิษฐ์ต่าง ๆ ออกมา เพื่อช่วยเหลือผู้พิการให้ได้รับความสะดวกสบายมากขึ้น ซึ่งในต่างประเทศนี่เขาจะให้การดูแลผู้พิการดีกว่าบ้านเราเยอะครับ
แต่สำหรับเรื่องวีลแชร์นี้ถ้าคิดในอีกมุมหนึ่ง ก็เหมือนกับการขี่ช้างจับตั๊กแตน และบางทีก็อาจเป็นไปได้ยากในทางปฏิบัติ เพราะผู้พิการที่จะใช้เทคโนโลยีนี้ต้องรวยครับ โดยจะต้องมีรถตู้ขับแล้วก็ติดตั้งระบบที่ว่านี้เข้าไป อันนี้ก็มีผู้ที่โพสต์ให้ความเห็นไว้บน youtube หลายคนครับ รวมถึงคนที่เป็นผู้พิการเองด้วย ซึ่งมีความเห็นหนึ่งบอกว่า ให้ใช้วีลแชร์แบบพับเก็บได้ เมื่อขึ้นรถไปแล้ว ก็พับเจ้าวีลแชร์นี้ขึ้นรถไปด้วย ซึ่งก็ง่ายและถูกกว่าเทคโนโลยีนี้นะครับ
ดังนั้นก็อยากจะฝากเป็นมุมมองให้พวกเราได้คิดและวิเคราะห์การใช้เทคโนโลยีอย่างพอเพียงด้วยนะครับ.

วันจันทร์ที่ 5 พฤษภาคม พ.ศ. 2551

แฮกเกอร์อาจใช้กลไกทางฮาร์ดแวร์ในการเจาะระบบ

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

วันศุกร์ที่ 2 พฤษภาคม พ.ศ. 2551

การ์ตูนและนวนิยายกับการเขียน

วันนี้ดูจากหัวข้อแล้วอาจจะรู้สึกแปลก ๆ นะครับว่าจะมาไม้ไหน เดี๋ยวคอยติดตามแล้วกันนะครับ...


ความคิดที่จะเขียนเรื่องนี้ของผมเริ่มจาก เมื่อสักประมาณปลายสัปดาห์ก่อนผมได้รับอีเมล์จากเพื่อน ซึ่งในอีเมล์นั้นก็ได้แนบพระราชบัญญัติคอมพิวเตอร์ฉบับการ์ตูนมาด้วย ซึ่งผมก็ได้ไปโพสต์ไว้ให้ดาวน์โหลดกันผ่านทางลิงค์นี้นะครับ http://www.beupload.com/download/?0092d074e10b35469302f7ede58306e8
ลองไปอ่านกันดูนะครับ สนุกและเข้าใจได้ง่ายดี

ซึ่งผมเห็นว่านี่คือการใช้การ์ตูนให้เป็นประโยชน์อย่างมาก การ์ตูนสามารถสื่อความเข้าใจจากเรื่องยากให้กลายเป็นเรื่องง่ายได้ ดังนั้นจะเห็นว่าในช่วงที่ผ่าน ๆ มา จะมีการ์ตูนอย่างเช่น ร่างรัฐธรรมนูญฉบับการ์ตูน บทพระราชนิพนธ์คุณทองแดงฉบับการ์ตูน บทพระราชนิพนธ์พระมหาชนกฉบับการ์ตูนเป็นต้น ซึ่งตรงนี้ก็ต้องบอกว่าดีมากครับ เพราะทำให้คนไทยหลาย ๆ คนที่ไม่ชอบอ่านหนังสือได้อ่านงานที่มีคุณค่า หรือทำให้ชาวบ้านอย่างพวกเราเข้าใจประเด็นข้อกฏหมายในรัฐธรรมนูญได้มากขึ้น (ไม่ทราบพวกที่จะไปเยิ้ว ๆ ให้แก้หรือไม่แก้รัฐธรรมนูญนี่ได้อ่านบ้างหรือเปล่า) ในปัจจุบันจะมีการ์ตูนซึ่งเป็นลักษณะที่สอนวิทยาศาสตร์ ไม่ทราบเคยได้ยินกันไหมครับ (ส่วนผมรู้เพราะลูก ๆ ผมชอบอ่านครับ) เช่นเอาชีวิตรอดบนเกาะร้าง เอาชีวิตรอดในป่าลึก หรืออย่างนวนิยายนักสืบอย่างเช่นเชอร์ลอกโฮล์มก็ทำเป็นการ์ตูน ซึ่งต้องบอกว่าลูกทั้งสองคนของผมชอบมาก ไปร้านหนังสือทีไรก็จะต้องซื้อกันคนละเล่มสองเล่ม ซึ่งในสมัยผมเป็นเด็กไม่มีนะครับ ตัวผมเป็นคนชอบอ่านหนังสือมาตั้งแต่เด็ก ประมาณ ป. 3 นี่ก็อ่านหนังสือแตกแล้ว ถ้าจำไม่ผิดหนังสือนิยายเล่มแรกที่อ่านนี่คือ พล นิกร กิมหงวนของ ป.อินทรปาลิต (อันนี้คนที่เป็นเด็กรุ่นใหม่อาจไม่รู้จักแล้วนะครับ) จากนั้นผมก็อ่านเรื่อยมา เช่นเพชรพระอุมาของพนมเทียน และก็นิยายจีนกำลังภายของโก้วเล้ง กิมย้งนี่ก็อ่านมาจนหมดครับ ส่วนการ์ตูนก็มีนะครับ แต่จะเป็นพวกขายหัวเราะ หรือหนูจ๋า (หลายคนคงไม่รู้จัก) ผมมาเริ่มอ่านการ์ตูนญี่ปุ่นอย่างที่เด็กสมัยใหม่อ่านกันนี่ตอนเรียน ป.ตรีครับ ในช่วงนั้นก็รู้สึกจะมีสำนักพิมพ์วิบูลย์กิจเป็นเจ้าหลักครับ ที่ชอบอ่านก็เช่น โดเรมอน ดราก้อนบอล ซึบาสะ และซิตี้ฮันเตอร์ เด็ก ๆ รุ่นใหม่คุ้นไหมครับ พวกคุณก็ยังรู้จักเรื่องพวกนี้อยู่ใช่ไหมครับ

ประเด็นที่ผมต้องการจะสื่อในวันนี้คือ การ์ตูนมีประโยชน์ในการทำให้เรื่องยากเข้าใจได้ง่ายและอ่านสนุก ดังนั้นผมรู้สึกดีใจที่เด็กรุ่นใหม่สามารถเข้าถึงแหล่งความรู้ที่มีประโยชน์ผ่านทางการ์ตูนได้ แต่สิ่งหนึ่งที่คุณจะไม่ได้จากการ์ตูนก็คือภาษาที่เป็นการบรรยาย เพราะการ์ตูนจะบรรยายเหตุการณ์ต่าง ๆ ด้วยภาพเป็นหลัก และนี่เป็นสาเหตุหนึ่งที่ทำให้พวกเราหลาย ๆ คนที่อ่านแต่การ์ตูน เมื่อถึงเวลาที่ต้องเขียนหนังสือหรือรายงานจะทำได้ด้วยความยากลำบาก เพราะตัวเองไม่เคยได้สัมผัสว่าการบรรยายด้วยตัวอักษรนั้นเขาทำกันอย่างไร จากประสบการณ์ของผมในฐานะที่เป็นอาจารย์ และควบคุมงานวิจัยมาเป็นสิบ ๆ ปี ผมพบว่านักศึกษาไม่ว่าจะเป็นระดับป.ตรี ป.โท หรือ ป.เอก มีปัญหานี้ครับ ซึ่งจากการสอบถามก็คือส่วนใหญ่ไม่ค่อยได้อ่านหนังสืออื่น ๆ จะอ่านแต่ตำรา (ถูกบังคับให้อ่าน) และการ์ตูนเป็นหลัก ซึ่งหนังสือตำราบางเล่มที่วางขายกันในท้องตลาดปัจจุบันนี้คุณลองอ่านดูซิครับว่ามันอ่านรู้เรื่องไหม คนเขียนต้องการจะสื่ออะไร บางทีก็ไปแปลฝรั่งมาทั้งประโยคโดยไม่ได้ขัดเกลาเลย

ดังนั้นผมจึงอยากจะเชิญชวนครับว่า นอกจากคุณจะหาความเพลิดเพลินจากการ์ตูนแล้ว ยังมีหนังสือนวนิยาย หรือความรู้ดี ๆ ที่ไม่ใช่การ์ตูนอีกมากมาย หนังสือเหล่านี้นอกจากจะให้ความบันเทิงแล้วยังให้ทักษะในด้านการบรรยาย การใช้สำนวนภาษาที่สละสลวย ซึ่งผมมั่นใจครับว่าจะช่วยให้ทักษะในการเขียนของพวกคุณดีขึ้นอย่างแน่นอน

วันนี้คุณอ่านนิยายหรือยังครับ...

วันอังคารที่ 29 เมษายน พ.ศ. 2551

ซันกำลังจะแจกเทคโนโลยีทั้งหมดของจาวาฟรี

อันนี้ก็จัดว่าเป็นข่าวดีนะครับ ซึ่งผมก็สรุปมาจาก ACM Technews เช่นเคย สำหรับแหล่งที่มาเต็ม ๆ ก็ตามนี้นะครับ http://www.infoworld.com/article/08/04/22/Sun-looks-to-free-up-the-rest-of-Java_1.html



ขอสรุปเลยก็แล้วกันนะครับ ทางซันมีโครงการที่จะให้เทคโนโลยีทั้งหมดของจาวาอยู่ในรูปแบบเปิดเผยรหัส(open source) โดยจะแจกรวมไปกับลินุกซ์ในดิสทริบิวชันต่าง ๆ จริง ๆ แล้วซันได้เริ่มโครงการเปิดเผยรหัสนี้มาตั้งแต่เดือน พ.ย. 2549 แล้วแต่ก็มีคอมโพเนนต์หลายตัวที่ไม่ได้อยู่ภายใต้ลิขสิทธิ์แบบ GNU เช่นพวกไลบรารีสำหรับการเข้ารหัส ไลบรารีทางด้านกราฟิกส์ เอนจินทางด้านเสียง (sound engine) และ SNMP ซึ่งจริง ๆ นาย Rich Sands ของซันก็กล่าวว่าได้ดำเนินการมานานพอสมควรแล้วในการแก้ไขความยุ่งยากต่าง ๆ แต่ก็ยังคงมีงานอีกหลายส่วนที่ต้องทำพื่อทำให้ทั้งเอนจินด้านเสียง และ SNMP อยู่ในลักษณะที่เปิดเผยรหัสได้ (อันนี้ผมคิดเอาเองนะครับว่าอีกสาเหตุหนึ่งอาจมาจากทางซันอาจจะอายโปรแกรมที่ตัวเองเขียนไว้ คือมันอาจจะเละเทะมากก็เป็นได้ :)) โครงการนี้คาดว่าจะเสร็จปลายปีนี้ครับโดยอาจจะไม่มีเอนจินทางด้านเสียง (คือนาย Sand บอกว่านักพัฒนาสามารถทำงานไปได้แม้จะไม่มีเอนจินทางด้านเสียง)


ดังนั้นก็คอยติดตามดูกันนะครับว่าพวกเราจะได้ประโยชน์จากตรงนี้กันแค่ไหน...

วันศุกร์ที่ 25 เมษายน พ.ศ. 2551

เว็บไซต์จับคู่สำหรับคนไอคิวสูงเท่านั้น

วันนี้มีเรื่องเบา ๆ มาเล่าให้ฟังครับ คือพอดีได้ไปอ่านบล็อกที่เขียนโดย Daniel Terdiman เกี่ยวกับเว็บไซต์นี้ครับ IntelligentPeople.com คือเว็บนี้เป็นเว็บที่เหมือนกับให้ผู้คนมานัดเดทกันผ่านทางเว็บไซต์ แต่มีเงื่อนไขในการเข้าสู่เว็บคือ จะต้องผ่านการทดสอบไอคิวก่อน เรียกว่าต้องพวกไอคิวสูงด้วยกันเท่านั้นถึงจะมีสิทธิเดทกันได้ ผมก็ได้ลองคลิกเข้าไปดูก็เป็นตามนั้นจริง ๆ ครับ แต่ไม่ได้ลองทดสอบไอคิวดูนะครับ กลัว ...... ซึ่งเท่าที่อ่านบล็อกของ Daniel Terdiman เขาก็ไม่ได้ลองเหมือนกันนะครับ และเว็บนี้ก็จำกัดด้วยนะครับ ว่าให้ทดสอบได้แค่สองครั้ง คงกลัวว่าครั้งที่ 3 ที่ 4 จะหาทางแฮ็กเข้าไปได้ ถ้าสนใจยังไงก็ลองเข้าไปดูกันนะครับ ใครที่ทำทดสอบผ่านแล้วจะแวะมาบอกกันก็ได้ อ้อแล้วถ้าผ่านเข้าไปได้แล้ว และมีการนัดเดทกันแล้ว อย่าเผลอตัวพูดอะไรที่ดูไม่ฉลาดออกมาให้คู่เดทคุณฟังนะครับ ..

วันพุธที่ 23 เมษายน พ.ศ. 2551

อินเตอร์เน็ตจะถึงจุดอับภายในสองปี

อินเทอร์เน็ตจะเข้าสู่จุดอับภายใน 2 ปี (Internet Gridlock to Occur in Just Two Years)

ที่มา ZDNet UK (04/21/08) Donoghue, Andrew

แปลและเรียบเรียงโดย: ศรัณย์ อินทโกสุม


Jim Cicconi จาก AT& T ได้กล่าวไว้ที่ Westminster eForum on Web 2.0 ในลอนดอนว่าถ้าไม่มีการลงทุนอย่างมหาศาล สถาปัตยกรรมเครือข่ายของระบบอินเตอร์เน็ตที่เราใช้อยู่จะมาถึงขีดจำกัดของมันในปี พ.ศ. 2553 การเพิ่มขึ้นของข้อมูลออนไลน์เป็นศูนย์กลางการเปลี่ยนแปลงที่มีผลกระทบกับอินเตอร์เน็ตที่เราใช้กันอยู่มากที่สุด ในอีก 3 ปีข้างหน้า ครอบครัวธรรมดา ๆ 20 ครอบครัวจะเพิ่มความคับคั่งของข้อมูล
มากกว่าข้อมูลทั้งหมดในอินเตอร์เน็ตที่เราใช้กันอยู่ในปัจจุบันนี้ Cicconi ยังบอกอีกว่า จะต้องมีการลงทุนอย่างน้อย 55 พันล้านเหรียญสหรัฐ เพื่อที่จะสร้างโครงสร้างพื้นฐานใหม่ให้เสร็จภายใน 3 ปี ซึ่งนี่นับที่อเมริกาเพียงประเทศเดียวเท่านั้น แต่ถ้าคิดทั้งโลกจะต้องลงทุนถึง 130 พันล้านเหรียญสหรัฐ Cicconi ยังทำนายว่ากระแสความคับคั่งของการจราจรแบบบรอดแบรนด์ซึ่งไม่เคยเกิดขึ้นมาก่อน จะเพิ่มมากขึ้นถึง 50 เท่าในปีพ.ศ. 2558 และได้เสริมว่า AT&T จะลงทุน 19 พันล้านเหรียญสหรัฐเพื่อบำรุงรักษาเครือข่ายและอัปเกรดแกนของเครือข่ายของ AT & T Cicconi ได้เสริมอีกว่า ความต้องการวีดีโอแบบควาละเอียดสูง (High Definition Video) จะทำให้เกิดผลกระทบกับโครงสร้างพื้นฐานของอินเตอร์เน็ตมากขึ้น เขาตั้งขอสังเกตุว่าตอนนี้เราโหลดวีดีโอที่มีความยาว 8 ชั่วโมงขึ้นสู่ YouTube ทุก ๆ นาที ลองคิดดูว่าวีดีโอความละเอียดสูง
นี้จะใช้แบนด์วิธเป็น 10 เท่าของวีดีโอธรรมดา โดยในปี 2010 ปริมาณข้อมูลที่อยู่ในอินเตอร์เน็ตจะเป็นวีดีโอประมาณร้อยละ 80 เพิ่มขึ้นจากตอนนี้ที่อยู่ที่ร้อยละ 30 รายละเอียดเพิ่มเติมดูได้ที่
http://www.zdnet.com.au/news/communications/soa/Internet-gridlock-to-occur-in-just-two-years-AT-T/0,130061791,339288291,00.htm

วันเสาร์ที่ 19 เมษายน พ.ศ. 2551

ยินดีต้อนรับ

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