ย้ายบล็อกไปที่ bact.cc แล้วนะครับ

พ.ร.บ.คอมพิวเตอร์
หยุด ร่างพ.ร.บ.คอมพิวเตอร์
พื้นที่เก็บข้อมูลออนไลน์ ฟรี 2GB จาก Dropbox (sync กับ Windows, Linux, Mac, iPhone, Android ฯลฯ ได้)

2009-12-28

hey, you!

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

-- FxxkNoEvil, 27 ธ.ค. 2552

technorati tags: , ,

The Future of News

ปีที่ผ่านมา เป็นปีที่ อะไร ๆ ก็ The Future of ... (อนาคตของ...)

ไหน ๆ ก็ไหน ๆ แล้ว มาลองดู อนาคตของข่าว กันมั่ง

The News, in the future.

Definition: Everything but News.

Preferred Mediums: Brain implanted RFID chips that were manufactured in our new capital city: Beijing!

Headlines: Why we love big brother, how to avoid thought crimes, and the best ways to vacate the stink hole known as Earth.

Most Reliable Outlets: Animal Planet and clandestine riddles given from a matrix-like oracle.

Voice of the Generation: HAL 9000 (2001: A Space Odyssey), O'Brien (1984), or Ted Williams' cryogenically frozen head (Boston Red Sox).

Core Tenets: Submission and obedience to the New Word Order!

เอามาจาก The Evolution of the News โดย MADATOMS. via @thanr

technorati tags: , ,

2009-12-23

Writerly Web: Writing as an Open Web Interface #drumbeat #openweb

เมื่อสองอาทิตย์ที่แล้ว เป็นทีม Opendream ไปเสนอไอเดียสั้น ๆ 5 นาที (ซึ่งทำได้ไม่ทันเวลา) ที่งาน Mozilla Drumbeat @ Neoteny Camp

(โพสต์ครั้งแรกที่ Opendream blog / twitter list @opendream/ers เปิดแล้ว)

technorati tags: , , , ,

2009-12-21

"@suthichai did the World's first gathering of tweeple", reported National Channel #amessinthailand

ประเทศไทยยิ่งใหญ่กว่าชาติใดในโลกจริง ๆ ครับ

สุทธิชัย รวมพลคนทวิตครั้งแรกในโลก

(คือฉันจะให้เป็นครั้งแรกน่ะ มีอะไรไหม ประวัติศาสตร์แบบไทย ๆ รู้จักรึเปล่า)

ต้องสำนึกพระคุณของท่านสุทธิชัยวรมันเสียหน่อย พระปรีชาของท่านในการรวมชาวทวิตเตอร์ไทยให้เป็นปึกแผ่น

เอ้า กราบบบบบ....บ

technorati tags: , ,

2009-12-20

We're sick of Ministry of Culture in Thailand

We're sick of Ministry of Culture in Thailand
a Facebook fan page of people who are sick of Thailand's Ministry of Love.

from George Orwell's Nineteen Eighty-Four:

The Ministry of Love (or Miniluv in Newspeak) enforces loyalty and love of Big Brother through fear, a repressive apparatus, and brainwashing.

technorati tags: , ,

2009-12-08

[12-13 Dec] Neoteny Singapore Camp 1, will join

together with @kengggg, we #Opendream will join Mozilla Drumbeat ignite talk, which is part of Neoteny Singapore Camp 1

also invade the Hackerspace Singapore :)

and see if we can make something like hackerspace, co-working space, here as well ...

technorati tags: , ,

2009-12-07

Web Character Simplification Chart 0.1 #opendream

ก่อนจะประมวลผลข้อความ เราจำเป็นต้องทำความสะอาดข้อความเสียหน่อย ทั่ว ๆ ไปที่จำเป็นต้องทำ ก็เช่น แปลง new line (\r\n หรือ \n), หรือแปลงให้อยู่ในชุดอักขระ (character set) ที่โปรแกรมใน processing pipeline จะทำงานได้ เช่นแปลง ä เป็น ae หรือแปลง “ ” เป็น " ", หรือการ normalize ลำดับอักขระ เช่น น.หนู+สระอำ+ไม้โท → น.หนู+ไม้โท+สระอำ, หรือไปถึงขั้นซับซ้อน อย่างแก้ตัวสะกด

(กรณีเป็นงานลักษณะจดหมายเหตุ หรือ archival ก็อาจจำเป็นต้องเก็บตัว raw text ก่อนแปลงเอาไว้ด้วย เพราะการแปลงอาจจะ(และมักจะ)เป็น lossy คือแปลงไปแล้วแปลงกลับมาได้ไม่เหมือนเดิม เช่นตัวอย่างข้างบน ที่แปลง “ ” เป็น " ")

