โฆษณาว่าจุ 64 GB ก็ต้องใช้ได้จริง 64 GB สิ

Surface Pro รุ่น “64 GB” จะมีพื้นที่ให้ใช้งานเก็บข้อมูลและลงโปรแกรมเพิ่มได้จริงๆ เพียง 23 GB หรือแค่ 35% จากที่โฆษณา (อีก 41 GB เป็น Windows 8 และโปรแกรมอื่นๆ ที่ลงมาจากโรงงานซึ่งอาจจะเอาออกไม่ได้ หรือถ้าเอาออกจะทำให้ความสามารถตามที่โฆษณาหายไป)

Marco Arment คนทำโปรแกรม Instapaper เขียนในบล็อก “64 GB Surface Pro will only have 23 GB free”:

“ทุกคนควรจะเล่นด้วยกฎเดียวกัน นี่คือข้อเสนอ: ความจุหน่วยเก็บความจำ ที่ถูกอ้างถึงหรือส่อความถึง ในชื่อหรือในโฆษณา ของคอมพิวเตอร์ส่วนบุคคล แท็บเล็ต และสมาร์ตโฟน จะต้องไม่เกินกว่าจำนวนพื้นที่ที่ผู้ใช้สามารถติดตั้งโปรแกรมภายนอก (third-party) และเก็บข้อมูลได้ หลังจากซอฟต์แวร์จำนวนเท่าที่จำเป็นได้ถูกติดตั้งเพื่อให้ความสามารถทุกอย่างตามที่โฆษณาสามารถใช้งานได้แล้ว”

“ด้วยระบบปฏิบัติการในวันนี้ iPad รุ่นต่างๆ จะโฆษณาความจุได้ไม่เกิน 12, 28, 60 และ 124 GB และ Surface Pro อาจตั้งชื่อได้ว่า 23 และ 83 GB”

Thom Holwerda บรรณาธิการ OSNews บอกว่าเห็นด้วยเป็นที่สุด และยกตัวอย่างว่า:

“ถ้าผมซื้อลวดเย็บกระดาษหนึ่งกล่องที่เขียนว่า 100 ชิ้น ผมคาดหวังว่ามันจะมีลวดอยู่ประมาณ 100 ชิ้น – ไม่ใช่ 50 เพราะอีก 50 นั้นถูกเอาไปเย็บกล่องนั้นอยู่”

การแฮ็กคือการเรียนรู้แห่งอนาคต Raspberry Pi: Hacking is a 21st century literacy

บีบีซีไม่ได้วางตัวเองเป็นแค่สถานีข่าว แต่เป็นองค์กรเพื่อการเรียนรู้ของสาธารณะ

ยุค 80s บีบีซีมองเห็นว่าคอมพิวเตอร์จะเป็นสื่อใหม่สำหรับการเรียนรู้ ก็เลยเกิดโครงการ BBC Computer Literacy Project แล้วก็ดันให้เกิดคอมพิวเตอร์ BBC Micro ที่กลายเป็นคอมพิวเตอร์มาตรฐานในโรงเรียนทั่วประเทศ (มีภาษา BBC BASIC ด้วย) ความสำเร็จของ BBC Micro เป็นประวัติศาสตร์หน้าหนึ่งที่มีส่วนให้สถาปัตยกรรม ARM แบบที่เราใช้กันอยู่ในอุปกรณ์พกพาทุกวันนี้ ถูกพัฒนามาอย่างต่อเนื่อง

แฟนๆ ของ BBC Micro นั้นมีมากมาย ถึงขนาดมีความพยายามจะจำลองเครื่องนี้ขึ้นมาใหม่ เพื่อหวนถึงอดีต (พร้อมๆ กับเป็นโปรเจกต์เพื่อลับฝีมือ)

BBC Micro

คนในวงการการศึกษาคอมพิวเตอร์ในสหราชอาณาจักร ในยุคปัจจุบัน ให้เครดิต BBC Micro (และโดยทั่วไปก็คือคอมพิวเตอร์ในยุคสมัยนั้น อย่าง Amiga และ Commodore 64) อย่างมาก ว่าทำให้พวกเขามีความสนใจในวิทยาการคอมพิวเตอร์ สิ่งที่พวกเขาคิดว่าคอมพิวเตอร์ในยุคนั้นมี และคอมพิวเตอร์ในยุคนี้กำลังจะไม่มีมากขึ้นเรื่อยๆ ก็คือ การเปิดโอกาสให้ผู้ใช้ คุ้ยแคะ แกะเกา ดัดแปลงคอมพิวเตอร์ให้ทำงานอย่างที่ใจอยากได้ หรือที่เรียกสั้นๆ ว่าการ “แฮ็ก” นั่นแหละ

Raspberry Pi เป็นความพยายามจะนำสปิริตอะไรแบบนั้นกลับมาอีกครั้ง โครงการนี้ได้รับการสนับสนุนและเสียงตอบรับที่ดีมากจากวงการคอมพิวเตอร์สหราชอาณาจักร รวมไปถึงนักคอมพิวเตอร์ทั่วโลก

