XMLHttpRequest with "lese-majeste" in the url got blocked as well – Holy CS Loxinfo

อัปเดตต่อจากกรณี Mashable.com got blocked – ความมั่วของ CS Loxinfo กับการบล็อคเว็บ

จากการทดลองเพิ่มเติม พบว่า web api request (ซึ่งทำผ่าน url) ก็จะใช้ไม่ได้เช่นกัน

เช่น ผมลองใช้บริการย่อลิงก์ ของ bit.ly โดยใช้ url :

http://klongofconsciousness.wordpress.com/2009/01/23/dozing-german-arrested-for-lese-majeste/*

ปรากฎว่า bit.ly มันเงียบครับ ไม่แสดงผลลัพธ์อะไร (ตามปกติมันจะแสดงผลลัพธ์ลิงก์ที่ถูกย่อ ในช่อง “Shortened URL”)

เมื่อตรวจสอบดูก็พบว่า เมื่อกดปุ่ม “Shorten” ตัวหน้าเว็บ จะส่ง XMLHttpRequest ไปที่ http://bit.ly/api เรียกใช้บริการที่เซิร์ฟเวอร์ของ bit.ly เพื่อรับผลลัพธ์ (ตามลักษณะการเขียนโปรแกรมแบบ AJAX ซึ่งปัจจุบันนี้นิยมทั่วไป)

โดยในการส่ง request ที่ว่านี้ ก็จะทำในรูปของการเรียก url ปกติ ซึ่งกรณีนี้ ก็จะเป็นในรูปแบบนี้ :

http://bit.ly/api?method=shorten&long_url=http%3A%2F%2Fklongofconsciousness.wordpress.com%2F2009%2F01%2F23%2Fdozing-german-arrested-for-lese-majeste%2F&keyword=&history=1&t=1233903997567

method=shorten นั้นคือระบุว่า ใช้เรียกใช้เมธทอดที่ชื่อ shorten; long_url=… ก็ระบุว่าจะย่อลิงก์อะไร; ที่เหลือก็เป็นพารามิเตอร์ต่าง ๆ

จะเห็นว่าปัญหาอยู่ตรงที่ว่า long_url นั้นไม่ได้เข้ารหัส ดังนั้นถ้าใส่ลิงก์ที่มีคำว่า “lese-majeste” เข้าไปให้ bit.ly ย่อให้หน่อย
คำเดียวกันนี้ก็จะปรากฏอยู่ในพารามิเตอร์ที่จะส่ง XMLHttpRequest ซึ่งก็จะไปปรากฏอยู่ใน url — แล้วก็จะถูกบล็อคทันที (อย่างน้อยที่ทราบโดยไอเอสพีหนึ่งแห่ง คือ CS Loxinfo)

ดังนั้นสิ่งที่ request ดัง url ข้างต้น (หรือ url ใด ๆ ที่มีคำว่า “lese-majeste” หรือ “lesemajeste”)
จะได้รับ respond กลับมา
ก็จะเป็นหน้า “404 หลอก” ซึ่งไม่ใช่รูปแบบข้อมูลอย่างที่โปรแกรมคาดหวังไว้ (เช่น XML หรือ JSON) โปรแกรมจึงทำงานต่อไม่ได้ … ก็เลยเงียบ

เจ๋งไหม ?

(* เป็นข่าวเมื่อ 22 ม.ค. 2552 Klaus Brehmer ชายชาวเยอรมันคนหนึ่งนั่งในโรงหนังที่เวิลด์เทรด แล้วในขณะนั้นมีเพลงสรรเสริญบรรเลง คนในโรงหนังเลยโห่ ตะโกน และเอาน้ำราดหัวเขา จากนั้นตำรวจก็มาจับเขาไป – โอ้ อารยะประเทศ)


ใครที่เขียนโปรแกรมบนเว็บ/โปรแกรมที่ทำงานกับเว็บ แล้วมีผู้ใช้บริการหรือลูกค้า แจ้งมาว่าโปรแกรมทำงานผิดปกติ ลองเช็คเรื่องการบล็อคเว็บด้วย ถ้าคุณทำ request ใด ๆ ผ่านเว็บ ก็มีโอกาสจะโดนบล็อคได้เสมอ (หลายครั้งเกิดจากความมั่ว ๆ – Mashable.com ยังโดนได้เลย) ลองถามผู้ใช้บริการของคุณ ว่าใช้เน็ตยี่ห้อไหน ถ้าเป็นไปได้ ก็แนะนำให้เขาเปลี่ยนยี่ห้อไอเอสพีไปเลย ตัดปัญหา