การทำความสะอาดข้อความ หรือ text cleansing นี้ มีจุดประสงค์หลายอย่าง อย่างหนึ่งก็เพื่อเพิ่มความต้องตรงกัน (integrity) ภายในเนื้อข้อความ ซึ่งกรณีถ้าจะเอาข้อความนี้ไปประมวลผลทางสถิติ เช่นเอาไปฝึกเครื่อง (machine learning) ความต้องตรงกันภายในข้อความนี้ ก็มีผลต่อความแม่นยำของตัวแบบที่จะฝึกได้

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

สำหรับแอปพลิเคชั่นการค้นหาและการทำดัชนี การทำความสะอาดข้อความ รวมไปถึงการทำให้ข้อความมันซับซ้อนน้อยลง (ไม่ว่าจะในทางลำดับอักษร ซึ่งจะมีผลต่อขนาดของ word set หรือการลดขนาดของ character set ด้วยการยุบตัวอักษรบางตัวเข้าด้วยกัน) จะช่วยให้ดัชนีมีขนาดเล็กลงด้วย และถ้าใช้ประกอบกับตารางการแทนอักษร/คำ (replacement table) ก็จะช่วยให้โอกาสการเจอคำที่ค้นหา มีมากขึ้น เนื่องจากลดผลกระทบจากการสะกดไม่ตรงกัน (spelling variations) (จริง ๆ จะใช้ replacement table อย่างเดียวก็ได้ แต่กรณีนั้น search space ก็จะใหญ่ขึ้น มีผลต่อประสิทธิภาพ)

ในตอนที่เขียน JavaScript สำหรับใช้กับ Roti ก็คิดไว้าว่าจะเจอปัญหาลักษณะนี้ ซึ่งจะมีผลต่อการคำนวณหาบล็อกโพสต์ที่ใกล้เคียง (ดูตัวอย่างได้ที่ท้ายโพสต์นี้ ตรงที่เขียนว่า 'roti thinks you may like these posts...') เลยให้จาวาสคริปต์ทำความสะอาดข้อความนิดหน่อย ก่อนจะส่งไปเซิร์ฟเวอร์

เนื่องจาก Roti ทำงานกับเอกสารเว็บ ซึ่งมี 'ปัญหา' อีกอย่าง คือการใช้ HTML/XML entities แทนตัวอักษร เช่นใช้ & เพื่อแทนอักษร & ดังนั้นก่อนจะทำอะไรกับข้อความ จึงควร decode entities พวกนี้ออกมาก่อน

กรณีของ HTML entities ถ้าใช้ PHP สามารถใช้ฟังก์ชั่น html_entity_decode($text) ได้เลย แต่ในจาวาสคริปต์มันไม่มี (หรือผมไม่รู้ว่ามันมี) ก็เลยใช้แทนที่สตริงแบบบ้าน ๆ ไป

ตารางข้างล่างปรับแก้มาจากตัวจาวาสคริปต์ roticlient.js และใส่รายละเอียดเพิ่มเติมนิดหน่อย ยินดีรับคำแนะนำครับ

possible replacements ในตารางนั้น เป็นเพียงคำแนะนำตั้งต้น การจะเลือกใช้อะไร ขึ้นอยู่กับแอปพลิเคชั่นด้วย เช่น ตัวเลือกที่เหมาะกับการเอาไปทำดัชนี ก็อาจจะไม่เหมือนกับตัวเลือกที่เหมาะกับการเอาไปแสดงผล เช่น zero-width space ถ้าทำดัชนี การแทนด้วย space น่าจะเหมาะ แต่ถ้าจะเอาไปแสดงผล การลบมันทิ้งไปเลย น่าจะเหมาะกว่า

Web Character Simplification Chart 0.1

Throw away extra semantics for a simpler text processing. This is only a suggestion. Apply to your needs accordingly.

Character NameCharacterUnicodeASCII range?HTML EntitiesPossible Replacements
Space  yes  
Non-breaking space U+00A0yes (space)
Zerowidth space U+200B  (space), <delete>
 
Soft hyphen U+00ADyes&shy;<delete>
 
Hyphen-Minus-U+002Dyes  
Hyphen-U+2010  - (hyphen-minus)
Minus signU+2212 &minus;-
Figure dashU+2012  -
En dashU+2013 &ndash;-, --
Em dashU+2014 &mdash;-, ---
Horizontal barU+2015  -
Armenian hyphen֊U+058A  -
Hebrew magaf־U+05BE  -
Mongolian todo hyphenU+1806  -
Japanese chōonpuU+30FC  -
 