Raspberry Pi เป็นคอมพิวเตอร์ขนาดเล็ก กว้างxยาวประมาณเครดิตการ์ด หน้าตามันเหมือนแผงวงจรลุ่นๆ มากกว่าจะเป็นคอมพิวเตอร์สำเร็จ และห่างไกลจากความสวยเนี๊ยบอย่างไอแพด แต่ผู้สร้างก็ตั้งใจจะให้มันเป็นแบบนี้ มันคือจิตวิญญาณแห่งความอยากรู้อยากเห็นจากทศวรรษ 1980 ที่ถูกผลักไปข้างหน้าเพื่อศตวรรษที่ 21 ไม่เพียงแต่ซอฟต์แวร์ที่บรรดาเด็กๆ นักเรียนจะแฮ็กได้ง่ายๆ แต่รวมไปถึงฮาร์ดแวร์ด้วย “hacking” คือ literacy ของโลกอนาคต เพราะ hacking หมายถึงการที่เราสามารถควบคุมเทคโนโลยีได้ด้วยมือเราเอง ไม่ต้องงอนง้อรอเป็นปีๆ ขอจากผู้ผลิตให้เมตตาเพิ่มฟีเจอร์นั่นนี่ให้เรา (มีชุมชน RaspberryPiThai ในไทยแล้ว [มีของขายด้วย])

คนที่สนใจติดตามเรื่องราวจากทีมวิจัยและพัฒนาเทคโนโลยีสื่อใหม่สำหรับอนาคตของบีบีซี ไปอ่านได้ที่ BBC R&D

เรื่องเกี่ยวกับ “hobby computing” — From BBC Micro to Raspberry Pi: Geeks gather at ARM to celebrate British computing achievements

ผมเคยเขียนบทความเกี่ยวกับการแฮ็กและเสรีภาพเอาไว้ใน October เล่ม 11 (ฉบับ Sex) สนใจตามอ่านได้ครับ

พฤหัด 1 + พบค่ำ 4: สร้างวัตถุดิบเพื่อสังคมความคิด [19 พ.ค. 2555]

สไลด์งานพฤหัด ThursDIY เมื่อวันพฤหัส
รอบนี้หัดทำแผนที่ OpenStreetMap โดย @kenggggg โอเพ่นดรีม พี่เทพก็มาด้วย

ตามลิงก์นี้เลย http://opd.me/osmpresentation

ผมเองสำรวจแค่แถวลิโด เดินนิดเดียว เหนื่อย คนอื่น ๆ เขาไปทั่วสยามเลย ได้จุดโน่นนี่มาใส่แผนที่เต็มเลย ใช้ Walking Papers ช่วย สะดวกดี ฝรั่งในกรุ๊ป Thai OpenStreetMap แนะนำมา

—-

โน๊ตงานโรงเรียนพ(ล)บค่ำ ครั้งที่ 4 เมื่อค่ำวาน @nuling สมบัติ บุญงามอนงค์ มาบรรยายและแลกเปลี่ยนในหัวข้อ “โลกคู่ขนาน Online-Offline กับอัตราเริ่งดิจิทัล พายุ Social Network”