ส่วนใครที่บล็อคเว็บแบบเหมารวม-มักง่ายแบบนี้ ไม่ว่าจะเป็นรัฐ หน่วยงานราชการ สถานศึกษา หรือไอเอสพี ก็ขอความกรุณาปรับปรุงการทำงานด้วย ถ้ามีคำสั่งศาลมาให้บล็อคก็บล็อคตาม url ที่ศาลสั่งมาไป ไม่ใช่ใช้ keyword filtering แบบนี้ มันกระทบกับคนอื่นเว็บอื่นที่ไม่ได้เกี่ยวข้องด้วย

อย่ามักง่าย


อัปเดต : ผมดันไปตั้งชื่อหัวข้อของโพสต์นี้มีคำว่า “lese majeste”, ใน url ของโพสต์นี้ ก็เลยมีคำนั้นไปด้วย ใครใช้ CS Loxinfo ก็จะกดเข้ามาดูโพสต์นี้ตรง ๆ ไม่ได้นะครับ. ถ้าใช้โปรแกรมอ่าน feed ที่ทำงานที่ฝั่งไคลเอนต์ก็อาจจะไม่ได้ด้วย – เพราะใน feed ของโพสต์นี้ ซึ่งใช้ Feedburner มันก็มีชื่อหัวข้ออยู่ด้วย (http://feeds.feedburner.com/%7Er/bact/%7E3/533175999/xmlhttprequest-with-lese-majeste-in-url.html). อย่างไรก็ตาม ยังสามารถอ่านได้ในหน้ารวมของบล็อก หรืออ่านผ่าน feed reader ที่ทำงานฝั่งเซิร์ฟเวอร์ อย่าง Google Reader. ลุ่มลึกดีครับ อารยะประเทศ.

technorati tags:
,
,
,

Schmap!! interactive guide map

ได้อีเมลจากเว็บไซต์ที่ไม่เคยรู้จัก Schmap

แจ้งว่า ได้เอารูปของเราใน Flickr ที่เป็นครีเอทีฟคอมมอนส์ ไปใช้ในแผนที่นำเที่ยวอันนี้

กดไปเล่น เออ มันก็โอเคนะ รู้สึกยังใช้ยากอยู่ แต่ข้อมูลมันก็โอเคเลย ไม่ได้ละเอียด แต่ก็บอกที่สำคัญ ๆ พร้อมกับตำแหน่งในแผนที่ (ที่เว็บไซต์ใช้ของ Yahoo! ถ้าเป็น widget ใช้ของ Google แปลกดี)

ที่ดีคือ มันดาวน์โหลดมาใช้ในเครื่องได้นะ แบบไม่ต้องออนไลน์ แต่ที่แย่คือ มีเฉพาะ Mac OS X กับ Windows เท่านั้นนะ GNU/Linux อดหมดสิทธิ์

iPhone ก็หมนุ ๆ เล่นได้

ลองเล่นดู Amsterdam, Berlin, Edinburgh, Prague

โอ๊ย อยากเที่ยวววว

technorati tags:
,
,

My (not me) Office 2.0 Setup

adaptive path blog วันนี้ มีเรื่องน่าสนใจเยอะเลย ลิงก์เพียบ ลองเข้าไปดูกัน

ตัวอย่างเช่นเรื่อง “Office 2.0” มันก็คือโปรแกรม(บริการ)ชุดสำนักงานที่อยู่บนเว็บน่ะแหละ ทำนอง Web 2.0 ใน My Offce 2.0 Setup เค้าไล่รายการให้ดูเลย ว่ามีอะไรใช้กับอะไรได้มั่ง ส่วนใน Office 2.0 Mashup List ก็เสนอว่า จะยำบริการพวกนั้นเข้าด้วยกันยังไงได้บ้าง เป็นไอเดีย

อีกหน่อยขาดเน็ตก็คงเหมือนขาดใจ … หรือยิ่งถ้าโดนขโมย net identity ไป ชีวิตก็คงวายป่วง

update:
Forbes.com The Best Web-Based Computer Applications For Small Business — เว็บไซต์ฟอร์บส.คอม คัดเลือกโปรแกรมบนเว็บที่ดีที่สุดสำหรับธุรกิจขนาดเล็ก

via adaptive path

tags:
|
|
|
office productivity

Java to AJAX compiler !

Google Web Toolkit – Build AJAX apps in the Java language เท่ซะ

You write your front end in the Java programming language, and the GWT compiler converts your Java classes to browser-compliant JavaScript and HTML.

Write AJAX applications in the Java language with Google Web Toolkit

ลง NetBeans 5.5 Beta (เพิ่งออก) แล้วลอง GWT เลยมะ ? .. เผื่อจะใช้ GWT กะ Matisse ได้ 😛

tags: , , , ,

Take Java easier – Java SE 6 Beta is here

ทยอยกันออกมาแล้วครับ “Java รุ่นใหม่”
จะเห็นได้ชัดเลยว่า ชุดนี้ (ทั้ง Java SE, Java EE, NetBeans) เน้นความ “ง่าย” ในทุก ๆ ส่วน ทั้งส่วนของการใช้งานสำหรับผู้ใช้ (เช่น ตอบสนองเร็วขึ้น ทำตัวเหมือน native app มากขึ้น ตัวอย่าง เพิ่มเรื่อง desktop integration ให้ทำตัวเนียนไปกับโอเอสได้ดีขึ้น) สำหรับผู้พัฒนา ในส่วนของการพัฒนาและการติดตั้ง ก็ได้ปรับปรุงขึ้นเยอะแยะ ลองไปอ่านได้ ลิงก์ด้านล่าง

ตอนนี้ผมใช้ NetBeans 5.0 อยู่ (นอกเหนือจาก Eclipse 3.2 M4) โดยใช้ลองเขียนพวกโมดูลของ Lucene เล่น ๆ ก็คิดว่ามันใช้ง่ายกว่า 4.1 เยอะเลยนะ มีพวก refactoring, code completion ที่เทียบได้กับ Eclipse แล้ว ติดอยู่ไม่กี่อย่างที่ยังไม่ชอบใจ เช่นมี profile สำหรับ Run/Debug หลาย ๆ อันไม่ได้ และฟอนต์ของ UI ตัวมันเล็กไปหน่อย 🙁 แต่ถ้านับว่ามันมี Profiler สุดเจ๋งมาให้ด้วยนี่ ถ้าต้องเลือกแค่ตัวใดตัวนึงสำหรับงาน Java ผมคงเอา NetBeans อ่ะ (แต่ถ้าต้องใช้กับภาษาอื่นด้วย ก็คงต้องเป็น Eclipse ล่ะ NetBeans สู้ตรงนี้ไม่ได้เลย แย่จริง)

ถ้าไม่มี .NET ป่านนี้ค่ายจาวาอาจจะยังใช้ “ยาก” อยู่ 😛

หมายเหตุ:

NetBeans IDE 5.0 นี่ ออกแบบมาสนับสนุน Java SE 5 เต็มที่
โดยรุ่นต่อไป คือ NetBeans IDE 5.5 จะสนับสนุน Java EE 5 เต็มที่
และหลังจากนั้น คือ NetBeans IDE 6.0 ก็จะสนับสนุน Java SE 6 เต็มที่

คือ เลขรุ่น x.0 เป็นการปรับปรุงสำหรับ Java SE ตัว(เสถียร)ล่าสุด, ส่วนเลขรุ่น x.5 ก็สำหรับ Java EE
ปีนึง NetBeans ตั้งเป้าจะออกรุ่นหลักสองครั้ง x.0 ตัวนึง 0.5 ตัวนึง ซึ่งก็จะตรงกับรอบของ Java SE และ Java EE ซึ่งแต่ละตัวออกรุ่นใหม่ปีละครั้ง พอดี

Taking Back the Web, with Cautions

ช่วงนี้มีคนพูดถึง Web 2.0 บ่อยขึ้นทุกที

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

แต่แค่เทคโนโลยีอย่างเดียวจริง ๆ เหรอ ที่ทำให้คนสนใจ Web 2.0 ?

เพราะจะว่าไป ไอ้เจ้าเทคโนโลยีทั้งหลายใน Web 2.0 นั้น ไม่ได้เป็นของใหม่เลย มันมีมานานแล้ว
แล้วสิ่งที่ใหม่คืออะไรล่ะ ?

ก็คือมุมมองในการใช้เทคโนโลยีเหล่านั้นนั่นเอง ที่เป็นของใหม่

หัวใจของ Web 2.0 อยู่ที่ “คน” เพื่อคน และโดยคน

เมื่อเปรียบเทียบกับ “Web 1.0” ที่หัวใจอยู่ที่เนื้อหา(ทางเดียว) เพื่อการค้่า และโดยผู้จัดพิมพ์รายใหญ่
(ส่วน “Web prototype” นั่น หัวใจคงเป็นเรื่องการวิจัย เพื่อความมั่นคง และโดยรัฐ)

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

และสิ่งที่ Web 2.0 สร้าง ก็คือ collective intelligence จะพูดอย่างไทย คงได้ว่า “ปัญญารวมหมู่”
tagging หรือ folksonomy และ Wikipedia เป็นตัวอย่างของ collective intelligence ที่ individual intelligence ปัญญาเดี่ยว ๆ หัวเดียวกระเทียมลีบสู้ไม่ได้ในบางเรื่อง (ไม่ว่าเดี่ยว ๆ นั้น จะเป็นคน หรือ AI ก็ตาม)

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

ลิงก์ของ Web 1.0 คือ ไฮเปอร์ลิงก์ ; ลิงก์ของ Web 2.0 คือความสัมพันธ์ทางสังคม (และรสนิยม)

โหนดของ Web 1.0 คือ เซิร์ฟเวอร์ ; โหนดของ Web 2.0 คือ คน

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

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

ทั้งหมดนี้ ดำเนินไปได้ด้วย ปัจเจกบุคคล ที่อาจจะไม่ได้มีเกี่ยวข้องอะไรกันเลย แต่แรงคนละเล็กละน้อยที่ทำลงไป พอรวมกันแล้ว ก็กลายออกมาเป็นปรากฏการณ์อย่างที่เราเห็นกันอยู่

Web 2.0 เป็นเรื่องน่ายินดี สำหรับสังคมความรู้ …
แต่…

สิ่งที่น่ากลัวอย่างมาก(และอาจจะอย่างเดียว)สำหรับ Web 2.0 ก็คือ
เป็นไปได้อย่างมาก ที่ต่อไป คนจะอ่านเฉพาะเรื่องที่ตนอยากอ่าน รู้เฉพาะเรื่องที่ตนอยากรู้ … ผู้คนจะเสพข่าวสารกันง่ายขึ้นและมากขึ้น แต่แคบลงแคบลง
รู้ลึก แต่ไม่รอบรู้
เมื่อไม่รอบรู้ ก็มองไม่เห็นภาพใหญ่ ภาพรวม ไม่เห็นบริบทของสิ่งที่ตนรู้ลึก ..คุณค่าของสิ่งที่รู้ลึกนั้น ก็อาจจะด้อยลงไป

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

Web 2.0 ให้เครื่องมือแก่เราในการแสวงหา/แบ่งปันความรู้ในเรื่องที่เราสนใจ

แต่ Web 2.0 ไม่สามารถป้องกันเราจากภาวะความรู้ท่วมหัวเอาตัวไม่รอดได้

ด้วยปัญญารวมหมู่ผสมกับเทคนิคทางปัญญาประดิษฐ์ Amazon.com, Last.fm สามารถแนะนำเพลงที่คุณอยากฟังได้ จากประวัติการฟัง(ซื้อ)เพลงที่ผ่านมาของคุณ …
แต่คน ๆ นึงจะรู้ได้ยังไง ว่าตัวเองชอบฟังแจ๊ส(หรืออะไรก็ตาม) ถ้ายังไม่เคยลองฟังมาก่อนเลย ?


พักความกลัวไว้ ตอนนี้ไปรู้จักกับเว็บที่สร้างโดยคน และเพื่อคน กันก่อน CNET News.com เสนอบทความชุด ยึดเว็บกลับ Taking Back the Web
ยังไม่ได้อ่านเหมือนกัน เห็นแล้วเข้ามาเขียนบล็อกก่อน 😛 เดี๋ยวอ่านแล้วอาจจะเข้ามาเขียนอะไรเพิ่ม


ต้องการความเห็นอย่างมาก เชิญด้านล่าง