Planet TLWG

Subscribe to Planet TLWG feed
Planet TLWG - http://debianclub.org/planet-tlwg
Updated: 26 min 52 sec ago

Kitt: เรามาเป็นแอดมินได้ไง

9 December, 2016 - 09:17
tl;dr ไม่รู้เหมือนกัน 55+ ปี 3 วิชา Computer Networks สอน TCP/IP (อ.ยืน อ.เขมทัต อ.ปรีดา ม.เกษตร) ประกอบกับที่ภาคคอมคณะไรสักอย่างได้รับเครื่อง SUN SPARCStation 5 มาจากมูลนิธิ Hitachi เครื่องนี้ต่ออินเทอร์เน็ตผ่าน MODEM + leased line ไปที่ศูนย์คอมพิวเตอร์ ผมกับเพื่อนไม่กี่คนมี account บนเครื่องนี้ telnet จาก PC ไปหัดใช้คำสั่ง UNIX ใช้อินเทอร์เน็ตได้ (pine, talk, gopher, inn, irc (#thai #siam …)) .. ตอนนั้นเป็นของใหม่ ของแพง(มาก) มีโอกาสได้ใช้ก็ตื่นตาตื่นใจ ปี 4 เพื่อนคนนึงทำโปรเจคเกี่ยวกับอินเทอร์เน็ต ขอเครื่อง 486 มาลง BSD ได้แผ่นติดตั้ง … Continue reading เรามาเป็นแอดมินได้ไง →

Kitt: เรามาเขียนโค้ดได้ไง

8 December, 2016 - 03:10
ปี 2529 อยู่ ม.2 ไม่เคยเล่นเกม ไม่เคยใช้โปรแกรมสำเร็จรูป แตะคอมพิวเตอร์ครั้งแรกก็หัดโค้ดเลย มันคือเครื่อง VTech Laser 200 (https://en.wikipedia.org/wiki/VTech_Laser_200) ROM เป็น BASIC interpreter สมัยนั้นเรียกของพวกนี้ว่า home computer ก็ไม่แน่ใจว่าเครื่องนี้เป็นของใคร แต่มันวางอยู่ที่บ้านที่ไปอาศัยอยู่ช่วงนั้น หัดจากคู่มือของเครื่อง (ภาษาอังกฤษ) หนังสือตัวอย่างโปรแกรมที่แถมมา จนเขียน BASIC เป็น ม.ปลาย ที่โรงเรียนสอนภาษา Logo .. ช่วงนั้นมีเครื่อง PC ที่บ้านแล้ว รับจ้างเขียนโปรแกรม พิมพ์รายงาน ป.ตรี รับจ้างเขียน inventory ให้ รพ.ศรีนครินทร์ (Clipper/Netware) โปรเจคจบเขียน C/C++ เป็นโปรแกรมบน Windows ป.โท ระหว่างเรียนเขียน C, C++, CLIPS, LISP, Prolog, OCaml, Smalltalk, … Continue reading เรามาเขียนโค้ดได้ไง →

Kitt: €2.99/mo. Scaleway VC1S

6 December, 2016 - 15:25
Same tools, same OS as $5/month: DigitalOcean vs Vultr dd write bs=4k count=10k 100k 1M 403 398 184 MB/s dd read bs=4k 2.0 GB/s sysbench --test=cpu --cpu-max-prime=10000 run 17.9875 sec. stress-ng --cpu 1 --cpu-method all -t 30 94.22 ops/sec VC1S disk performance is comparable to DO/Vultr. But, even equipped with 2 64-bit x86 cores, CPU performance is … Continue reading €2.99/mo. Scaleway VC1S →

Kitt: Password authentication must die .. soon.

5 December, 2016 - 16:32
Password authentication depends on user input. To make it safe, one of the requirement is that you need to do it safely and quickly enough and hope that nobody could catch what you type on the keyboard. Nowadays, we can’t hope such. With naked eyes, we can simply read gestures, types, presses most of people … Continue reading Password authentication must die .. soon. →

Kitt: AlphaGo and the future of AI.

5 December, 2016 - 16:32
The Go match between AI and pro is very interesting. I’m a fan of igo/weiqi/baduk. I used to play constantly, and was rated SDK (single-digit kyu). Also, as a computer scientist, Go is the only board game that the best human can defeat the best AI. Well, not anymore. AlphaGo, with deep/machine learning, was well-trained, and … Continue reading AlphaGo and the future of AI. →

Kitt: Graylog Extractor for Fortigate Firewall

5 December, 2016 - 16:32
I’ve been using Graylog in production for awhile. It’s a great log analysis tool, backed by elasticsearch. Conceptually, graylog is pretty much like splunk. I consolidate approximately 170-200 million log messages to graylog everyday. So, I need to optimize them well enough. Few days ago, I started to use Fortigate extractors from a git repo. It … Continue reading Graylog Extractor for Fortigate Firewall →

Kitt: ceph

5 December, 2016 - 16:16
วันนี้ ceph เดี้ยง สืบพบว่ามาจาก monitor node 2 ใน 3 ตัว ..  ทั้งสองตัว เป็น VM connect ได้ daemon running  แต่ disk ของตัว host เป็น read-only .. พอ monitor พยายามบันทึกข้อมูลลง disk ไม่ได้มันก็ค้าง พอ monitor ค้าง ceph cluster ทั้งก้อนหยุดทำงาน ได้ใช้ท่า troubleshooting: stop monitor / dump monmap / ลบ monitor node ที่ใช้งานไม่ได้ออกไปจาก monmap / inject monmap ตัวใหม่เข้า monitor node ที่ใช้งานได้ restart monitor … Continue reading ceph →

Kitt: do-release-upgrade and PHP7

5 December, 2016 - 16:16
16.04.1 ออกมาได้ประมาณหนึ่งสัปดาห์ 14.04 ก็เริ่มจะ upgrade กันได้ วันนี้สั่ง do-release-upgrade เรียบร้อยดี ลง PHP7 เพิ่ม / เอา PHP5 ออก / แก้ไข socket path = เว็บกลับมาปกติ ง่ายเกินไปนะ :P

Kitt: $5/month: DigitalOcean vs Vultr

5 December, 2016 - 14:02
Tools: dd, sysbench, stress-ng. I know,  you’d say they are NOT benchmark tools. I don’t care, I just need quick tests. Here we go: dd write bs=4k count=10k 100k 1M do: 350 465 424 MB/s vultr: 699 538 466 MB/s dd read bs=4k do: 475 MB/s vultr: 2.7 GB/s sysbench --test=cpu --cpu-max-prime=10000 run do:  14.2562 … Continue reading $5/month: DigitalOcean vs Vultr →

bact: ปลาดาวออฟฟิศ

28 November, 2016 - 11:48

วันนี้พี่นุสรณ์โพสต์ ขอเก็บไว้หน่อย 14 ปีละ

ตอนนั้นนอกจากทำ spec ทำ test case ตรวจคำแปล UI ก็ยังเขียนเอกสารด้วย โชคดีมีคนเก็บไว้บ้าง วันนี้ลองกูเกิล “Pladao Office” ก็เจอ

ข้อมูลทั่วไป
http://ftp.ji-net.com/pladao/2.0/readme.html

ขั้นตอนติดตั้ง
http://ftp.ji-net.com/pladao/2.0/install.html

ความสามารถภาษาไทย
http://ftp.ji-net.com/pladao/2.0/features.html

FAQ
http://ftp.ji-net.com/pladao/1.0/faq.txt

Credits
http://ftp.ji-net.com/pladao/2.0/credits.txt

bact: The Crown

28 November, 2016 - 11:26

เข้าใจว่า The Crown ในชื่อซีรีส์ มันไม่ใช่มงกุฎ แต่หมายถึงหน่วยทางการเมือง เป็น Crown เดียวกับ Crown ใน Crown prosecutor (อัยการ, ทำนองเดียวกับ public prosecutor), Crown Estate (UK) หรือ Crown Property Bureau (สำนักงานทรัพย์สินส่วนพระมหากษัตริย์ ของไทย)

The Crown เป็นแนวคิดที่เริ่มพัฒนาในอังกฤษ เพื่อแยกอำนาจของกษัตริย์ (crown) ออกมาจากตัวกษัตริย์ (monarch)

การแบ่งแยกในเชิงแนวคิดนี้สำคัญสำหรับ Commonwealth realm ด้วย เพราะในทางบุคคล แม้จะเป็นกษัตริย์คนเดียวกัน (แง่เลือดเนื้อ-กายภาพ) แต่ในทางอำนาจ ถือว่าเป็นอำนาจคนละอำนาจกันในแต่ละประเทศ (เป็นอลิซาเบ็ธเดียวกัน แต่เป็นคนละควีนกันในแคนาดาและออสเตรเลีย)

เวลาอ้างอำนาจในทางปกครอง ไม่ว่าจะฝ่ายบริหาร นิติบัญญัติ หรือตุลาการ จะอ้างไปที่ crown ไม่ใช่ monarch
เช่น ในการฟ้องคดีที่รัฐเป็นผู้ฟ้อง แม้จะเขียนว่า Rex/Regina (ราชา/ราชินี) v … แต่เวลาอ่านออกเสียงจะอ่านว่า The Crown v …

….

อันนี้คิดต่อเฉยๆ ว่า การพยายามนำแนวคิด The Crown มาใช้ในไทย หลังเปลี่ยนแปลงการปกครอง แต่พอไม่มีรูปคำมารองรับ (ไม่มีคำที่ใช้แทนคำว่า crown ได้ตรงๆ) ก็ทำให้แนวคิดมันไม่มีที่อยู่ที่แข็งแรงรึเปล่า

Crown Property Bureau หรือ สำนักงานทรัพย์สินส่วนพระมหากษัตริย์ ในตอนแรกของไทยพยายามแยกทรัพย์สินตรงนี้ออกมาจากจากทรัพย์สินส่วนพระองค์ แรกๆ รัฐบาลก็มีอำนาจจัดการส่วนนี้จริง แต่ทำไปทำมา กลายเป็นดินแดนที่คนทั่วไปเชื่อว่าเป็นของกษัตริย์ (monarch แบบมีเลือดเนื้อ) ในแบบที่ในทางปฏิบัติ รัฐบาลเข้าไปยุ่งได้ยากแล้ว

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

bact: ออกแบบอำนาจ: อ่านโครงสร้างคณะกรรมการในกฎหมายไทย

18 November, 2016 - 12:56

ช่วงที่ผ่านมา นั่งดูร่างกฎหมายจำนวนหนึ่ง อย่างร่างพ.ร.บ.คอมพิวเตอร์ ร่างพ.ร.บ.คุ้มครองข้อมูลส่วนบุคคล และร่างพ.ร.บ.กสทช. ก็เลยผ่านตาพวกที่มา คุณสมบัติ สัดส่วน ของคณะกรรมการนั่นนี่ตามกฎหมาย เลยขอโน๊ตที่สังเกตเห็นไว้ตรงนี้หน่อย จำนวนนึงเคยเขียนไว้บนเฟซบุ๊กแล้ว [1] [2] แต่อันนี้มาเขียนเพิ่ม และจะได้หาได้ง่ายๆ ด้วย เฟซบุ๊กมันหายาก (เขียนค้างมาจะสามเดือน เพิ่งจะเสร็จ…)

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

ประเภทและที่มาของกรรมการ

กรรมการในคณะกรรมการนี่มีที่มาหลายได้แบบ เช่น

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

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

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

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

สัดส่วนตัวแทน-การขัดกันของผลประโยชน์-การแยกบทบาทผู้กำกับกิจการ

นอกจากนี้ก็ยังมีประเด็นความเหมาะสมในการปฏิบัติหน้าที่ด้วย เช่นจะมีการขัดกันของผลประโยชน์ (conflict of interest) ไหม คือถ้าคณะกรรมการนี้ออกแบบมาเพื่อเป็น ผู้ตัดสินไกล่เกลี่ยคดี หรือเป็นผู้กำกับดูแล (regulator) ก็ไม่ควรจะเอาคนที่เป็นผู้ถูกกำกับมาเป็น ไม่งั้นก็จะเหมือนเอาผู้เล่นมาเป็นกรรมการเสียเอง ก็อาจจะไม่เป็นธรรมกับผู้เล่นอื่น

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

อย่างไรก็ตาม การกำหนดคุณสมบัติในแง่ที่มา-สัดส่วนตัวแทน อาจไม่จำเป็นต้องเป็น “กรรมการโดยตำแหน่ง” ก็ได้ เช่นอาจระบุกว้างๆ ให้มีภาคเอกชนที่เกี่ยวข้องกี่คนหรืออย่างน้อยกี่คนก็ได้ เช่นในร่างพ.ร.บ.คอมพิวเตอร์ ฉบับ 30 ก.ย. 2559 ที่ยังอยู่ในระหว่างพิจารณา มาตรา 20/1 ที่มีการตั้งคณะกรรมการกลั่นกรองข้อมูลคอมพิวเตอร์ วรรคสองระบุว่า “ให้รัฐมนตรีแต่งตั้งคณะกรรมการกลั่นกรองข้อมูลคอมพิวเตอร์ตามวรรคหนึ่งอย่างน้อยหนึ่งคณะ โดยแต่ละคณะให้มีจำนวนห้าคน ซึ่งสองในห้าต้องมาจากผู้แทนภาคเอกชนที่เกี่ยวข้องและให้ได้รับค่าตอบแทนตามที่คณะรัฐมนตรีกำหนด”

ความรู้และประสบการณ์

สำหรับการกำหนดคุณสมบัติด้านความรู้หรือประสบการณ์ของกรรมการ กฎหมายบางฉบับอาจจะระบุลงไปเลยว่า ต้องการกรรมการที่มีความเชี่ยวชาญด้านไหนๆ กี่คน (เช่น ให้มีกรรมการด้านกฎหมาย 1 คน ด้านผู้บริโภค 1 คน ด้านวิศวกรรม 1 คน) ในขณะที่กฎหมายบางฉบับอาจจะเขียนรวมๆ (เช่น ให้มีกรรมการด้านกฎหมาย ด้านผู้บริโภค ด้านวิศวกรรมรวม 3 คน แบบนี้ก็เป็นไปได้ว่า อาจจะได้นักกฎหมายด้านการคุ้มครองผู้บริโภคมา 1 คน [กฎหมาย+ผู้บริโภค] และวิศวกรอีก 2 คน)

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

มาตรา 6 พ.ร.บ.กสทช. พ.ศ. 2553

 

ในขณะที่ในร่างมาตรา 6 ใหม่ที่กำลังแก้ไขอยู่ เขียนว่าอยากให้มีด้านใดบ้าง และเขียนให้จำนวนคณะกรรมการทั้งหมดแบบรวมๆ 7 คน

มาตรา 6 ร่างพ.ร.บ.กสทช. (ฉบับที่สคก.ตรวจพิจารณาแล้ว – 2558)

 

อีกตัวอย่างเช่น ในมาตรา 7 ของร่างพ.ร.บ.คุ้มครองข้อมูลส่วนบุคคล ระบุว่าให้มี “กรรมการผู้ทรงคุณวุฒิ จำนวนห้าคน ซึ่งคณะรัฐมนตรีแต่งตั้งจากผู้มีความรู้ ความเชี่ยวชาญ และประสบการณ์เป็นที่ประจักษ์ในด้านการคุ้มครองข้อมูลส่วนบุคคล ด้านการคุ้มครองผู้บริโภค ด้านเทคโนโลยีสารสนเทศและการสื่อสาร ด้านสังคมศาสตร์ ด้านกฎหมาย ด้านสุขภาพ หรือด้านอื่นที่เกี่ยวข้องและเป็นประโยชน์ต่อการคุ้มครองข้อมูลส่วนบุคคล” คือมีความเชี่ยวชาญอยู่ 6 ด้านเป็นอย่างน้อยที่เขียนไว้ แต่มีกรรมการ 5 คน ก็อาจจะตีความได้สองแบบคือ 1) ให้หากรรมการที่เชี่ยวชาญมากกว่าหนึ่งสาขา 2) อาจจะไม่จำเป็นก็ได้ที่จะต้องมีความเชี่ยวชาญให้ครบ 6 ด้านนี้ในคณะกรรมการ (หรือกรรมการโดยตำแหน่งอาจจะมีใครเชี่ยวชาญเรื่องที่ขาดไปก็ได้?)

มาตรา 7 ร่างพ.ร.บ.คุ้มครองข้อมูลส่วนบุคคล (ฉบับที่สคก.ตรวจพิจารณาแล้ว – 2558)

 

เรื่องน่าสนใจอีกอันก็คือ ในกรณีที่ต้องการนักวิชาการ บางกฎหมายจะกำหนดว่าให้คัดเลือกจากอาจารย์ที่มาจากมหาวิทยาลัยของรัฐ เช่นในร่างพ.ร.บ.คอมพิวเตอร์ ฉบับ 17 ส.ค. 2559 (ร่างฉบับนี้เก่าแล้ว ปัจจุบันหน้าตาเปลี่ยนไปแล้ว แต่ยกมาให้ดูเฉยๆ) มาตรา 20/1 ที่มีการตั้งคณะกรรมการกลั่นกรองข้อมูลคอมพิวเตอร์ มีตอนหนึ่งเขียนว่า “ผู้ทรงคุณวุฒิซึ่งมีความรู้ความเชี่ยวชาญด้านการสื่อสารมวลชนที่รัฐมนตรีแต่งตั้งจากอาจารย์มหาวิทยาลัยของรัฐหนึ่งคน” แบบนี้อาจารย์มหาวิทยาลัยเอกชนก็อดไป หรือแม้จะระบุแค่เพียง “อาจารย์” ก็อาจทำให้คนที่มีความรู้เรื่องนั้นแต่ไม่ได้อยู่ในภาคการศึกษาหมดสิทธิ์เช่นกัน

มาตรา 20/1 ร่างพ.ร.บ.คอมพิวเตอร์ (30 ก.ย. 2559) กรรมการเฉพาะกิจ

สำหรับ “กรรมการเฉพาะกิจ” คณะกรรมการบางชุดอาจอนุญาตให้มีการเชิญบุคคลภายนอกที่ปกติไม่ใช่กรรมการมาเป็นกรรมการเฉพาะการประชุมหนึ่งๆ ที่เห็นว่าน่าจะเป็นประโยชน์ด้วยก็ได้ ตัวอย่างเช่น ในพ.ร.บ.สภาความมั่นคงแห่งชาติ พ.ศ. 2559 ที่ในมาตรา 6 วรรค 3 พูดถึง “สมาชิกเฉพาะกิจ” ที่มีฐานะเหมือนสมาชิกปกติ “เฉพาะการประชุมที่ได้รับเชิญ”

มาตรา 6 พ.ร.บ.สภาความมั่นคงแห่งชาติ พ.ศ. 2559 อายุของตัวกรรมการ

สิ่งหนึ่งที่ร่างพ.ร.บ.กสทช.ที่ตอนนี้อยู่ในสภา เปลี่ยนแปลงไปจากพ.ร.บ.ฉบับปี 2553 ที่ใช้อยู่ในปัจจุบัน ก็คือ ช่วงอายุ ที่จะเป็นกรรมการกสทช.ได้ จากปัจจุบัน 35-70 ปี เปลี่ยนเป็น 45-65 ปี ซึ่งก็นึกเหตุผลไม่ออก

เลยลองดูอายุของคณะกรรมการอื่นๆ ดู ได้ดังตารางนี้

กรรมการ / คณะกรรมการ อายุไม่ต่ำกว่า อายุไม่เกิน กรรมการ คณะกรรมการกิจการกระจายเสียง กิจการโทรทัศน์และกิจการโทรคมนาคมแห่งชาติ (ร่าง) 45 65 กรรมการผู้ทรงคุณวุฒิ คณะกรรมการดิจิทัลเพื่อเศรษฐกิจและสังคมแห่งชาติ (ร่าง) 65 กรรมการ คณะกรรมการคุ้มครองข้อมูลส่วนบุคคล (ร่าง) – กรรมการผู้ทรงคุณวุฒิ คณะกรรมการคุ้มครองผู้บริโภค – กรรมการ คณะกรรมการสิทธิมนุษยชนแห่งชาติ 35 – กรรมการผู้ทรงคุณวุฒิ คณะกรรมการพัฒนาการบริหารงานยุติธรรมแห่งชาติ 35 – กรรมการ คณะกรรมการนโยบายองค์การกระจายเสียงและแพร่ภาพสาธารณะแห่งประเทศไทย 35 – กรรมการผู้ทรงคุณวุฒิ คณะกรรมการการมาตรฐานแห่งชาติ 25 – กรรมการผู้ทรงคุณวุฒิ คณะกรรมการกำกับการให้บริการด้านนิติวิทยาศาสตร์ 35 – กรรมการ คณะกรรมการกิจการกระจายเสียงและกิจการโทรทัศน์ (2543) 35 70 กรรมการ คณะกรรมการกิจการโทรคมนาคมแห่งชาติ (2543) 35 70 กรรมการ คณะกรรมการกิจการกระจายเสียง กิจการโทรทัศน์และกิจการโทรคมนาคมแห่งชาติ (2553) 35 70 กรรมการ คณะกรรมการการเลือกตั้ง (ร่างรธน.) – กรรมการ คณะกรรมการป้องกันและปราบปรามการทุจริตแห่งชาติ (ร่าง)

โดยรวมที่พบคือ ส่วนมากจะกำหนดอายุขั้นต่ำที่ 35 ปี และไม่ได้กำหนดว่าอายุห้ามเกินเท่าไร กฎหมายที่มีกำหนดเพดานอายุจะเป็นพวกกฎหมายไอซีที

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

ที่งงๆ คือ ตัวร่างพ.ร.บ.กสทช.กับร่างพ.ร.บ.ดิจิทัลฯ ก็มาไล่ๆ กันในรัฐบาลเดียวกัน แต่ทำไมเกณฑ์เรื่องนี้ต่างกัน คืออันแรกกำหนดอายุ 45 ปี อันหลังกำหนด 35 ปี เลยจะอธิบายว่าเป็นเรื่องอาวุโส ประสบการณ์ ก็อธิบายไม่ได้เต็มที่นัก เพราะคณะกรรมการกสทช.เองก็ต้องทำตามนโยบายของคณะกรรมการดิจิทัลฯอีกที (ซึ่งเป็นไปได้ที่กรรมการในคณะกรรมการดิจิทัลจะอายุน้อยกว่า)

และทำไปทำมา อายุกับประสบการณ์ สัมพันธ์กันแค่ไหน ประสบการณ์ 1 ปีในช่วง 1990-2000 กับประสบการณ์ 1 ปีในช่วง 2001-2010 เกี่ยวข้องกับเทคโนโลยีในปี 2020 เท่ากันไหม ที่สุดคือ มันโอเคแค่ไหนกับการกำหนดเกณฑ์อายุตายตัวขนาดนั้นในกฎหมาย

Audrey Tang รัฐมนตรีดิจิทัลของไต้หวันที่เพิ่งเข้ารับตำแหน่งไม่นานนี้ เธอพัฒนาเว็บค้นหาเนื้อเพลงจีนตั้งแต่อายุ 15 ปี ทำงานในบริษัทซอฟต์แวร์ตั้งแต่อายุ 19 ปี เป็นผู้จัดการโครงการโอเพนซอร์สอย่าง Perl เขียนซอฟต์แวร์สเปรดชีตออนไลน์เจ๋งๆ อย่าง EtherCalc เปิดบริษัทของตัวเองหลายแห่ง เป็นที่ปรึกษาให้กับบริษัทแอปเปิล ได้รับการยอมรับทั้งจากภาครัฐ ภาคเอกชน นักพัฒนาซอฟต์แวร์ และนักกิจกรรมสังคม แต่คุณสมบัติไม่น่าจะมาเป็นกสทช.ของไทยได้ในชุดหน้า เนื่องจากวันที่รับตำแหน่งเธออายุเพียง 35 ปี ไม่ถึงเกณฑ์ 45 ปี ของร่างพ.ร.บ.กสทช.ฉบับใหม่ … นี่ มาร์ก ซักเคอร์เบิร์ก ก็ไม่ได้เหมือนกัน ตอนนี้อายุแค่ 32 ปี

วาระดำรงตำแหน่ง

วาระการดำรงตำแหน่งของกรรมการจะถูกกำหนดไว้ในกฎหมายด้วย เช่น ถ้าเป็นกรรมการโดยตำแหน่ง ก็มาและไปตามตำแหน่งนั้นๆ ถ้าเป็นกรรมการที่สรรหามาก็อาจกำหนดให้ดำรงตำแหน่งวาระละ 3 ปี 4 ปี 5 ปี แล้วแต่ นอกจากนี้ยังอาจกำหนดด้วย ว่ากรรมการจะพ้นวาระเมื่อใด เช่น เมื่อตาย ลาออก ถูกถอดถอน ละเมิดกฎ หรืออายุเกิน

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

นอกจากนี้ ยังสามารถออกแบบให้การสรรหากรรมการเข้าสู่คณะกรรมการมีลักษณะเหลื่อมกันได้ด้วย ดังเช่น พ.ร.บ.องค์การกระจายเสียงและแพร่ภาพสาธารณะแห่งประเทศไทย พ.ศ. 2551 หรือพ.ร.บ.ไทยพีบีเอส ในมาตรา 23 วรรค 2 ออกแบบวาระของกรรมการนโยบายเอาไว้น่าสนใจดี

มาตรา 23 พ.ร.บ.ไทยพีบีเอส พ.ศ. 2551

 

คือคณะกรรมการนโยบายของไทยพีบีเอสนั้น มีทั้งหมด 9 คน ประธาน 1 คน กรรมการที่เหลืออีก 8 คน กรรมการมีวาระ 4 ปี – ทีนี้หลัง 2 ปีแรกที่มีคณะกรรมการชุดแรก จะมีจับสลากเอากรรมการออกครึ่งนึง (4 คน) แล้วเลือกเข้ามาใหม่แทนตำแหน่งที่ว่างลง – ผ่านไปอีก 2 ปี กรรมการอีกครึ่งหนึ่งที่รอดจากการจับสลากเมื่อ 2 ปีก่อน ก็จะหมดวาระลง ก็เลือกเข้ามาใหม่ และอีก 2 ปีถัดไปชุดที่เข้ามาแทนที่คนจับสลากออก ก็จะหมดวาระ ก็เลือกเข้าใหม่ เป็นแบบนี้ไปเรื่อยๆ (การจับสลากออกจะเกิดขึ้นแค่ครั้งเดียวในวาระเริ่มแรกเท่านั้น)

ไม่รู้ว่าการออกแบบแบบนี้มีที่มายังไง แต่เห็นว่ามันอาจจะทำหน้าที่ได้อย่างน้อย 3 อย่าง

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

2) ช่วยให้คณะกรรมการ “สดใหม่” อยู่เสมอ “อัปเดต” สมาชิกของคณะกรรมการได้ถี่ขึ้น แทนที่จะต้องรอให้ครบทุก 4 ปี แล้วอัปเดตรวดเดียว ก็สามารถอัปเดตเป็นขยักได้ทุก 2 ปี ตรงนี้ก็น่าจะช่วยให้หน้าตาของกรรมการสอดคล้องกับโจทย์ของสังคม ณ เวลานั้นมากขึ้น