แน่นอนว่าโน๊ตนี้มันผ่านการบันทึก/ความเข้าใจของผม ส่วนไหนที่ผมเพิ่มเติมเข้าไปชัดๆ ที่หนูหริ่งไม่ได้พูดเลย จะอยู่ใน […] แล้วก็มันไม่ได้ตามลำดับเวลานะครับ ผมนึกอะไรได้ก็ใส่ ๆ ไป บรรทัดต้น ๆ นี่โน๊ตระหว่างฟัง หลัง ๆ นี่เอาจากที่จำได้ละ เอาไว้รอดูวิดีโอเต็ม ๆ จาก YouTube ของ @ReadingRoomBKK ได้

  • การปฏิวัติดิจิทัล คลื่นนี้ได้ไล่ตีไล่พังสิ่งต่างๆ ไปเรื่อยๆ
  • หนูหริ่งพูดถึงการเรียงพิมพ์ ทำปรินต์คอมพิวต์สมัยก่อน โปรแกรม PageMaker (สมัยก่อนทำหนังสือให้เอ็นจีโอ)
  • ไม่เคยรู้ว่ามัน copy & paste Ctrl-C Ctrl-V ได้ การก๊อปปี้เป็นพลังของดิจิทัล [/me Kopimism!!]
  • เศร้าในเน็ตแบบขำๆ เรื่องโทรเลขหายไป สิ่งต่างๆ เริ่มหายไป
  • แต่เราเศร้าแบบหวนรำลึก เราไม่ได้ใช้มันจริงๆ หรอก เหมือนเครื่องพิมพ์ดีดเก่าๆ มาตั้งเก๋ๆ เป็นเครื่องประดับ
  • บิล เกตส์ บอกว่า อินเทอร์เน็ตวิ่งด้วยความเร็วหมา (1 ปีหมา = 7 ปีคน)
  • อัตราเร่งมันทบขึ้นไปเรื่อยๆ BlackBerry สองปีหายไปแล้ว
  • เครื่องบินถ้าเร่งไม่ถึงจุดหนึ่งมันบินไม่ได้ เป็นจุดเปลี่ยน
  • อาหรับสปริง ข้างนอกก็พร้อมแล้ว สภาพมันแห้งมาก พอข้างในอินเทอร์เน็ตร้อนได้ที่ จุดไฟ ข้างนอกก็ติดทันที สภาวะมันพร้อม ไม่มีแกนนำ
  • ประวัติศาสตร์ประชาชนไม่ถูกบันทึก (เดี๋ยวอันนี้จะโยงไปเรื่อง Wikipedia ที่คุยตอนหลัง)
  • ต้นทุนที่ต่ำลง ทำให้การผลิตแบบเดิมล่มสลาย
  • แต่มันไม่ได้ ล้มของเก่า แล้วเอาของใหม่ขึ้น มันเหมือนต้นไทร
  • มีต้นไม้เก่าอยู่ นกบินผ่าน ขี้เมล็ดไทรใส่ ต้นไทรค่อยๆ ขึ้น ค่อยๆ ครอบต้นเก่า
  • โครงสร้างเศรษฐกิจสังคมเดิมถูกสิ่งใหม่ค่อยๆ โอบ จนกลืนของเก่าหายไป
  • พูดถึงคนทำธุรกิจ web hosting สมัยก่อน คุยแล้วเขาบอกว่าไม่ได้ทำเพื่อทำกำไรวันนี้ แต่เพื่อวางที่ทางของตัวเองในอนาคตข้างหน้า
  • คนที่มีวิสัยทัศน์ จะเริ่มทำสิ่งที่เขาเห็นว่าอนาคตจะเกิด จะสะสมทุนทางสังคมตั้งแต่ตอนนี้
  • โกดัก เจ๊งเพราะไม่ยอมเปลี่ยน
  • โกดักมีห้องวิจัยที่ทำกล้องดิจิทัลเป็นรายแรกๆ แต่ผู้บริหารตัดสินใจไม่สนับสนุน
  • โกดักยึดกับโมเดลธุรกิจเดิม ยึดกับคุณค่าของฟิลม์ที่ตอนนั้นคุณภาพยังเหนือกว่ามาก ไม่เห็นว่าดิจิทัลจะมาแทนได้
  • การส่งสคส.แต่ละปี บอกอะไรบางอย่างกับเรา มียุคส่งการ์ดออนไลน์ ส่ง SMS ล่าสุดส่ง Whatsapp มันบอกถึงเทคโนโลยีที่เปลี่ยนไป [เหมือนเป็นหมุดหมายของแต่ละปี]
  • โลกเราตอนนี้มีคนทุกสปีด คนไม่เข้าใจเรา เพราะมองโลกด้วยสปีดที่ต่างกับเรา
  • พูดถึงโฆษณาการรถไฟแห่งประเทศไทยตัวล่าสุด คนอีกสปีดหนึ่ง
  • ตอนหลังมาพูดถึงเรื่องการทำงานและการไม่ปรับตัวของเอ็นจีโอไทย
  • มีคนถามเรื่องเซ็นเซอร์ หนูหริ่งบอก รถก็ต้องมีเบรก เบรกเป็นไอเดียที่น่าจะขัดกับการเคลื่อนที่ไปข้างหน้าของรถ แต่รถก็ต้องมีเบรก การเซ็นเซอร์ก็อาจจะเป็นงั้น มันจำเป็นต้องมี ไม่ใช่เรื่องที่แยกจากกัน บางทีมันต้องไปด้วยกัน เหมือนกับการเปลี่ยนแปลงทางการเมืองตอนนี้ มีเฉพาะฝั่งใดฝั่งหนึ่งไม่ได้ ต้องมีทั้งสองฝั่ง มันเป็นของกันและกัน
  • ผู้เข้าร่วม (หมี) บอกว่า ไม่เห็นด้วย เขาเห็นว่า เบรกนี่เราเลือกได้ว่าจะเหยียบเมื่อไหร่ แต่เซ็นเซอร์นี่มันเหมือนสิ่งกีดขวางบนถนน เราเลือกไม่ได้ มันเต็มไปหมด
  • ผู้เข้าร่วม (ดิว) ถามเรื่องความเห็นออนไลน์ ที่ทุกคนแสดงความคิดเห็นได้เสรี แล้วจะไม่ยุ่งเหยิงเหรอ มันต้องมีการจัดระเบียบไหม – หนูหริ่งตอบว่า เสียใจด้วยที่จะต้องบอกว่า โลกข้างหน้ามันจะต้องยุ่งเหยิงแน่ แต่คนก็จะต้องปรับตัวเข้ากับมัน
  • [ถึงตรงนี้ผมจะบอกว่า สิ่งที่รัฐจำนวนหนึ่งใช้สำหรับจัดการความยุ่งเหยิงอาจจะเป็นการเซ็นเซอร์ แต่อีกสิ่งที่ใช้จัดการมันได้เหมือนกัน ก็คือ curator หรือ moderator ที่คอยคัดเลือก ตัด noise บางอย่างให้เราสะดวกขึ้น โดยที่เราเลือก curator เองได้ ตอนนี้องค์กรข่าวอย่าง New York Times หรือ The Guardian ก็มีตำแหน่ง curator คอยคัดเลือกข่าวจากความยุ่งเหยิงในโซเชียลมีเดีย – แต่สุดท้ายไม่ได้พูดนะ ประเด็นมันไหลไปเรื่องอื่นละ]
  • ผู้เข้าร่วม (แอม) ถามเรื่องการแคมเปญออนไลน์ว่ามันช่วยได้จริงหรือ หรือจะเป็นเพียง clicktivism [หรือ slacktivism] ที่คนก็แค่รู้สึกว่า ฉันได้ทำบางอย่างนะ แต่จริง ๆ ไม่มีอะไรเปลี่ยนแปลง หนูหริ่งตอบว่าจากประสบการณ์ มันมีคนมาทำอะไรออฟไลน์จริง ๆ
  • หนูหริ่งพูดเรื่องโครงการรับบริจาคเสื้อนักเรียนมือสอง ความร่วมมือกันทางออนไลน์ ตั้งแต่สมัยฟอร์เวิร์ดเมล โครงการบริจาคคอมพิวเตอร์ ซ่อมคอมให้ใช้ได้ ปีนึงให้โรงเรียน 3,000 เครื่อง
  • โครงการบริจาคหนังสือของมูลนิธิกระจกเงา ปีนึงเกือบแสนเล่ม คัดแยกหนังสือ อันไหนใช้ไม่ได้เอาไปขายเป็นกระดาษ อันไหนใช้ได้เอาใส่เว็บ ทำเหมือน Amazon ให้โรงเรียนมาเลือกหนังสือที่อยากได้
  • ตอนนี้ติดปัญหาการคีย์ข้อมูลหนังสือเข้าระบบ ผู้ร่วมงาน (จุ๋ม) เสนอให้ใช้โปรแกรมอ่านบาร์โค้ด
  • ผมถามเรื่อง ทำไมหนูหริ่งสนใจเรื่อง Wikipedia ตอบว่า จะผลิตอะไรมันต้องใช้วัตถุดิบ การจะผลิตของในยุคนี้ [ยุคเศรษฐกิจสร้างสรรค์ เศรษฐกิจฐานความรู้] มันต้องอาศัยข้อมูลความรู้ วิกิพีเดียก็เหมือนเป็นวัตถุดิบอย่างนึง ที่จะใช้ในการผลิตความคิด เราต้องหาทางผลักดันลงทุนกับเรื่องนี้ ต้องสร้างวัตถุดิบรอเอาไว้ จะหวังแค่การศึกษาในระบบ หรือการจัดงานสัมมนาเสวนาไม่ได้
  • [หนูหริ่งเคย Voxer มาถามว่า วิกิพีเดียภาษาไทยมีคนเขียนกี่คน แอดมินกี่คน มีกี่บทความแล้ว ซึ่งถ้าเทียบกับภาษาของประเทศเพื่อนบ้าน ในขนาดเศรษฐกิจใกล้เคียง อย่างภาษาบาฮาซา (เกือบสองแสนบทความ) และเวียดนาม (สี่แสนเศษ) ภาษาไทยมีขนาดเล็กกว่าอย่างชัดเจน (ราวๆ 74,000 บทความ)]
  • ในยุค search engine คนจะวิ่งหาที่เขาต้องการ เราแค่ทำมันรอไว้ ให้คนหาเจอ [พูดในบริบทการหาอาสาสมัครมาทำงานเพื่อสังคม แต่ผมว่าก็ใช้กับเรื่องวิกิพีเดียได้เหมือนกัน สร้างวัตถุดิบรอไว้]
  • ก่อนหน้านี้พูดถึงเรื่อง คนเราทำไมถึงต้องตาย [จากปาฐกถาในโอกาสเปิดตัวหนังสือ “เหมือนอยู่คนละโลก” เมื่อเดือนก่อน] คนเราตายเพราะโลกมีทรัพยากรจำกัด เราต้องให้โอกาสในการใช้ทรัพยากรกับคนอื่นที่เกิดใหม่ ตายเพราะมันมีปัญหาที่เราแก้ไม่ได้ ต้องให้โอกาสคนใหม่ ๆ เข้ามาแก้
  • เอ็นจีโอไทยมีปัญหา คนแก่ไม่ยอมตาย องค์กรก็ไปต่อไม่ได้ วิธีแก้แบบเก่า ใช้กับปัญหาแบบใหม่ไม่ได้แล้ว
  • หนูหริ่งบอกโชคดีที่ตอนมาเป็นเอ็นจีโอ ไม่มีสำนัก ไม่มีสาย สำนักคิดมันก็ดี ช่วยให้มีหลักในการทำงาน แต่ถึงวันนึงถ้ายังยึด มันจะตัน
  • จะใช้ของเก่าหรือใหม่ก็ได้ ขอให้มันทำงานได้ ไม่ใช่ใช้ของใหม่เพราะเห่อ
  • บอกว่าตอนทำงานศปพ. ตอนทำงานภัยพิบัติ เจอคนเยอะ ยังมีคนที่คิดว่าขอให้มีเทคโนโลยีดี ทุกอย่างก็จบ แก้ไขทุกอย่างได้ เวลาพรีเซนต์ก็จะโชว์เทคนิคตื่นตา คนจะตื่นเต้น
  • หนูหริ่งบอก ผมเบื่อพูดเรื่องการเมือง ผมเป็นอะไรมากมาย แต่พอมีเรื่องการเมือง คนลดผมให้เหลือแค่มิติทางการเมือง ศศินก็เหมือนกัน เขาบอกว่าเขาทำงานเรื่องป่า แต่คนจำเขาแค่เรื่องน้ำ เขาไม่ใช่ผู้เชี่ยวชาญเรื่องน้ำ ตอนนั้นออกมาพูดเพราะมันรู้สึกว่าต้องพูดเป็นเรื่องบ้านของเขา แต่คนก็ลดมิติหรือติดป้ายให้ศศิน ว่าศศิน=เชี่ยวชาญน้ำท่วม