Hyphen bulletU+2043  * (star), -, <delete>
Small bulletU+2022  *, -, <delete>
 
Tilde~U+007Eyes&tilde; 
Swung dash˜U+2053  ~ (tilde)
Wave dashU+301C  ~
Wavy dashU+3030  ~

ด้านล่างนี้ เป็นตัวอย่างโค้ดที่แทนที่ตัวอักษรต่าง ๆ จาก roticlient.js

return str.replace(/(&nbsp;|&#8208;|&#8210;|&ndash;|&#8211;|&mdash;|&#8212;|&#8213;|&#8275)/g, ' ') .replace(/(&shy;|&#xAD;|&#173;|&#x200B;|&#8203)/g,'') .replace(/[\u200b\u200d\u00ad]/g, '') .replace(/[!\?;:"'`“”^\*\+\-_\(\)\[\]\{\}#@&~\.,\\\/\|]/g, ' ') .replace(/\s+/g, ' ');

ติดตามการพัฒนา Roti ได้จาก Opendream's blog

(โพสต์นี้ให้ @pittaya เนื่องจากเคยถามเอาไว้เมื่อนานเมือกแล้ว)

technorati tags: , ,

2009-12-06

Pose and Sound

“Wieviele starben? Wer kennt die Zahl? An deinen Wunden sieht man die Qual der Namenlosen die hier verbrannt im Hoellenfeuer aus Menschenhand.”

“How many died? Who knows the number? In your wounds one can see the agony of the nameless ones, who burned to death here in a hellfire made by human hand.”

“กี่ชีวิตจากไป? ใครเล่ารู้จำนวน? มองบาดแผลคุณ เห็นทรมานอีกมากมายไม่รู้ชื่อ ที่ม้วยมอดที่นี่ ในเพลิงนรกโดยน้ำมือมนุษย์.”

— from a memorial at cemetery Heidefriedhof in Dresden

Not just only sounds of air raids in the past, but also the pose of that time. When you're under that raid, this is of course the natural pose you would do, cup your hands on your ears. This interactive installation in Dresden do its best to gives its audience experience of February 1945.

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

การจัดแสดงที่คำนึงถึง และมอบประสบการณ์แก่ผู้เข้า 'ร่วม' ที่ไม่เพียงเป็นผู้เข้า 'ชม'. เราคิดว่านี่เป็นตัวอย่างที่น่าสนใจของ interface/interaction design, museum design.

Touched Echo by Markus Kison

Touched Echo ออกแบบโดย Markus Kison (UdK - University of the Arts Berlin) จัดแสดงระหว่างวันที่ 2007.10.03 - 2008.10.31 ที่ Brühlsche Terrrasse, Dresden เยอรมนี

via One Floor Up, Yanko Design, core77 (น่าจะได้มาจาก Ninnaya หรือ anpanpon อีกทีนึง)

(originally drafted since 2008.08.12, but never been posted til today - เคลียร์ของตกค้างในบล็อก :p)

technorati tags: , , , , ,

2009-12-05

Long Live the (Burger) King! #WeLoveKing

จากหนังสือพิมพ์ The Spectrum, an Acton-Boxborough Regional High School's newspaper, February 2005 (Vol. 23 No. 3):

Long Live the (Burger) King!

เป็นข่าวร้าน BK ไฟไหม้ ที่ฮาคือ นักเรียนทำ funeral service ให้ด้วย (ตามรูป) (คิดได้ไง) - แต่ทั้งหมดมันเป็น prank นะครับ อย่างข่าวหน้าสุดท้ายล่างสุด ก็เป็นภาพขโมยโต๊ะ ขำ ๆ [อ่าน pdf]

The Burger King หน้าตาเป็นไง เขามีหลายเวอร์ชั่น อันนี้เป็นเวอร์ชั่นในโฆษณาหนัง The Simpsons Movie และ Burger King ปี 2007:

BK Simpsons (ads)

BK มีโฆษณาสนุก ๆ อยู่เยอะ (มุขแป๊กก็มี) ไปดูได้ที่ Burger King advertising (wikipedia) มีแบบทำเป็นเกมด้วย

technorati tags: , ,

2009-12-03

repost: Theppitak on "Opensource Mindset"

พบสิ่งบันเทิงใจจาก Planet TLWG

พี่เทพ โพสต์เล่าเรื่องบทความ การคิดแบบโอเพนซอร์ส (Open Source Thinking) ใน วารสาร OpenSource2Day ฉบับที่ 13 และย้อนอ้างถึงโพสต์ที่พี่เทพเคยเขียนไว้เมื่อ 3 ปีที่แล้ว เกี่ยวกับวัฒนธรรมไทยและวัฒนธรรมโอเพ่นซอร์ส

อาจารย์ [อ.ธวัชชัย เอี่ยมไพโรจน์ แห่ง ม.บูรพา] ได้เปรียบเทียบพฤติกรรมของนิสิตนักศึกษาบางกลุ่มที่ไม่ค่อยลงแรงอะไรกับวิชาเรียน กับ mindset ของ "ผู้ที่มีความเชื่อในโอเพนซอร์ส" ว่าแตกต่างกันปานใด ซึ่งอาจารย์ได้สาธยาย mindset ดังกล่าวไว้ได้ชัดเจนครบถ้วน เลยขอยกมากล่าวถึงในที่นี้บางส่วน ตัวอย่างเช่น:

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

ผู้ที่มีความเชื่อในโอเพนซอร์ส จะมีปฏิกิริยาเชิงรุกเมื่อพบปัญหา โดยจะพยายามค้นหาวิธีแก้จากอินเทอร์เน็ต อ่านเอกสาร ทดลองทำ หรือกระทั่งนั่งดีบั๊ก แต่ก็ไม่ได้ทำอย่างนี้กับทุกเรื่อง จะทำเฉพาะในโปรแกรมที่สนใจ

คนโอเพนซอร์สจะเข้าร่วมวงสนทนา เช่น mailing list เพื่อแลกเปลี่ยนข้อมูลกับคนอื่น และทุ่มเทเวลาให้กับการสร้างทักษะการแก้ปัญหา

[...]

ก็พอดีกับที่ วีร์ โพสต์เรื่อง double click เพื่อเลือกคำเดียวใน Firefox หลังจากที่ไปถามไว้ในเมลกลุ่ม Thai Linux/FOSS developers

----

ผมเคยรวบรวมข้อเขียน บทความ บทแปลต่าง ๆ เกี่ยวกับชุมชนโอเพ่นซอร์สในไทย ที่หลาย ๆ คนเคยเขียนเคยพูด เอาไว้ที่ Thailand, FOSS, and Community และพี่เทพเคยสรุปประเด็นที่หลาย ๆ คนเคยมาแชร์กันไว้เมื่อ 3 ปีที่แล้ว ในงาน TLUG: TLUG Resurrection (ในลิงก์ก่อนหน้านี้ มีวีดิโอบางส่วนจากงานนี้ด้วย)

ขยับมาใกล้กว่านั้น เคยคุยกับพี่เทพและอีกหลายคนผ่านบล็อกโพสต์แบบมาเป็นชุด PostcardwareThe Condition of Free CultureFree Culture

และเร็ว ๆ นี้เอง พี่เทพได้โพสต์เรื่องกลุ่มผู้ใช้ซอฟต์แวร์สามกลุ่ม ซึ่งเกี่ยวข้องกับเรื่องโอเพ่นซอร์สด้วย พร้อมรูปประกอบ ผมว่าอธิบายภาพได้ชัดเจนดี Romance of the Three (Software) Kingdoms

... ผมคิดว่าการสื่อสารเรื่องเหล่านี้และพูดคุยลักษณะนี้นี่แหละ ที่ไม่ได้อยู่ในโครงการส่งเสริมโอเพ่นซอร์สต่าง ๆ ที่รัฐได้สนับสนุนในช่วงผ่านมา เรามีฮาร์ดแวร์แล้ว มีซอฟต์แวร์แล้ว ขาดก็แต่อะไรซักอย่างแวร์ในหัวเรานี่แหละ ...

technorati tags: , , ,

[12 Dec] Grails Meeting Day @ Opendream HQ

มนุษย์หุ่นยนต์ @roofimon แจ้งข่าวที่ Narisa.com:
Grails Meeting Day 1.0, มาคุยกันเรื่อง Grails

เสาร์ที่ 12 ธันวานี้ ที่รังรัก Opendream (แผนที่)
MRT สุทธิสาร + ต่อมอไซต์ บอกว่าไป อารียา แมนดารีนา (20 บาท)
โอเพ่นดรีมคือบ้านเลขที่ 299/92

12 Dec 2009 at Opendream
MRT Suttisarn + motobike taxi to Areeya Mandarina (20 baht)
Opendream office is house number 299/92

technorati tags: , ,