3) ช่วยให้การทำงานของคณะกรรมการมีความต่อเนื่อง ไม่ใช่ว่าเปลี่ยนทีเดียวยกชุด แล้วมาเริ่มใหม่หมดจากศูย์กันทุกคน กว่าจะเข้าที่เข้าทางก็ต้องใช้เวลา ถ้าเปลี่ยนทีละครึ่ง ครึ่งที่อยู่มาก่อนก็ช่วยประครองครึ่งที่เพิ่งเข้ามาใหม่ได้

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

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

อย่างไรก็ตาม การเพิ่มความหลากหลายในความคิดเห็นของกรรมการ-ลดโอกาสการครองงำโดยผู้สรรหากลุ่มเดียว ไม่ได้ทำได้ด้วยการทำให้การเข้าสู่วาระเหลื่อมกันเพียงอย่างเดียว แต่อาจใช้วิธีอื่นได้ด้วย เช่นการออกแบบอำนาจในการแต่งตั้ง การพ้นวาวระ และการถอดถอนกรรมการ ดังเช่นในกรณี ศาลสูงสุดแห่งสหรัฐอเมริกา (Supreme Court of the United States)  ที่ประกอบด้วยสมาชิก 9 คน (ประธาน 1 คน ตุลาการสทบอีก 8 คน) ประธานาบดีแห่งสหรัฐอเมริกามีอำนาจแต่งตั้งสมาชิกศาลสูงสุด (เสนอชื่อและให้สภารับรอง) แต่ไม่มีอำนาจถอดถอน สมาชิกศาลสูงสุดจะอยู่ในวาระไปตลอดชีวิตหรือจนกว่าจะลาออก ซึ่งในทางปฏิบัติ เนื่องจากสมาชิกจะตายไม่พร้อมกันและตายในช่วงประธานาธิบดีที่อาจจะมาจากคนละพรรคการเมือง ส่งผลให้สมาชิกของศาลสูงสุดมีความหลากหลายในทางอุดมการณ์การเมือง