อีกส่วนหนึ่งจากโรงเรียนพบค่ำ @isAmAre ทวีตเอาไว้ที่ @thainetizen กดดูได้ตามลิงก์ครับ https://twitter.com/thainetizen

โรงเรียนพบค่ำนี่ มีทุกวันศุกร์ที่ 3 ของเดือน (เดือนหน้าก็ ศุกร์ 15 มิถุนา) เริ่มทุ่มครึ่ง จัดที่ The Reading Room เป็นห้องสมุดศิลปะ ที่ สีลม ซอย 19 (อยู่ชั้น 4 มองหาบันไดเล็ก ๆ หลังร้าน Milk Plus) จัดโดย The Reading Room ร่วมกับเครือข่ายพลเมืองเน็ต (มีมูลนิธิไฮน์ริค เบิลล์ สนับสนุน)

ปีนี้ธีมของโรงเรียนคือ “วัฒนธรรมเคลื่อนไหว – Moving Culture” ก็จะเกี่ยวกะเรื่อง mobile technology, mobility, mobilization, mobs, social movement ทั้งในทางเทคโนโลยี สื่อ ศิลปะ การเคลื่อนไหวทางสังคม

—-

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

—-

วันนี้ 19 พฤษภาคม 2555 ครบรอบ 2 ปีการสลายการชุมนุมที่ราชประสงค์ครับ #ที่นี่มีคนตาย

burn a bootable (live) USB drive on Mac OS X

เบิร์นแผ่นติดตั้งอูบุนตูลงไดรฟ์ยูเอสบี ให้บูตจากยูเอสบีได้ ด้วยแมค

ผมไม่ประสบความสำเร็จในการใช้ Disk Utility (GUI) ของ Mac OS X ในการ burn bootable USB สำหรับติดตั้ง Ubuntu (เท่าที่ค้นดูในเน็ต ก็ไม่ค่อยมีใครประสบความสำเร็จ ไม่รู้ทำไม)

ถ้าอยู่บน Windows หรือ Linux จะมีโปรแกรมสุดง่าย ชื่อ UNetbootin ให้ใช้ .. แต่บน Mac มันไม่มี

เลยใช้ diskutil + dd ทางคอมมานด์ไลน์ละกัน
วิธีทั้งหมดดูได้จาก 4 ways to create bootable Live USB (Windows, Linux, Mac OS X)

  1. เตรียมแฟ้มอิมเมจมาก่อน .iso หรือ .img
  2. ที่ Terminal สั่ง
    diskutil list
    ดูว่าไดร์ฟยูเอสบีเรา mount เชื่อมอยู่ตรงไหน (เช่น /dev/disk1) – อาจจะดูจากชื่อหรือขนาด – ถ้าไม่ชัวร์ ก็ถอดยูเอสบีออกมาก่อน แล้ว diskutil list ดูทีนึง แล้วเสียบ USB เข้าไป แล้ว diskutil list ดูอีกที ดูว่ามันมีอะไรเพิ่มมา
  3. diskutil unmountDisk /dev/diskN
    (N ตัวสุดท้ายนี่ แล้วแต่ว่าไดร์ฟเราอยู่ที่ไหน)
  4. sudo dd if=/path/to/image.iso of=/dev/diskN bs=1m
    (if= คือแฟ้มอิมเมจ of= คือไดร์ฟยูเอสบี)
  5. diskutil eject /dev/diskN
    แล้วก็ถอดไดร์ฟยูเอสบีออกได้ – เสร็จ

Chromium OS (Chrome OS) มาแล้น มีซอร์สด้วย

Chromium OS มาแล้น @kengggg กำลังหาทางยัดฟอนต์ไทยใส่ลงไปอยู่ ใครมีฟอนต์อะไรน่าใช้ + สัญญาอนุญาตประมาณ BSD หรือโอเพนซอร์สอื่น ๆ ลองบอกเขาดูครับ

ดูหน้าตาแล้ว ก็น่าจะเหมาะกะเน็ตบุ๊กดีนะ

ถ้าจะ build เอง ไปเอาซอร์สที่ chromium.org ต้องมี Linux ถึงจะ build ได้

ถ้าขี้เกียจ ไปเอา vm image ได้ที่ gdgt.com (ต้องลงทะเบียน-ฟรี ใช้ Facebook Connect ได้) ได้ image มาแล้ว รันกะ VMWare หรือ VirtualBox (ตัวหลังนี้ฟรี-โอเพนซอร์ส)