โครงสร้างอำนาจ: คณะกรรมการรายงานต่อใคร ใครสั่งคณะกรรมการได้ ใครสรรหา-แต่งตั้ง-ถอดถอนกรรมการได้

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

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

สำหรับการเข้าสู่ตำแหน่งเพื่อกระจายอำนาจให้ได้ดุล หรือลดการแทรกแซง กฎหมายก็อาจออกแบบให้อำนาจสรรหา แต่งตั้ง และถอดถอน กระจายไปอยู่ในหน่วยงานหรือบุคคลที่แยกต่างหากออกจากกัน

ตัวอย่างเช่น กรณีผู้พิพากษาศาลฎีกาของสหรัฐอเมริกา (Supreme Court of the United States) ประธานาธิบดีมีอำนาจเสนอชื่อ (nominate) จากนั้นวุฒิสภาจะรับรอง (confirm) เพื่อแต่งตั้ง แต่เมื่อผู้พิพากษาคนนั้นรับตำแหน่งแล้ว ก็จะอยู่ในตำแหน่งไปตลอดชีวิต ไม่มีใครมีอำนาจถอดถอนได้ แม้แต่ประธานาธิบดี (เชื่อว่าเพื่อให้การทำงานไม่ถูกแทรกแซง)

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

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

เพื่อ “แก้ปัญหา” ดังกล่าว พ.ร.บ.องค์กรจัดสรรคลื่นความถี่และกำกับการประกอบกิจการวิทยุกระจายเสียง วิทยุโทรทัศน์ และกิจการโทรคมนาคม พ.ศ. 2553 พยายามเปิดช่องให้ตัวแทนจากกลุ่มอื่นที่ไม่ได้กำหนดชื่ออย่างเจาะจงไว้ในกฎหมายสามารถเข้าไปมีส่วนร่วมในการสรรหาได้ โดยกำหนดที่มาของผู้ถูกเสนอชื่อไว้ 2 ทาง ทางหนึ่งมาคณะกรรมการสรรหาที่กฎหมายระบุชื่อไว้ อีกทางหนึ่งมาจากสมาคมหรือนิติบุคคลที่ได้ลงทะเบียนไว้ตามมาตรา 9 จากนั้นรายชื่อจากทั้ง 2 ทางจะถูกรวมเข้าด้วยกันเพื่อให้วุฒิสภาเป็นผู้เลือกและแต่งตั้ง (กระบวนการนี้กำลังจะเปลี่ยนในร่างพ.ร.บ.กสทช.ฉบับใหม่)