โหลดมาเสร็จ ก็ติดตั้ง ใครไม่ถนัด VirtualBox TechCrunch โชว์วิธีติดตั้ง แบบทีละขั้น

ไปดู @markpeak รีวิว ที่ blognone

technorati tags: , ,

[30 Oct] Richard Stallman to give a keynote at FLossEd Bangkok

ฝากบอกต่อครับ

ริชาร์ด สตอลล์แมน ผู้ริเริ่มแนวคิด copyleft และ ซอฟต์แวร์เสรี จะปาฐกถาเปิดงานซอฟต์แวร์เสรีเพื่อการศึกษา FLossEd BK ศุกร์ 30 ตุลานี้ 19:30น. ที่โรงเรียนนานาชาติ เค.ไอ.เอส. ห้วยขวาง [แผนที่]

Richard M. Stallman, of copyleft and Free Software Foundation, will give a keynote speech at FLossEd BK conference, at KIS International School, Bangkok. 19:30. Friday, October 30, 2009. [map]

http://flossedbk.flossed.org

technorati tags: , , ,

ช่วงช่วง หลินฮุ่ย เคอิโงะ เสื้อแดง เอ็นจีวี นักศึกษา แพนด้า SEO OCR

OCRopus โอเพ่นซอร์สทูลคิตสำหรับงาน OCR รุ่น 0.4 ออกแล้วครับ น่าจะคอมไพล์อะไรต่าง ๆ ได้ง่ายขึ้นบนแพลตฟอร์มที่ไม่ใช่ GNU/Linux ครับ

ดาวน์โหลดได้ทันทีที่เว็บไซต์ OCRopus (โอเพ่นซอร์ส Apache License 2.0)

ที่หน้าเว็บ Course: OCRopus สอนการใช้งานและปรับแต่ง OCRopus มีวิธีเขียน Lua และ C++ เพื่อเรียกใช้ OCRopus ด้วย

แม้ OCRopus จะรองรับการเพิ่มเติมภาษาใหม่ ๆ เข้าไปได้ แต่ก็ต้องลงแรงหน่อย ตอนนี้ยังใช้ไทยไม่ได้โดยทันที

สำหรับคนที่มองหาตัวที่อ่านภาษาไทยได้ และไม่แพงนัก ลองหา ArnThai (อ่านไทย) มาทดสอบดู มีทั้งบนวินโดวส์และลีนุกซ์ (รุ่นบนลีนุกซ์เก่ากว่าหน่อย) ติดต่อเนคเทคได้ ถ้าสนใจนำไปใช้ ที่เคยถาม สามารถตกลงสัญญาอนุญาตได้หลายแบบ

สำหรับตัวที่มีประสิทธิภาพดีกว่านั้นและมีความสามารถเพิ่มเติมอื่น ๆ ที่อ่านไทยได้ คือ ABBYY FindReader อ่าน PDF ได้ ใช้ได้หลายภาษา (ทายอัตโนมัติ) คง document logical structure, formatting, style, ฟอนต์, และตาราง อู้ฟู่หรูหรามาก (ขอบคุณ @sarasinb และ @thai101 สำหรับข้อมูล)

รีวิวซอฟต์แวร์ OCR ต่าง ๆ บนลีนุกซ์ : โดย groundstate, โดย Peter Selinger. บทความ optical cahracter recogntion ที่วิกิพีเดียภาษาอังกฤษ มีลิงก์ไปหาซอฟต์แวร์ต่าง ๆ ด้านล่างสุด.

technorati tags: , , , ,

change JRE/JDK default version in Mac OS X to Java SE 6 (1.6)

(Update 2009.05.16: add JAVA_JVM_VERSION setting)

To build Nutch 1.0, you need JDK 1.6. Unless you’ll got [javac] class file has wrong version 50.0, should be 49.0 error message.

For a system that has more than one version of JDK installed.
It is possible to change to a desired version only at the time you need it (look for j16 script in this thread). I found myself more convenient with just changed the default version.

เปลี่ยนรุ่นปริยายของ Java Runtime และ JDK ใน Mac OS X ให้เป็น Java SE 6 (1.6)

  1. Install Java SE 6 first. ก่อนอื่น ถ้ายังไม่มี Java SE 6 ในเครื่อง ก็ให้ติดตั้งก่อน.
    โดย Java SE 6 จะอยู่ใน Java for Mac OS X 10.5 Update 2, ดาวน์โหลดได้ที่เว็บไซต์ developer.apple.com/java.
    หรือจะปรับรุ่นผ่าน Software Update ก็ได้.
  2. Run Java Preferences app to set the default version. หลังจากติดตั้งเรียบร้อยแล้ว ก็เรียกโปรแกรม Java Preferences ขึ้นมา (อยู่ใน /Applications/Utilities/Java/ หรือพิมพ์ชื่อลง spotlight เลยก็ได้) เพื่อเลือกว่าจะใช้รุ่นไหนก่อนหลัง. ใช้วิธี ลาก วาง. เสร็จแล้วก็ออกจากโปรแกรม.
  3. Point CurrentJDK dynamic link to 1.6. ไปตั้ง dynamic link ของไดเรกทอรี CurrentJDK ให้ชี้ไปหารุ่นที่ต้องการด้วย. เช่น ถ้าอยากให้ 1.6 เป็นรุ่นปริยาย ก็ทำแบบนี้ :
    cd /System/Library/Frameworks/JavaVM.framework/Versions
    sudo rm CurrentJDK
    sudo ln -s 1.6 CurrentJDK
  4. Set JAVA_JVM_VERSION environment variable. ใน ~/.profile ตั้งค่าตัวแปรสภาพแวดล้อม JAVA_JVM_VERSION เป็นรุ่นที่ต้องการ โดยเพิ่มบรรทัดนี้เข้าไป :
    export JAVA_JVM_VERSION=1.6
  5. [optional ไม่ทำก็ได้] Set JAVA_HOME environment variable. ใน ~/.profile อาจจะตั้งค่าตัวแปรสภาพแวดล้อม JAVA_HOME ไว้ด้วย เพิ่มบรรทัดนี้เข้าไป :
    export JAVA_HOME=/Library/Java/Home
  6. [optional แล้วแต่] Set Applet Preferences. ถ้าอยากแก้อะไรกุ๊ก ๆ กิ๊ก ๆ เกี่ยวกับการรันแอปเพล็ต ก็เข้าไปแก้ได้ที่แฟ้ม ~/Library/Caches/Java/deployment.properties. ดูวิธีที่ Java for Mac OS X 10.5 Update 2: Setting Java Applet preferences. เช่น อาจแก้ให้ใช้ font-smoothing/anti-alias กับทุกแอปเพล็ตเลย ก็เพิ่มบรรทัดนี้เข้าไป :
    javaplugin.smoothText=true

เสร็จแว้ว

แถม : สำหรับคนที่ใช้ MacPorts, Porticus เป็น GUI ที่สะดวกดี. (ประมาณ apt กับ Synaptic Package Manager, แต่ Porticus โง่กว่านิดนึง)

technorati tags: 

NLTK corpus readers for NECTEC BEST and ORCHID corpora

ความเดิมจากตอนที่แล้ว ทดลองสร้าง corpus reader ใน NLTK

ตอนนี้แก้การ encode ให้ใช้ได้กับ nltk.Text() แล้ว (แทนที่จะเก็บเป็น unicode ก็เก็บเป็น utf-8 encoded str แทน)

พร้อมกับเพิ่มตัวอ่านสำหรับคลังข้อความ BEST และ ORCHID ด้วย

ตัวอ่านคลัง BEST ในรุ่น 0.3 นี้ เรียกดูเป็นหมวดได้ (ข่าว วรรณกรรม สารานุกรม บทความ) เรียกดูข้อมูลกำกับขอบเขตคำ (word boundaries) ได้ แต่ยังไม่รองรับ <NE>named-entities</NE> กับ <AB>คำย่อ</AB> เนื่องจาก BEST ไม่มีข้อมูลขอบเขตประโยค ตัวอ่านคลังจะสร้างขึ้นเอง โดยสมมติ \n เป็นขอบเขตประโยค

ส่วนตัวอ่านคลัง ORCHID ในรุ่น 0.3 นี้ เรียกดูข้อมูลกำกับขอบเขตคำและชนิดคำ (Part-of-Speech) ได้ แต่ยังไม่รองรับขอบเขตย่อหน้า และยังเรียกดูเป็นรายเอกสารไม่ได้ (รุ่นนี้ทำงานกับคลัง ORCHID แบบที่ถูกเอา document-related metadata ออกไป)

ดาวน์โหลด & ติดตั้ง

แพ็คเกจ rotic รุ่น 0.3 ซอร์สโค้ดเผยแพร่ด้วยสัญญาอนุญาต GNU GPLv2 ตาม NLTK – ดาวน์โหลด rotic-0.3.tar.gz

วิธีติดตั้ง อ่าน README.TXT และ INSTALL.TXT – อย่าลืมดาวน์โหลดคลังข้อความมาติดตั้งด้วย รายละเอียดและสัญญาอนุญาตของข้อมูลแต่ละชุด อยู่ใน CORPORA.TXT

มีคำแนะนำอะไร เขียนมาบอกกันได้ครับ อยากจะลองทำให้มันเอาไปใช้ในการเรียนการสอนได้ – ไม่เฉพาะสำหรับนักเรียนคอมพิวเตอร์เท่านั้น แต่สำหรับนักเรียนภาษาศาสตร์ ฯลฯ ด้วย

ตอนนี้ความเร็วไม่ค่อยดีเท่าไหร่ โดยเฉพาะการโหลดตัว ORCHID ซึ่งใหญ่มาก ส่วนหนึ่งเป็นเพราะโค้ดยังซ้ำซ้อนอยู่หลายจุด เช่นตรงการแปลง utf-8 ที่น่าจะทำได้ตั้งแต่ระดับแรก ๆ ที่อ่านเข้ามาเลย ไม่ใช่มาแปลงเอาตอนหลัง-ต้องวนลูปอีกหนึ่งครั้งแบบขณะนี้ โค้ดยัง refactor ได้อีกเยอะ ใครคล่อง Python ก็ช่วยดูหน่อยนะครับ ผมแค่พอเขียนไถ ๆ ได้ ขอบคุณครับ 🙂

ตัวอย่างจาก example.py