เนื่องจากงานของรัฐสมัยใหม่มีความซับซ้อนข้ามประเด็นข้ามความรับผิดชอบมากขึ้น อีกทั้งรัฐยังมีแนวโน้มจะลงมือทำเองน้อยลง และผันตัวไปเป็นผู้อำนวยการ (facilitator) หรือผู้กำกับกิจการ (regulator) มากขึ้น จำนวนคณะกรรมการต่างๆ จึงมีมากขึ้นเรื่อยๆ การสรรหาคณะกรรมการก็มากขึ้นตาม ประเทศอย่างสหราชอาณาจักรต้องการให้กระบวนการสรรหาเหล่านี้เป็นไปด้วยมาตรฐานที่สม่ำเสมอ โปร่งใสตรวจสอบได้ และมีความรับผิดต่อสาธารณะ ก็เลยจัดการให้มีหน่วยงานที่มาทำหน้าที่กำกับการสรรหาแต่งตั้งอีกที ชื่อว่า “คณะกรรมการเพื่อการแต่งตั้งตำแหน่งสาธารณะ” (Commissioner for Public Appointments) โดยคณะกรรมการนี้จะไม่ทำการสรรหาแต่งตั้งเอง แต่จะเป็นผู้ตรวจสอบและรับรองว่าเป็นไปตามกฎที่วางไว้หรือไม่

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

แต่ไม่ใช่แค่คนที่อยู่บนหัวเท่านั้น แต่คนที่อยู่รอบๆ ที่จะทำงานด้วยกัน ช่วยเหลืองานกัน ก็มีส่วนเช่นกัน (และใครสั่งคนๆ นั้นได้? คนๆ นั้นต้องรายงานต่อใคร?)

โครงสร้างการทำงาน: คณะกรรมการมีใครช่วยงาน สั่งการใครได้

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

นอกจากนี้หากงานของคณะกรรมการมีมาก ก็จะมี “สำนักงานเลขานุการ” มาทำหน้าที่เรื่องประสานงาน ธุรการ เลขานุการอื่นๆ เป็นการเฉพาะด้วย เช่น คณะรัฐมนตรี มีสำนักงานคณะรัฐมนตรี, คณะกรรมการกฤษฎีกา มีสำนักงานคณะกรรมการกฤษฎีกา, คณะกรรมการกสทช. มีสำนักงานกสทช., คณะกรรมการคุ้มครองผู้บริโภค มีสำนักงานคณะกรรมการคุ้มครองผู้บริโภค (สคบ.) แต่ก็ไม่จำเป็นว่าหน่วยงานหนึ่งๆ จะรับเป็นสำนักงานเลขานุการให้กับคณะกรรมการเพียงคณะเดียว บางหน่วยงานอาจจะรับมากกว่าหนึ่งก็ได้ แล้วแต่จะออกแบบ

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

ในขณะเดียวกัน ร่างพ.ร.บ.คุ้มครองข้อมูลส่วนบุคคล พ.ศ. … (ฉบับที่ผ่านการพิจารณาของสำนักงานคณะกรรมการกฤษฎีกาแล้วเมื่อ ก.ย. 2558) ในมาตรา 7 (ประกอบนิยามในมาตรา 5) กำหนดให้เลขาธิการสำนักงานคณะกรรมการการรักษาความมั่นคงปลอดภัยไซเบอร์แห่งชาติ เป็นเลขานุการและกรรมการโดยตำแหน่งของคณะกรรมการคุ้มครองข้อมูลส่วนบุคคล (และให้แต่งตั้งเจ้าหน้าที่ของสำนักงานมาช่วยงานได้อีก 2 ตำแหน่ง) และในมาตรา 16 ให้สำนักงานคณะกรรมการการรักษาความมั่นคงปลอดภัยไซเบอร์แห่งชาติทำงานวิชาการและธุรการให้กับคณะกรรมการคุ้มครองข้อมูลส่วนบุคคล

โครงสร้างความสัมพันธ์ คณะกรรมการการรักษาความมั่นคงปลอดภัยไซเบอร์แห่งชาติ – คณะกรรมการคุ้มครองข้อมูลส่วนบุคคล

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

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

ถ้าลองดูที่แผนผังความสัมพันธ์ที่มาและที่ไปของอำนาจ ก็จะเห็นได้ว่า มันเอนไปทางฝั่งมั่นคงไซเบอร์มากกว่าด้านคุ้มครองข้อมูล ตรงนี้บอกอะไรกับเราไหม

Relationship between National Cybersecurity Committee and Personal Data Protection Committee

 

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

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

อ้างอิง
  1. การเข้าสู่ตำแหน่งที่เหลื่อมกันของคณะกรรมการไทยพีบีเอส (Facebook)
  2. ช่วงอายุของกรรมการ ในร่างพ.ร.บ.กสทช.ล่าสุด (ก.ย. 2559) (Facebook)
  3. มาตรา 7 ร่าง พ.ร.บ.คุ้มครองข้อมูลส่วนบุคคล พ.ศ. ….
  4. มาตรา 7 ร่าง พ.ร.บ.องค์กรจัดสรรคลื่นความถี่และกำกับการประกอบกิจการวิทยุกระจายเสียง วิทยุโทรทัศน์ และกิจการโทรคมนาคม (ฉบับที่..) พ.ศ. ….
  5. มาตรา 8 ร่าง พ.ร.บ.การพัฒนาดิจิทัลเพื่อเศรษฐกิจและสังคม พ.ศ. ….
  6. มาตรา 11 พ.ร.บ.คุ้มครองผู้บริโภค (ฉบับที่ 2) พ.ศ. 2541
  7. มาตรา 6 พ.ร.บ.คณะกรรมการสิทธิมนุษยชนแห่งชาติ พ.ศ. 2542
  8. มาตรา 8 พ.ร.บ.พัฒนาการบริหารงานยุติธรรมแห่งชาติ พ.ศ. 2549
  9. มาตรา 19 พ.ร.บ.องค์การกระจายเสียงและแพร่ภาพสาธารณะแห่งประเทศไทย พ.ศ. 2551
  10. มาตรา 8 พ.ร.บ.การมาตรฐานแห่งชาติ พ.ศ. 2551
  11. มาตรา 11 พ.ร.บ.การให้บริการด้านนิติวิทยาศาสตร์ พ.ศ. 2559
  12. มาตรา 8 และมาตรา 14 พ.ร.บ.องค์กรจัดสรรคลื่นความถี่และกำกับกิจการวิทยุกระจายเสียงวิทยุโทรทัศน์ และกิจการโทรคมนาคม พ.ศ. 2543
  13. มาตรา 8 มาตรา 14 และมาตรา 50 พ.ร.บ.องค์กรจัดสรรคลื่นความถี่และกำกับกิจการวิทยุกระจายเสียงวิทยุโทรทัศน์ และกิจการโทรคมนาคม พ.ศ. 2543
  14. มาตรา 7 และมาตรา 20 พ.ร.บ.องค์กรจัดสรรคลื่นความถี่และกำกับการประกอบกิจการวิทยุกระจายเสียง วิทยุโทรทัศน์ และกิจการโทรคมนาคม พ.ศ. 2553
  15. มาตรา 222 ร่างรัฐธรรมนูญแห่งราชอาณาจักรไทย พ.ศ. …. (ฉบับลงประชามติ 7 ส.ค. 2559)
  16. มาตรา 232 ร่างรัฐธรรมนูญแห่งราชอาณาจักรไทย พ.ศ. …. (ฉบับลงประชามติ 7 ส.ค. 2559)
  17. มาตรา 6 พ.ร.บ.สภาความมั่นคงแห่งชาติ พ.ศ. 2559

bact: การลงทะเบียนซิมใน 3 จังหวัดภาคใต้ (2548 – ยุคก่อนประกาศกสทช.)

25 October, 2016 - 17:47

ความรู้ใหม่ มีกฎหมาย “พ.ร.บ.ควบคุมโภคภัณฑ์ พ.ศ. 2495” มีทางจะเอามาใช้แบบนี้ได้ด้วย

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

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

เม.ย. 2548

นายจาตุรนต์ ฉายแสง รองนายกรัฐมนตรี ในฐานะประธานการประชุมจัดระเบียบซิมการ์ดโทรศัพท์มือถือแบบเติมเงินเพื่อป้องกันการนำไปใช้เป็นตัวก่อเหตุจุดฉนวนระเบิดใน 3 จังหวัดชายแดนภาคใต้ ได้ข้อสรุปว่า

1) ขอความร่วมมือจากคณะกรรมการกิจการโทรคมนาคม (กทช.) ในการออกกฎหมายควบคุม

หาก กทช.เห็นว่าไม่สามารถดำเนินการได้ ก็จะใช้แนวทางที่สอง คือ

2) ใช้ พ.ร.บ.ควบคุมโภคภัณฑ์ พ.ศ. 2495 ของกระทรวงพาณิชย์ ที่กำหนดให้รัฐสามารถควบคุมโภคภัณฑ์เพื่อสวัสดิภาพของประชาชนและความมั่นคงของประเทศ

ตอนนั้นตัวแทนหน่วยงานความมั่นคงและการข่าวที่ร่วมประชุมมีอาทิ พล.ต.อ.ชิดชัย วรรณสถิตย์ รองนายกรัฐมนตรี และรัฐมนตรีว่าการกระทรวงมหาดไทย พล.อ.ประวิตร วงษ์สุวรรณ ผู้บัญชาการทหารบก พล.ต.อ.เพรียวพันธ์ ดามาพงศ์ รองผู้บัญชาการตำรวจแห่งชาติ พล.ต.ท.ปรุง บุญผดุง ผู้บัญชาการตำรวจสันติบาล และพล.ต.ท.จุมพล มั่นหมาย ผู้อำนวยการสำนักข่าวกรองแห่งชาติ

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

ต่อมาได้มอบหมายให้กระทรวงเทคโนโลยีสารสนเทศและการสื่อสาร (ไอซีที) ไปดำเนินการ

พ.ย. 2548

กระทรวงไอซีที ออกประกาศกระทรวงฯ เรื่องการลงทะเบียนบัตรประจำตัวของผู้ใช้บริการ (ซิมการ์ด) โดยใช้อำนาจตาม มาตรา 11 ของพ.ร.ก.กำหนดการบริหารราชการในสถานการณ์ฉุกเฉิน พ.ศ. 2548 ข้อ 6

มาตรา 11 ในกรณีที่สถานการณ์ฉุกเฉินมีการก่อการร้าย การใช้กำลังประทุษร้ายต่อชีวิต ร่างกาย หรือทรัพย์สิน หรือมีเหตุอันควรเชื่อได้ว่ามีการกระทำที่มีความรุนแรงกระทบต่อความมั่นคงของรัฐ ความปลอดภัยในชีวิตหรือทรัพย์สินของรัฐหรือบุคคล และมีความจำเป็นที่จะต้องเร่งแก้ไขปัญหาให้ยุติได้อย่างมีประสิทธิภาพและทันท่วงที ให้นายกรัฐมนตรีโดยความเห็นชอบของคณะรัฐมนตรีมีอำนาจประกาศให้สถานการณ์ฉุกเฉินนั้นเป็นสถานการณ์ที่มีความร้ายแรง และให้นำความในมาตรา 5 และมาตรา 6 วรรคสอง มาใช้บังคับโดยอนุโลม เมื่อมีปรกาศตามวรรคหนึ่งแล้ว นอกจากอำนาจตามมาตรา 7 มาตรา 8 มาตรา 9 และมาตรา 10 ให้นายกรัฐมนตรีมีอำนาจดังต่อไปนี้ด้วย
[…]
(6) ประกาศห้ามมิให้กระทำการใดๆ หรือสั่งให้กระทำการใดๆ เท่าที่จำเป็นแก่การรักษาความมั่นคงของรัฐ ความปลอดภัยของประเทศ หรือความปลอดภัยของประชาชน

ส.ค. 2549

มติคณะรัฐมนตรี 2 ส.ค. 2549

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

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

 

ภาพประกอบ: Micro SIM card โดย Tsahi Levent-Levi. สัญญาอนุญาตครีเอทีฟคอมมอนส์แบบแสดงที่มา 2.0

bact: โลกของเราขาวไม่เท่ากัน: ข้อคำนึงเพื่อเว็บขาวดำแต่พอดี

16 October, 2016 - 12:43

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

อย่างไรก็ตาม มีข้อควรระวังด้วย เพื่อไม่ให้กระทบกับการใช้งานหรือเกิดความผิดพลาดระหว่างใช้งาน โพสต์นี้ผมรวมเอาข้อแนะนำจากหลายๆ คนที่เจอบนเฟซบุ๊กมารวมเอาไว้ ขอขอบคุณคุณ @Nutn0nFufu Dogu, และ Kasiti Panthanom ด้วยครับ

ในช่วงแรกจะพูดถึงข้อควรระวังพื้นฐาน วิธีเฉพาะหน้าเพื่อทำสีโทนขาวดำ จากนั้นจะพูดถึงปัญหา ทางแก้ไขระยะยาว โดยอ้างอิงส่วนหนึ่งจาก Web Content Accessibility Guidelines ของ W3C และ human interface guidelines ของแอปเปิล

ปรับสี ให้คำนึงถึงการใช้งานด้วย

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

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

สำหรับเว็บไซต์ที่

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

ไม่ควรปรับสี “ทั้งเว็บไซต์” ให้เป็นขาวดำ แต่ให้พิจารณาปรับเฉพาะจุด และอาจพิจารณาทางเลือกอื่น เช่น ปรับเฉพาะภาพโลโก้เป็นขาวดำ แสดงแบนเนอร์ด้านบนของทุกหน้า แสดงภาพใหญ่ในหน้าแรกหน้าเดียว หรือทำเป็น landing page แยกออกมาต่างหากก่อนเข้าหน้าเว็บหลัก (ไม่ค่อยอยากแนะนำเท่าไหร่สำหรับ landing page)

วิธีเฉพาะหน้า

ก่อนอื่นขอพูดถึง 2 เทคนิคที่ขณะนี้หลายเว็บไซต์ใช้อยู่ก่อน คือการใช้ CSS filter (ทั้ง grayscale() และ saturate()) กับการใช้ JavaScript แบบ “หว่านแห” ครอบจักรวาล เพื่อเปลี่ยนสี “ทั้งเว็บไซต์”

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

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

แม้เบราว์เซอร์รุ่นใหม่ๆ หน่อยปรับปรุงประสิทธิภาพของ filter grayscale() และ filter saturate() ให้ดีขึ้นมากแล้ว แต่ถ้าใช้ทั้งหน้ากับทุก element ก็อาจจะหน่วงบ้าง

จริงๆ แล้วในเรื่องนี้นั้น CSS filter ก็ยังทำงานได้เร็วกว่า JavaScript แต่สาเหตุที่บางคนเลือกใช้ JavaScript (เช่น grayscale.js) ก็เพราะตัว Internet Explorer ยังรองรับ CSS filter ได้ไม่เต็มที่

ซึ่งก็มาถึงปัญหาที่สอง คือ CSS filter ในแต่ละเบราว์เซอร์นั้นทำงานแตกต่างกันอยู่บ้าง และอาจทำให้เกิดพฤติกรรมที่ไม่พึงประสงค์

ตัวอย่าง CSS filter ที่ใช้กันมาก

[*|html|body|Element] {
-webkit-filter: grayscale(100%);
filter: grayscale(100%);
filter: url('grayscale.svg#grayscale');
filter: gray;
}

คุณ Fufu Dogu สรุปปัญหาที่พบบนเบราว์เซอร์ต่างๆ ไว้ดังนี้

  • Chrome – แสดงผลขาวดำได้ มีปัญหาเรื่อง z-index จะคำนวณผิดไปจากเดิม
  • Safari – แสดงผลขาวดำได้ อาจมีหน่วงบ้างถ้าเว็บใหญ่
  • Firefox – แสดงผลขาวดำได้ มีปัญหาเรื่อง position, z-index, ถ้าใช้ * เว็บหน้าเสียเลย
  • IE <= 9 แสดงผลขาวดำได้ มีปัญหาเรื่อง pseudo Element จะไม่ขาวดำ, IE 10-12 ใช้งานไม่ได้, IE 13-14 ใช้งานได้

z-index ในที่นี้คือเลขระบุตำแหน่ง “แกนลึก” หรือระดับชั้นของหน้าเว็บ นึกถึงว่าหน้าเว็บก็เหมือนกระดาษ และเราเอากระดาษมาซ้อนกันได้หลายๆ แผ่น วิธีระบุว่าเรากำลังพูดถึงกระดาษแผ่นไหนอยู่ ก็คือเลข z-index นั่นเอง (เลขยิ่งมากยิ่งอยู่บน, เลข 0 คือแผ่นหลังสุด) การอ้างอิง z-index ผิด จะทำให้อินเทอร์เฟซบางส่วนทำงานผิดพลาดได้ และส่งผลต่อการใช้งาน (เช่นโปรแกรมอาจจะสั่งให้เปลี่ยนการแสดงผลข้อความที่อยู่บนกระดาษแผ่นที่ 3 แต่พอใช้ filter ปุ๊บ โปรแกรมมันหากระดาษแผ่นที่ 3 ไม่เจอแล้ว ก็เลยเปลี่ยนข้อความไม่ได้)

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

สรุปคือ 2 วิธีนี้ ทำสะดวก ทำน้อยได้เยอะ แต่อาจมีผลกระทบกับประสิทธิภาพและความถูกต้องในการใช้งาน ดังนั้นจึงเหมาะกับการใช้งาน “แก้ขัด” เฉพาะหน้าไปก่อน ในระหว่างแก้ไขแบบงานละเอียด

ปรับสีแบบงานละเอียด

“งานละเอียด” ที่ว่า มี 2 ระดับความละเอียด (ไม่มีหลักอะไร แบ่งเอาเองนี่แหละ)

แบบแรกคือ ใช้ CSS override ทำ stylesheet ขึ้นมาใหม่อีกชุด แล้วแก้ไข CSS เพื่อแสดงผลขาวดำเป็นจุดๆ ไป (ไม่ได้สั่งให้ทำแบบครอบจักรวาลทุกจุด) เช่น แก้เฉพาะตัว img หรือกำหนด class ขึ้นมาเฉพาะอันหนึ่งแล้ว element ไหนต้องการให้เป็นขาวดำก็เพิ่ม class ดังกล่าวเข้าไป จากนั้นก็ไปประกาศใช้หลัง stylesheet หลัก เพื่อให้ค่าต่างๆ ตัว stylesheet ที่ประกาศทีหลังนี้ ไปทับ (override) ค่าเดิมของตัว stylesheet หลัก

แบบสอง ละเอียดขึ้นไปอีก คือออกแบบธีมใหม่เลย โดยให้คำนึงถึงด้วยว่า เมื่อ UI ถูกลดสีลงแล้ว จะส่งผลต่อการใช้งานอย่างไรบ้าง ผู้ใช้จะแยกแยะปุ่มต่างๆ ข้อความเตือนต่างๆ ได้เหมือนเดิมหรือไม่ (ซึ่งตรงนี้มันปรับด้วย CSS อย่างเดียวไม่ได้) มี visual element หรือ visual cue อะไรที่จะเสริมการแยกแยะได้อีกบ้าง

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

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

W3C แนะนำไว้ใน Web Content Accessibility Guidelines (WCAG) ว่า contrast ratio ของสีตัวอักษรขนาดเล็กและพื้นหลังควรอยู่ที่อย่างน้อย 4.5:1 และตัวอักษรขนาดใหญ่ (14 pt bold หรือ 18 pt regular ขึ้นไป) ควรมี contrast ratio ที่อย่างน้อย 3:1

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

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

ทั้งหมดนี้ควรคำนึงถึงสาระที่ต้องการจะสื่อหรือประโยชน์ใช้สอย รวมถึงประโยชน์ของสาธารณะ โดยเฉพาะเรื่องที่เกี่ยวกับความปลอดภัยสาธารณะ

แปลงรูปเป็นขาวดำทีละเยอะๆ

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

สำหรับคนใช้ OS X (หรือ macOS .. ฮ่วย) และถนัด Automator (มากับโอเอสอยู่แล้ว) ลองทำ Workflow ตามรูปนี้ (กล่องล่างสุดคือ Apply ColorSync Profile: Gray Tone ถ้าไม่มี ใช้ Apply Quartz Composition Filter: Black and White แทนก็ได้ แต่มันจะออกแนวทำรูปเก่า ไม่ใช่ปรับสีเทาอย่างเดียว)

เรียนรู้ร่วมกันเรื่องการใช้สีกับ UI

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

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

ตัวอย่างคำแนะนำจากแอปเปิลในการใช้สีในอินเทอร์เฟซของ iOS:

Be aware of colorblindness and how different cultures perceive color. People see colors differently. Many colorblind people, for example, find it difficult to distinguish red from green (and either color from gray), or blue from orange. Avoid using these color combinations as the only way to distinguish between two states or values. For example, instead of using red and green circles to indicate offline and online, use a red square and a green circle. Some image-editing software includes tools that can help you proof for colorblindness. Also consider how your use of color might be perceived in other countries and cultures. In some cultures, for example, red is used to communicate danger. In others, red has positive connotations. Make sure the colors in your app send the appropriate message.

ถอดความได้ดังนี้

“ให้คำนึงถึงภาวะตาบอดสีและการที่สีถูกรับรู้ต่างกันในต่างวัฒนธรรม

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

ตัวอย่างเช่น แทนที่จะใช้วงกลมสีแดงและวงกลมสีเขียวเพื่อบ่งบอกถึงสถานะออฟไลน์และออนไลน์ ให้ใช้สี่เหลี่ยมสีแดงและวงกลมสีเขียวแทน

ซอฟต์แวร์แก้ไขภาพบางตัวจะมีเครื่องมือที่ช่วยให้คุณตรวจสอบการใช้งานในภาวะตาบอดสี

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

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

ดูเพิ่มเติมเรื่องนี้ได้ที่ Understanding WCAG 2.0: Contrast และถ้าอยากทดลองว่าคนตาบอดสีเห็นสีอย่างไร มีซอฟต์แวร์จำลองให้ใช้ฟรีทั้งบน Windows และ Mac ชื่อว่า Color Oracle หรือถ้าจะลองกับหน้าเว็บไซต์แบบไม่ต้องลงโปรแกรมอะไรในเครื่อง ไปที่เว็บ Colorblind Web Page Filter

สรุป/ตัดจบ
  • พิจารณา ประโยชน์ใช้สอย+ความปลอดภัย ว่าเหมาะสมไหมที่จะปรับสีของทั้งเว็บไซต์ (ด้วยการแทรกโค้ดที่ยังไม่ได้ทดสอบผลกระทบ)
  • การบังคับปรับสีด้วยโค้ดลัดแบบ “หว่านแห” อาจทำได้หากเป็นการทำเฉพาะหน้าไปก่อน แต่ควรตรวจสอบตามหลังด้วย เพื่อซ่อมปัญหาที่น่าจะเกิดตามมาแน่ (โดยเฉพาะเรื่อง contrast) และหากทำได้ก็ควรเปลี่ยนไปใช้โค้ดที่เฉพาะเจาะจง ปรับสีเฉพาะจุด เลือกปรับสีด้วยมือจะดีกว่า
  • การใช้สีให้คำนึงถึงการใช้งาน
    • แผนภูมิ แผนภาพ แผนที่ หรือภาพถ่าย ที่สีมีความสำคัญ ให้พิจารณาคงสีเดิมไว้ หรือปรับลดสีลงให้ยังอยู่ในระดับที่ยังแยกแยะและใช้ประโยชน์จากภาพได้
    • ตัวอักษร ให้มี contrast ที่เหมาะสมเมื่อเทียบกับพื้นหลัง contrast ratio ที่แนะนำคือ 4.5:1 ขึ้นไป (สำหรับตัวอักษรขนาดเล็ก) และ 3:1 ขึ้นไป สำหรับตัวอักษรขนาดใหญ่ (14 pt bold หรือ 18 pt regular ขึ้นไป) – ลองดูตัวอย่างคู่สีโทนขาวดำ ที่คุณ Fufu Dogu ทำมา และดูตัวอย่างคู่สีอื่นๆ เพิ่มเติมที่ Color Contrast for Better Readability
    • ปุ่ม ป้ายแจ้งเตือน UI อื่นๆ ให้ตรวจสอบว่า หลังจากปรับสี ยังสามารถแยกแยะปุ่มที่อยู่ใกล้เคียงกันได้หรือไม่ โดยเฉพาะคำถามที่ให้ผู้ใช้เลือก 2 ทาง หากแยกลำบากให้เพิ่ม visual element เช่นสัญลักษณ์ต่างๆ เข้าไปเป็นตัวช่วย
  • ถ้าทำได้ ควรมีโหมดปกติให้ผู้ใช้สลับกลับมาได้ด้วย (เช่นที่เว็บไซต์ Jeban.com ทำ)
  • หากมีเวลา ลอง(ขอเวลาจากบอส)ศึกษา Web Content Accessibility Guidelines เพื่อการทำเว็บที่ทุกคนเข้าถึงได้

 

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

 

(“โลกของเราขาวไม่เท่ากัน” เป็นชื่อหนังสือที่ ม.ล.ปริญญากร วรวรรณ และ วรพจน์ พันธุ์พงศ์ เขียนร่วมกัน – สำนักพิมพ์ openbooks)

Kitt: พระบาทสมเด็จพระเจ้าอยู่หัวสวรรคต

14 October, 2016 - 10:00
ฉันทราบข่าวในตอนเย็นของวันที่ ๑๓ ตุลาคม ๒๕๕๙ ตลอดเวลา ๒ ปีก่อนหน้านั้น ฉันรู้ว่าเหตุการณ์นี้จะมาถึง ตั้งแต่ข่าวพระราชกรณียกิจหายไปจากโทรทัศน์ ข่าวเสด็จเข้ารักษาที่ศิริราช – รพ.ที่พระบิดาของพระองค์เป็นผู้สร้าง – ฉันถอนหายใจทุกครั้งที่ได้ทราบข่าวจากสำนักราชวัง จะทั้งหนักใจ หรือโล่งใจในบางคราว ก่อนหน้าไม่กี่วัน ฉันได้คุยกับหมอที่นับถือ คุณหมอตอบให้ฉันเข้าใจได้ว่าจากแถลงการณ์สำนักราชวังนั้น เราเหลือเวลาอีกไม่นานจริงๆ สองวันจากนั้น  วันที่ ๑๓ ตุลาคม ๒๕๕๙ รัชกาลที่ ๙ ในราชวงค์จักรีสวรรคต ฉันรู้สึกชา ไม่ได้ร้องไห้เลย ฉันมีหน้าที่ต้องทำในคืนนั้น หน้าที่ที่ต้องทำอย่างเหมาะสม ในฐานะข้าราชการในพระองค์ เช้าวันรุ่งขึ้น ฉันขับรถมาทำงานตามปกติ แลเห็นธงครึ่งเสา .. ฉันกลั้นน้ำตาไม่อยู่ สำหรับฉัน พระบาทสมเด็จพระเจ้าอยู่หัว สอนให้ฉันรู้จักตัวเอง รู้จักหน้าที่ รู้จักภาระที่ต้องแบกรับ เป็นพระองค์หนึ่งที่ทำให้ฉันรู้ว่า “ชาตินี้ ฉันเกิดมาเพื่ออะไร”

Thep: Crypto Disk Shutdown Problem Workaround (2)

10 October, 2016 - 11:37

จาก blog ที่แล้ว ที่ได้เขียนถึงการแก้ขัดปัญหา shutdown เครื่อง Debian ที่ใช้ sysvinit ไม่ลง อันเนื่องมาจากการค้างที่ขั้นตอนการปิด crypto disk ด้วยการไปแก้ไฟล์ /lib/cryptsetup/cryptdisks.functions นั้น หลังจากนั้นก็ได้ครุ่นคิดหาวิธีที่เหมาะสมกว่านั้น จนถึงจุดที่คิดว่าน่าจะลองเสนอใน Debian ได้

ปัญหาของการแก้แบบเดิมก็คือ:

  1. ไม่ idempotent เพราะใน do_stop() ไป stop ดีมอน แต่ใน do_start() ไม่ได้สั่ง start ดีมอนใหม่ เพราะสมมุติว่ามันถูก start มาแล้ว และทำแค่หา PID ของดีมอนมาใส่ใน omit file เท่านั้น ซึ่งจะทำให้เกิดปัญหาดีมอนตายได้หากผู้ใช้สั่ง stop, start หรือ restart cryptdisks ขณะที่เครื่องทำงานอยู่ ไม่ใช่ผ่านการ shutdown หรือ reboot ตามปกติ
  2. อาจกระทบผู้ใช้ init ระบบอื่น เพราะฟังก์ชันนี้อาจถูกเรียกใช้จากระบบ init อื่นก็ได้ ทั้งที่ระบบเหล่านั้นอาจไม่ได้มีปัญหานี้ และอาจเกิดผลกระทบไม่พึงประสงค์ได้
  3. ไม่สวยและไม่ปลอดภัย การอ่านค่า PID ด้วย ps, grep, awk ดูเยิ่นเย้อและไม่ปลอดภัย เพราะ awk อยู่ใน /usr/bin ซึ่งเสี่ยงต่อการเรียกในระหว่างการบูตที่อาจจะยังมีแค่ /bin หรือ /sbin ให้ใช้

ปัญหาการกระทบระบบ init อื่น ทำให้มองไปที่การแก้ /etc/init.d/* แทน ซึ่งในอีกแง่หนึ่ง ก็เป็นการแก้ในระดับบนซึ่งเป็นระดับเดียวกับที่ service อื่น ๆ ใช้จัดการกับ sendsigs อยู่แล้ว จึงสรุปว่าน่าจะเหมาะสมด้วยประการทั้งปวง

เบื้องต้นผมจึงไปแก้ที่ /etc/init.d/cryptdisks โดยทำหลังจาก do_start เสร็จแล้ว:

--- /etc/init.d/cryptdisks.orig 2016-10-08 17:14:02.087652932 +0700
+++ /etc/init.d/cryptdisks 2016-10-10 09:42:15.301303974 +0700
@@ -31,9 +31,19 @@
  ;;
 esac
 
+UDEVD_DAEMON="/lib/systemd/systemd-udevd"
+
 case "$1" in
 start)
  do_start
+
+ # Omit udev daemon on halt to allow cryptsetup to do the close
+ UDEVD_PID=$(pidof $UDEVD_DAEMON)
+ if [ ! -z "$UDEVD_PID" ]; then
+  OMITDIR=/run/sendsigs.omit.d
+  mkdir -p $OMITDIR
+  echo $UDEVD_PID > $OMITDIR/systemd-udevd
+ fi
  ;;
 stop)
  do_stop

สังเกตว่าในรอบนี้ผมไม่ได้สั่ง stop ดีมอนหลัง do_stop อีกแล้ว เพราะทำให้เกิดปัญหาไม่ idempotent ดังที่กล่าวไปแล้ว อีกทั้งมันไม่จำเป็นเลย เพราะ service script ของ udev เองก็จะทำหน้าที่ stop ดีมอนนี้ให้อยู่แล้ว สิ่งที่จำเป็นมีแค่ชะลอไม่ให้ดีมอนถูกฆ่าจนถึงตอนนั้นก็พอ

และสังเกตว่าผมไม่ได้ใช้สคริปต์เยิ่นเย้อในการหา PID ของดีมอนอีกแล้ว ในเมื่อสามารถใช้ /bin/pidof ที่สั้นกระชับและปลอดภัยกว่า

อย่างไรก็ดี สิ่งที่ยังคาใจอยู่ในขั้นนี้ก็คือ มันควรแก้ที่ udev จะเหมาะสมที่สุดถ้าทำได้ เพราะเป็นเจ้าของดีมอนเอง การแยกตรรกะการละเว้นดีมอนมาไว้ที่ service อื่น ดูไม่สวยเท่าไร

ในรอบที่แล้วผมทำกับ udev ไม่สำเร็จ คาดว่าเป็นเพราะไปแทรกโค้ดที่ลำดับต้น ๆ ตั้งแต่เพิ่งเรียกดีมอนใหม่ ๆ ซึ่ง file system อาจจะยังไม่พร้อม อีกทั้งการเรียกใช้ awk จาก /usr/bin ก็ยังสุ่มเสี่ยงมากในระหว่างบูตอีกด้วย

รอบนี้ผมจึงลองใหม่ให้หายคาใจ โดยไปแทรกโค้ดในลำดับท้ายสุด หลังจาก Waiting for /dev to be fully populated... เสร็จแล้ว:

--- /etc/init.d/udev.orig 2016-10-10 09:40:47.937302585 +0700
+++ /etc/init.d/udev 2016-10-10 09:42:59.701304680 +0700
@@ -203,6 +203,14 @@
     else
  log_action_end_msg 0 'timeout'
     fi
+
+    # Omit systemd-udevd on halt to allow cryptsetup to do the close
+    UDEVD_PID=$(pidof $DAEMON)
+    if [ ! -z "$UDEVD_PID" ]; then
+        OMITDIR=/run/sendsigs.omit.d
+        mkdir -p $OMITDIR
+        echo $UDEVD_PID > $OMITDIR/udev
+    fi
     ;;
 
     stop)

ตรวจความเรียบร้อยแล้วก็ลองรีบูตเครื่องดู... ผ่าน!

ถึงจุดนี้ ก็เลยคิดว่าควรลองเสนอเข้าบั๊ก Debian #791944 ดู (ข้อความ #103) เพื่อให้ผู้ดูแลพิจารณาตามความเหมาะสม

bact: เราเป็น เจ้า-ของ อะไรบ้างในยุคดิจิทัล?

7 October, 2016 - 22:49
ในยุคคอมพิวเตอร์ตั้งโต๊ะ

Hardware: เราเลือกฮาร์ดแวร์ได้ตามใจชอบ เสียก็ซ่อมหรือเปลี่ยนเป็นส่วนๆ ได้ พอจะทำได้ด้วยตัวเอง

Software: ซอฟต์แวร์ก็มีที่เป็นซอฟต์แวร์เสรี/โอเพ่นซอร์สให้เลือก จะใช้ OpenOffice, Linux อะไรก็ว่าไป

ในยุคโน๊ตบุ๊ก

Hardware: ตัวฮาร์ดแวร์นี่เริ่มยากละ เลือกเป็นชิ้นๆ ไม่ค่อยได้ มันมาเป็นเซ็ต ช่วงหลังๆ เสียก็ต้องเปลี่ยนยกบอร์ด ยังพออัปเกรดแรมและฮาร์ดดิสก์ได้ แต่ล่าสุด บางเครื่องเปิดฝาออกมาดูเองยังทำไม่ค่อยจะได้ อัปเกรดเองยาก หรือไม่รองรับการอัปเกรดเเลย กระจกจอภาพกับแผงวงจรจอติดกาวกันแน่น จะเปลี่ยนต้องเปลี่ยนทั้งฝาไปเลย

Software: ซอฟต์แวร์ไม่เปลี่ยนอะไรนัก เลือกได้เหมือนๆ เดิม ไม่ต่างจากสมัยเดสก์ท็อป

ในยุคมือถือ-คลาวด์

Hardware: ฮาร์ดแวร์นี่เสียก็เปลี่ยนยกแผงหรือแทบโยนทิ้งเพราะซ่อมไม่คุ้ม

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

ผู้(รับ)ใช้ ไม่ใช่ “เจ้า”ของ

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

จริงๆ มันก็มากับเรื่องอื่นด้วย คือ

– ระบบคอมมันซับซ้อนขึ้น คนทั่วไปมีความรู้ไม่มากพอที่จะซ่อมมันละ (นึกถึงรถยนต์สมัยก่อน กับรถยนต์ที่ควบคุมด้วยคอมพิวเตอร์สมัยนี้ สมัยนี้จะซ่อมเองก็วุ่นหน่อย)

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

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

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

– ต่อให้มีความรู้ มีเครื่องมือ แต่ก็อาจจะซ่อมไม่ได้ถนัดอยู่ดี เพราะการเข้าถึงหรือแก้ไขอะไรบางอย่างในระบบ อาจหมายถึง “การละเมิดทรัพย์สินทางปัญญา” ข้อหาเข้าถึงงานอันมีลิขสิทธิ์ที่มีระบบป้องกันทางเทคโนโลยีโดยไม่ได้รับอนุญาตจากเจ้าของลิขสิทธิ์

+ ผู้ผลิตอาจจะออกใบอนุญาตในการซ่อม เฉพาะคนที่มีใบอนุญาตถึงจะซ่อมได้ ก็จัดสอบกันไป

เราอยู่ในสภาพแวดล้อมทางคอมพิวเตอร์ที่ต้องขออนุญาตกันมากขึ้นเรื่อยๆ

ทั้งๆ ที่มันเป็นเครื่องเป็นของที่เราซื้อมา แต่เราไม่ได้เป็น “เจ้า” ของมันอีกต่อไปแล้ว ผู้ผลิตต่างหากที่เป็น “เจ้า” จริงๆ ที่ควบคุมของที่เราซื้อมา

เรื่องที่เกี่ยวข้อง

Thep: Crypto Disk Shutdown Problem Workaround

7 October, 2016 - 16:08

เมื่อเช้านี้รีบูตเครื่องหลายรอบมาก กว่าจะได้เริ่มงาน เหตุเพราะถูกบั๊ก Debian #839888 ของ cryptsetup กัด สุดท้ายเลยได้นั่งลงแก้ปัญหา crypto disk ที่ทำให้ shutdown เครื่องไม่ลงมาเป็นปีเสียที

ผมใช้ encrypted file system ในโน้ตบุ๊กเครื่องปัจจุบันมาตั้งแต่เริ่มแรก แต่มาเริ่มมีปัญหาในรอบ Stretch นี้น่าจะเกือบปีแล้ว คือในการ shutdown เครื่องมันจะมาค้างตรงขั้น Stopping remaining crypto disks... แล้วก็ไม่ไปไหน แม้จะลองทิ้งไว้เป้นชั่วโมงก็ตาม สุดท้ายต้องยอมกดปุ่ม power ค้างเพื่อตัดไฟให้เครื่องมันดับ แล้วก็ให้มันมา recover journal ตอนเปิดเครื่องใหม่เอา

ปล่อยให้เป็นอย่างนี้มาเป็นปี เพราะยังไม่มีเวลาไปนั่งแก้ปัญหา ตัว cryptsetup เองก็มีอัปเดตใน Debian มาหลายรุ่น แต่ละรุ่นก็ได้แต่ภาวนาว่าจะมีการแก้ปัญหานี้ แต่ก็ไม่มี และในเมื่อเครื่องมันยังเปิดใช้งานได้ทุกวัน ผมเลยปล่อยให้มันเป็นอย่างนี้มาเรื่อย ๆ (ซึ่งไม่ควร)

จนกระทั่งเมื่อเช้ามันบูตไม่ขึ้น! เพราะรุ่น 2:1.7.2-1 มีบั๊กในสคริปต์ที่พิมพ์ผิด ซึ่งเป็นรายงานที่ผมเพิ่งจะได้อ่านหลังจากที่แก้ปัญหาด้วยตัวเองจนบูตเครื่องขึ้นมาต่อเน็ตได้แล้ว และแก้ด้วยแพตช์เดียวกันกับในรายงานบั๊กเป๊ะ

แต่ก็ไม่ได้ทำให้ปัญหาเครื่องค้างตอน shutdown หายไป แต่ไหน ๆ ก็มือเปรอะไปแล้ว เลยนั่งไล่ต่อ จนกระทั่งไปพบคำสนทนาที่สาวไปจนถึงบั๊ก Debian #791944 ซึ่งทำให้รู้ว่าปัญหานี้เกิดเฉพาะกับระบบที่ใช้ sysvinit เท่านั้น ไม่เกิดกับ systemd และในความเห็น #72 Guilhem Moulin ได้พบว่าในขั้นตอนการ shutdown นั้น ดีมอน systemd-udevd ได้ถูก kill ไปก่อนที่จะถึงขั้นปิด crypto disk ทำให้คำสั่ง cryptsetup luksClose "$dst" ค้าง!

พิษ systemd อีกแล้วครับพี่น้อง!

แต่อย่างไรก็ดี ในเมื่อได้เบาะแสอย่างนี้แล้ว ถ้าเราสามารถทำให้ดีมอน systemd-udevd อยู่รอดจากการฆ่าจนถึงขั้นปิด crypto disk ได้ ปัญหาเราก็จะหมดไป

แน่นอนว่าวิธีที่ถูกหลักการนั้น ต้องไปแก้ที่ระบบ init และสถานะล่าสุดของบั๊กดังกล่าว คือ reassign ไปให้แพกเกจ initscripts แต่เครื่องผมล่ะ? ขอแก้ปัญหาเฉพาะหน้าระหว่างรอละกัน

วิธีแก้ขัดของผมคือ ในขั้นตอน sendsigs ของการ shutdown เพื่อ Asking all remaining processes to terminate นั้น เราสามารถละเว้นบางโพรเซสจากการรับ SIGTERM ได้ โดยเพิ่มไฟล์ที่เก็บ PID ไว้ในไดเรกทอรี /run/sendsigs.omit.d/ ตัวอย่างของ service ที่ทำแบบนี้ก็เช่น rsyslog และ wpasupplicant ผมก็จัดการยืมมาใช้กับ cryptdisks เสีย โดยแก้ไฟล์ /lib/cryptsetup/cryptdisks.functions ในฟังก์ชัน do_start() ให้เพิ่ม PID ของ systemd-udevd ไว้ในรายชื่อโพรเซสละเว้น:

--- cryptdisks.functions.orig   2016-10-07 12:11:36.104693329 +0700
+++ cryptdisks.functions        2016-10-07 13:53:10.640533260 +0700
@@ -758,6 +758,11 @@ do_start () {
        done 3<&1
        umount_fs

+       # Omit udev daemon on halt to allow cryptsetup to do the close
+       OMITDIR=/run/sendsigs.omit.d
+       mkdir -p $OMITDIR
+       ps x | grep "systemd-udevd[ ]" | awk '{print $1}' > $OMITDIR/systemd-udevd
+
        log_action_end_msg 0
 }

เท่านี้ก็สามารถ shutdown เครื่องโดยไม่ค้างได้แล้ว (บางคนอาจเสนอให้ไปทำใน /etc/init.d/udev ไปเลย แต่ผมลองแล้ว มันทำให้ udev ไม่ start ตอนเปิดเครื่องเลยครับ บางที file system อาจยังไม่พร้อมในขั้นนั้นกระมัง?)

และเพื่อความแน่ใจ ผมจัดการ stop ดีมอนหลังจากที่ปิด crypto disk แล้วอีกชั้นหนึ่งด้วย ในฟังก์ชัน do_stop():

@@ -780,7 +785,11 @@ do_stop () {
                done 3<&1
        done

-       log_action_end_msg 0
+       # Kill udevd as we postponed it
+       OMITDIR=/run/sendsigs.omit.d
+       start-stop-daemon --stop -p $OMITDIR/systemd-udevd --user root --quiet --oknodo --retry 5
+
+       log_action_end_msg $?
 }

 # Convenience function to handle $VERBOSE

หมดไปครึ่งวัน แต่ตัดรำคาญเวลาเปิด-ปิดหรือรีบูตเครื่องไปได้เยอะเลยครับ

bact: Forensic Service Act 2016 and the protection of personal data

4 September, 2016 - 23:22

The Forensic Service Act B.E. 2559 (2016) (พระราชบัญญัติการให้บริการด้านนิติวิทยาศาสตร์ พ.ศ. 2559) has been announced on the Royal Gazette on 3 August 2016, after the National Legislative Assembly passed it on 10 June 2016. As the regulations about the handling of forensic data are yet to be announced, we don’t have an exact idea yet on how the process and conditions will look like. What we know at the moment is who is going to responsible for the making of those regulations.

Read the Act from NLA website, also comments from the Review Subcommittee of the NLA.

พ.ร.บ.การให้บริการด้านนิติวิทยาศาสตร์ พ.ศ. 2559 ประกาศในราชกิจจานุเบกษาแล้ว อ่านตัวกฎหมายและความเห็นของคณะกรรมาธิการวิสามัญพิจารณาร่างฯ

มีสามเรื่องหลักที่กฎหมายที่กำหนด คือ

  1. ขยายหน้าที่ของ สถาบันนิติวิทยาศาสตร์ กระทรวงยุติธรรม (หมวด 1) เช่น มาตรา 5 (5) “ส่งเสริมและพัฒนาการให้บริการด้านนิติวิทยาศาสตร์ของเอกชน”
  2. กำหนดให้ข้อมูลจากบริการนิติวิทยาศาสตร์ต้องเป็นความลับ กำหนดวิธีการเก็บรักษา การทำลาย และการเปิดเผย (หมวด 2)
  3. ตั้ง คณะกรรมการกำกับการให้บริการด้านนิติวิทยาศาสตร์ เพื่อกำกับดูแลเรื่องมาตรฐาน ค่าบริการ การอุทธรณ์ และการแลกเปลี่ยนข้อมูล (หมวด 3)หมวด 2 เรื่องข้อมูล มีสองมาตรา ว่าด้วยการจัดเก็บและทำลายข้อมูล (มาตรา 8) และการเปิดเผยข้อมูล (มาตรา 9) แต่รายละเอียดยังไม่มี ต้องรอคณะกรรมการฯประกาศ

Three main things this Act is doing are:

  1. Expanding duties of Ministry of Justice’s Central Institute of Forensic Science (สถาบันนิติวิทยาศาสตร์) (Chapter 1)
  2. Specifying how the forensic data should be handled (Chapter 2)
  3. Establishing Forensic Service Oversight Committee (คณะกรรมการกำกับการให้บริการด้านนิติวิทยาศาสตร์) who will regulating forensic standards, fees, appeal process, and the exchange of forensic data. (Chapter 3)

According to Section 3 of the Act, “data” in this Act means Any data that comes from the forensic service.

The “Data Chapter” or Chapter 2 of the Act is solely about the confidentially, preservation, and disclosure of data.

Section 8 Data is confidential. Central Institute of Forensic Science has duty to preserve and destroy the data, according to the criteria, methods, and conditions that the Committee will specify by announcing in the Royal Gazette.

Section 9 Data will only be disclose to the person who request for the forensic service. This should be done according to the criteria, methods, and conditions specified by the Committee. Exception is possible if it is a disclosure according to Court Order or Committee Resolution for the purpose of justice.

This means the details on conditions and process about the preservation and disclosure, or, in general, the life cycle of these potentially sensitive personal data are yet to be announced. All of them will be decided by the Forensic Service Oversight Committee, using the power given to them in Section 15 (4) [Preservation] and Section 15 (4/1) [Disclosure].

According to Section 10, the Committee will consist of

  • Ministry of Justice Permanent Secretary — as Committee Chair
  • Director of Central Institute of Forensic Science (CIFS) — as Secretary and Committee
  • Commissioner-General of the Royal Thai Police
  • Director-General of Department of Medical Sciences
  • Secretary-General of Thai Industrial Standards Institute
  • Secretary-General of the National Human Rights Commission
  • Secretary-General of the Medical Council
  • Commissioner of the Royal Thai Police Office of Forensic Science
  • A group of expert committee members, not exceeding 5 people, appointed by the Minister of Justice. — The Minister should appointed expert committee member from people with knowledge or experience, at least one person each from these fields: forensic science, law, and investigation.

The Minister will also appointed no more than two officers from CIFS to act as Assistant Secretary.

Noted that, if the [forensic] data is handled by a State agency, its privacy will be under the protection of the Official Information Act B.E. 2540 (1997). Yet, as you can see from Section 5 (5), the forensic service can be also come from private sector. But Thailand at the moment doesn’t have the law for general data protection outside the public sector yet.

The Data Protection Bill, which will fill the gap, has been proposed in different versions since more than a decade ago, but it is yet to be passed. The latest version of the Bill from July 2015, which has been reviewed by the Council of the State. It is expected to be submitted to NLA for hearing by the end of 2016.

So, keeps your eyes on the Forensic Service Oversight Committee and the forensic data regulations that they going to make. We hope they are going to have public consultations for that.

MrChoke: Laravel 5.2: ใช้ Username และ Email login

31 August, 2016 - 16:48
ใช้ Laravel Framework มาได้สักพัก ก็เกือบปีละมั้ง ตอนนี้ออก 5.3 แล้วยังไม่ได้ลอง dev อยู่บน 5.2 และก็เพิ่งรู้ว่ามันมี LTS ด้วยรุ่นก่อนหน้าก็ 5.1 อะเข้าหัวเรื่องกันเลยดีกว่า ผมใช้ระบบ auth ของ laravel ซึ่งค่าเริ่มต้นให้มาจะใช้ email ในการ login อย่างเดียวก่อนหน้านี้ผมได้แก้ไขให้ user สมัครโดยกรอกชื่อ และ อื่นๆ รวมทั้ง username ไว้โดยยังไม่ได้ใช้ประโยนช์กับมันจนมาถึงวัน present ให้ user ใช้ตอนสมัครก็มีช่อง username ให้กรอกแต่ไม่ได้ใช้ประโยชน์ตอนที่กำลังแนะนำตัวผมเองก็รู้สึกว่า แล้วจะใส่มาทำไมในเมื่อไม่ใส่มา ก็เลยมานั่งไล่ code ในส่วน auth ใหม่พบว่าไม่ยากเท่าไหร่เพราะมีคนแนะนำไว้ เลยเอามาประยุกต์เข้ากับระบบ นั่ง debug อยู่ทั้งบ่าย ฮาๆ (ไหนว่าไม่ยาก) เลยบันทึกเอาไว้เดี๋ยววันหลังใช้อีก แก้แค่ที่เดียวคือ app/Http/Controllers/Auth/AuthController.php โดยไป Override [...]
Creative Commons License ลิขสิทธิ์ของบทความเป็นของเจ้าของบทความแต่ละชิ้น
ผลงานนี้ ใช้สัญญาอนุญาตของครีเอทีฟคอมมอนส์แบบ แสดงที่มา-อนุญาตแบบเดียวกัน 3.0 ที่ยังไม่ได้ปรับแก้