1. พิมพ์ข้อความมั่ว ๆ ขึ้นมาจากตัวแบบ n-gram ที่สร้างจากคำในคลัง foosci :


foosci_text = nltk.Text(foosci.words())
foosci_text.generate()

ผลลัพธ์ :

… ซึ่ง ทฤษฎี สรุป ความรู้ ของ เรา เอา ไส้เดือน ไป ปล่อย ใน พื้นที่ ๆ มี ความ สงสัย ระหว่าง ความ เชื่อ เรื่อง มิติ ใหม่ นี้ …

2. พิมพ์ คำ/ชนิดคำ จาก 5 ประโยค แรกของคลัง ORCHID
โปรดสังเกตว่า เราใช้ชุดชนิดคำ (POS/tagset) แบบง่าย สามารถสลับชุดชนิดคำได้โดยสลับค่า simplify_tags :


for sent in orchid.tagged_sents(simplify_tags=True)[0:5]:
    print "[",
    for (word, tag) in sent:
        print word + "/" + tag,
    print "]"

ผลลัพธ์ :

[ การ/FIX ประชุม/V ทาง/N วิชาการ/N /PUNC ครั้ง/C ที่_1/DETN ]
[ โครงการวิจัยและพัฒนา/N อิเล็กทรอนิกส์/N และ/CONJ คอมพิวเตอร์/N ]
[ ปีงบประมาณ/N /PUNC 2531/N ]
[ เล่ม/C /PUNC 1/DETN ]
[ ศูนย์เทคโนโลยีอิเล็กทรอนิกส์และคอมพิวเตอร์แห่งชาติ/N ]

3. หาค่าการกระจายของสองคำ การ และ ความ ใน 4 หมวดของคลัง BEST
โปรดสังเกตว่า ตรงคำที่เราจะป้อนเข้าไปให้ฟังก์ชั่นต่าง ๆ ของ NLTK เราจะแปลงมันเป็น utf-8 encoded str ก่อน :


cfd = nltk.ConditionalFreqDist(
        (genre, word)
        for genre in best.categories()
        for word in best.words(categories=genre))

genres = ['news', 'encyclopedia', 'novel', 'article']
prefixs = [w.encode("utf-8") for w in [u'การ', u'ความ']]
cfd.tabulate(conditions=genres, samples=prefixs)

ผลลัพธ์ :

             การ ความ
        news 29567 11186
encyclopedia 25477 8541
       novel 4258 9097
     article 33200 16651

เล่นต่อเอง จากตัวอย่างในหนังสือ NLTK

เดี๋ยวอาจจะให้น้องฝึกงานที่โอเพ่นดรีมเอาไปทำต่อ เช่นทำให้มันใช้ AB, NE หรือขอบเขตประโยค/ย่อหน้าได้ .. เห็นนั่งเล่นเกมมาหลายวันละ :p

technorati tags:,,,

encode("UTF-8", "ignore") ข้าม ๆ เรื่องที่ทำไม่ได้ใน Python

หลังจากเอา python-libthai ของวีร์มาใช้กับข้อมูลที่ได้มาจากเว็บ ก็พบปัญหาเรื่อง character encoding นิดหน่อย

libthai นั้นปัจจุบันทำงานกับข้อมูลที่เป็นภาษาไทย 8 บิตอยู่ (น่าจะเป็น TIS-620) ตัว python-libthai เลยมีขั้นตอนการแปลงจากยูนิโค้ดไปเป็น 8 บิตก่อน
ทีนี้ ปรากฏว่า encoder “CP874”, “TIS_620” และ “ISO8859_11” ของ Python มันดันแปลงตัวอักษรบางตัวไม่ได้ (เนื่องจากใน charset พวกนั้น มันไม่มีตัวอักษรดังกล่าว) โปรแกรมก็เลยจะตาย ถ้าไปเจออักษรพวกนั้น

ก่อนตายมันจะโวยทำนองว่า :

UnicodeEncodeError: 'charmap' codec can't encode character
u'\u200b' in position 3560: character maps to <undefined>

วิธีแก้แบบถึก ๆ คือ เอาหูไปนาเอาตาไปไร่ซะ ignore มัน ด้วยการไปแก้ แฟ้มชื่อ libthai.c ของ python-libthai (แฟ้มนี้เป็น wrapper ที่ไปเรียก libthai ให้)

หาบรรทัดที่เรียกฟังก์ชั่น PyUnicode_Encode/Decode แล้วแก้พารามิเตอร์ตัวที่สี่เป็น “ignore” ซะ

เช่น จาก


PyObject *txt_cp874 =
    PyUnicode_Encode(s1, s1_len, "CP874", NULL);
tok =
    PyUnicode_Decode(buffer, tok_len, "CP874", NULL);

เป็น


PyObject *txt_cp874 =
    PyUnicode_Encode(s1, s1_len, "CP874", "ignore");
tok =
    PyUnicode_Decode(buffer, tok_len, "CP874", "ignore");

แล้ว sudo python setup.py install ใหม่อีกรอบ (อย่าลืมล้าง build เก่าทิ้งก่อน) ก็น่าจะใช้ได้แล้วครับ

ลิงก์ : Python Unicode How-to

technorati tags: