16 July 2021

Kitt

Kobe B. Bryant

Kobe กับ Shaq: สองคนนี้เกลียดกัน Kobe เป็นเด็กหัวรั้น ซ้อมหนัก มั่นใจสูงมากว่าลูกบาสในมือเขามีโอกาสมากกว่าในมือคนอื่นในทีมเลยไม่ค่อยจ่ายบอล ในขณะที่ Shaq เข้ามายืนหนึ่งในทีม เฮฮา ปาร์ตี้หนัก ปล่อยเนื้อปล่อยตัว Kobe บ่นเรื่องนี้บ่อย ส่วน Shaq ไม่พอใจความรั้น แต่เขารู้ว่า Kobe จะเป็นคนที่ยิ่งใหญ่แน่ ๆ ช่วงแรกที่สองคนนี้มาอยู่ Lakers มีเกมที่ Kobe ลงสนามแล้วยิง air ball เยอะมากจนโดนโห่ Shaq เป็นคนแรกที่วิ่งไปกอดคอ Kobe แล้วบอกว่า “มึงไม่ต้องไปสนใจว่าใครจะเยาะเย้ย วันหนึ่งเวลาบอลอยู่ในมือมึง คนพวกนี้จะกลัวมึง” จุดเปลี่ยนเกิดในวันที่สองคนทะเลาะกันระหว่างซ้อม เวลานั้น Kobe กับ Shaq ร่วมทีม Lakers มาได้ 2-3 ปีแล้ว แต่ยังไปไม่ถึงแชมป์ NBA สักครั้ง สองคนซ้อมคนละทีม Shaq talk trash … Continue reading Kobe B. Bryant

โดย kitty ณ 16 July 2021 02:44 +0000

23 June 2021

Thep

Norasi Small Caps and Old Style Figures

ฟอนต์ Norasi เพิ่มการรองรับการใช้ small caps และ old style figures (ตัวเลขอารบิกแบบหนังสือยุคเก่า) แล้ว ทั้งใน OpenType และ LaTeX

PUA Glyphs

ฟอนต์ Norasi (ฟช ๓ จากโครงการฟอนต์แห่งชาติของเนคเทค) มี PUA glyph สำหรับตัว small caps และตัวเลขอารบิกในหนังสือยุคเก่า (old style figures) มานานแล้ว ผมไม่แน่ใจว่ามีมาตังแต่แรกเริ่มที่นำฟอนต์มาจากโครงการ Omega เลย หรือว่ามาเพิ่มเอาทีหลังใน TLWG เนื่องจากผู้ที่ทำงานกับ Norasi ในช่วงต้นจะเป็นคุณทิม (ชนพ ศิลปอนันต์) เป็นหลัก แต่มันก็อยู่ในรูป glyph ที่มีรหัสยูนิโค้ดในช่วง Private Use Area (PUA) พร้อมกับชื่อ glyph แบบ Postscript ตามอย่าง Adobe Glyph List เช่น เลขศูนย์แบบเก่ามีรหัสยูนิโค้ด U+F730 และมีชื่อ glyph เป็น zerooldstyle และตัว A small caps มีรหัสยูนิโค้ด U+F761 และมีชื่อ glyph เป็น Asmall เป็นต้น

PUA glyph เหล่านี้ โดยปกติจะไม่ใช้ในข้อความ แต่จะใช้เป็นการภายในของตัววาดข้อความ ในทำนองเดียวกับวรรณยุกต์ตัวต่ำ สระบนหลบหาง ป ฝ ฟ และสระอุ อู หลบหาง ฎ ฏ ในอักษรไทยนั่นเอง เท่ากับว่า PUA glyph เหล่านี้มีอยู่ แต่ยังไม่พร้อมใช้ ยกเว้นในระบบที่พยายามจะใช้ PUA เหล่านี้จริงๆ

OpenType

ขณะเดียวกัน เราจะเห็นแอปพลิเคชันสมัยใหม่พยายามรองรับ OpenType feature ต่างๆ ใน UI มากขึ้น จากเดิมที่มีแต่ใน desktop publishing หรูๆ ตอนนี้แม้แต่ word processor อย่าง LibreOffice Writer และ MS Word ก็เริ่มมี UI สำหรับเลือกเปิด/ปิด discretionary feature (ฟีเจอร์ที่กำหนดใน mark up ของเอกสาร และอาจจะผ่าน UI ให้ผู้ใช้เลือก) ของ OpenType แล้ว ซึ่ง small caps (smcp) และ old style figures (onum) ก็เป็นฟีเจอร์ชนิดนี้

หลังจากเพิ่มฟีเจอร์ดังกล่าวในฟอนต์ Norasi แล้วทดลองใช้กับ LibreOffice Writer ก็ได้ผลดังนี้:

alt

สำหรับการใช้ในเว็บ ผมได้ลองทำ หน้าทดสอบ โดยใช้ font-variant: small-caps และ font-variant-numeric: oldstyle-nums ใน CSS

LaTeX

สำหรับผู้ใช้ XeLaTeX และ LuaLaTeX ก็สามารถใช้ OpenType feature ได้โดยตรง แต่สำหรับ pdfLaTeX ซึ่งยังใช้เทคโนโลยี PostScript ธรรมดา ก็จำเป็นต้องมีการรองรับเพิ่มเติมในแพกเกจฟอนต์

Small Caps

LaTeX2e รองรับ small caps ผ่านคำสั่ง \scshape และ \textsc{...} โดยตัว TeX engine จะไปหาการประกาศ sc shape ใน font description (lthnorasi.fd สำหรับฟอนต์ Norasi) เพื่อเชื่อมโยงไปหาไฟล์ TFM (TeX Font Metrics) ของ shape ดังกล่าว

และตรง TFM นี่แหละ ที่เราสามารถ remap อักขระ lower case ไปหา glyph ที่เป็น small caps ได้ ทำให้ TeX เรียงพิมพ์ตัว lower case ด้วยตัว small caps แทน

เท่ากับว่า จากฟอนต์ Norasi ที่เรามีอยู่แล้ว 6 type face (regular, slanted, italic, bold, bold slated, bold italic) เราจะต้องสร้าง face ใหม่อีกหนึ่งชุดที่ remap สำหรับ small caps กลายเป็น 12 type face

แต่เรายังมีรายละเอียดที่ต้องพิจารณาเพิ่มจากการ remap คือ:

นั่นจึงนำไปสู่การสร้างไฟล์ .enc ต่างหากที่ remap small caps, ตัดกฎ Latin ligature, คงกฎ ligature สำหรับอักษรไทย พร้อมทั้งเขียน make rules สำหรับสร้าง TFM (สำหรับ TeX) และ VF (virtual font ซึ่งใช้ในขั้น dvi) สำหรับ small caps เพิ่มอีกชุดหนึ่งด้วย

สรุปรวมอยู่ใน GitHub commit นั่นแล

และเมื่อใช้งานผ่านคำสั่ง \textsc{...} ก็ได้ผลดังภาพ:

Small caps in pdfLaTeX

Old Style Figures

ด้วยเทคโนโลยี PostScript ธรรมดา การรองรับตัวเลขแบบหนังสือยุคเก่า (old style figures) ก็ยังคงต้องใช้วิธี remap อักขระตัวเลขไปเป็น PUA glyph ที่เป็น old style ไม่ต่างกับ small caps เพียงแต่ old style figures จะมีประเด็นการใช้งานในทางปฏิบัติที่ต้องพิจารณาเพิ่มเติมด้วย

LaTeX2e มีคำสั่ง \oldstylenums{ตัวเลข) เพื่อแสดง ตัวเลข เป็นแบบ old style ได้ โดยจะใช้ glyph จากฟอนต์ของ Knuth เสมอ แต่ในกรณีที่ต้องการให้ผู้ใช้สามารถใช้ตัวเลข old style จากฟอนต์ของเราได้ ก็จะต้องใช้ช่องทางอื่น

use case ที่น่าจะพบบ่อยในชีวิตจริง คือการใช้ตัวเลข old style ทั้งเอกสาร ทั้งเลขบท เลขหัวข้อ เลขหน้า เลขในข้อความ ฯลฯ ซึ่งตรงนี้จะต่างจาก small caps และแพกเกจฟอนต์มักจะรองรับในรูปของ option ของแพกเกจ

อีก use case หนึ่งคือการใช้ตัวเลข old style เฉพาะที่ ซึ่งมีแพกเกจอย่างน้อยสองตัวที่เตรียมคำสั่งไว้ให้ คือ nfssext-cfr และ fontaxes ซึ่งทั้งสองแพกเกจจัดเตรียมคำสั่งไว้คนละชุด ซึ่งก็ถือเป็นเรื่องปกติ แต่ที่ไม่ปกติคือทั้งสองแพกเกจเรียกใช้ฟอนต์ต่างกันด้วย!

old style figures ไม่ได้ถูกจัดให้เป็น shape หนึ่งของฟอนต์เหมือน small caps เพราะมันมีผลแค่กับตัวเลข ไม่ใช่ทั้งฟอนต์ วิธี implement จึงไม่ใช่การประกาศ shape ใน font description แต่เป็นการสร้าง font family ใหม่ไปเลย! โดยจะมีข้อตกลงบางอย่างในการตั้งชื่อ family ใหม่ที่ว่านั้น และเมื่อผนวกกับคุณสมบัติ proportional/tabular ของตัวเลขเข้าไปด้วยก็กลายเป็นข้อตกลงที่มีรายละเอียดอีกหน่อย

ปัญหาคือ แพกเกจ nfssext-cfr และ fontaxes ใช้ข้อตกลงคนละชุดกัน!

จากหลักการทำงานและจากการทดลอง fontaxes ดูจะใช้ได้ในทางปฏิบัติมากกว่า จึงเลือกรองรับ fontaxes เป็นหลัก แต่ก็พยายามรองรับ nfssext-cfr ด้วยตามสมควร

จาก 12 type face ที่ได้จากการทำ small caps มาแล้ว เราก็จะสร้าง font family ใหม่ที่ประกอบด้วย 12 type face นี้ แต่ remap glyph ของตัวเลขไปเป็นแบบ old style เท่ากับว่าเราจะมีทั้งหมด 24 type face แบ่งเป็น 2 family, family ละ 12 type face

เมื่อเขียน make rules เพื่อสร้าง TFM/VF ของ 12 type face ฉบับ old style figures แล้ว เราก็สร้าง LTHnorasij.fd เพื่อประกาศ font family norasij

เพื่อการรองรับ nfssext-cfr เราก็สร้าง LTHnorj.fd ในทำนองเดียวกัน และสร้าง LTHnorx.fd ที่มีเนื้อหาหลักเหมือน LTHnorasi.fd ทุกประการด้วย

ทั้งหมดนี้ก็จะสามารถรองรับใช้ตัวเลขแบบ old style ผ่าน fontaxes และ nfssext-cfr (บางส่วน) ได้แล้ว

Old style figures via fontaxes

Old style figures via nfssext-cfr

สำหรับ use case การใช้ตัวเลข old style ทั้งเอกสาร นั้น เราก็เพิ่ม option norasi-osf และ rmnorasi-osf ใน fonts-tlwg.sty โดยหากเลือกตัวเลือกนี้ก็จะกำหนดฟอนต์ปริยายเป็น norasij แทน norasi เท่านั้นเอง

Old style figures with 'norasi-osf' option

ทั้งหมดนี้อยู่ใน Git แล้ว มีตัวอย่างเอกสารในไดเรกทอรี latex/examples/ คือ:

หลังจาก make install แล้ว สามารถใช้คำสั่ง make กับไฟล์ PDF ปลายทางได้เลย เช่น make oldnum.pdf

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

โดย Thep (noreply@blogger.com) ณ 23 June 2021 04:21 +0000

13 April 2021

Kitt

คำนวณวันสงกรานต์ปี 2564

สงกรานต์ปี 2564 เป็นปี จ.ศ. (2564 – 1181) = 1383 วันเถลิงศก ตรงกับ (1383 * 0.25875)+ floor(1383 / 100 + 0.38)– floor(1383/ 4 + 0.5)– floor(1383 / 400 + 0.595)– 5.53375= 357.85125 + 14 – 346 – 4 – 5.53375= 16.3175 = วันที่ 16 เมษายน 2564 เวลา 07:37:12 วันสงกรานต์ ตรงกับ 16.3175 – 2.165 = 14.1525 = วันที่ … Continue reading คำนวณวันสงกรานต์ปี 2564

โดย kitty ณ 13 April 2021 04:08 +0000

11 April 2021

bact

คนทำงานด่านหน้า-งานจำเป็น ที่จะได้รับวัคซีนลำดับต้นๆ มีใครบ้าง

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

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

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

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

กรมควบคุมโรคสหรัฐ (CDC) ใช้เกณฑ์ ACIP Categories of Essential Workers ซึ่งแบ่งเป็น (1a) Essential Healthcare Workers (คนทำงานที่จำเป็นด้านสุขภาพ ระบุชัดว่าทั้งที่ได้รับค่าจ้างและไม่ได้รับค่าจ้าง) (1b) Frontline essential workers (Non-Healthcare) (คนทำงานที่จำเป็นที่อยู่ด่านหน้า ที่ไม่ใช่สายสุขภาพ ซึ่งทำงานในสภาพแวดล้อมที่ต้องอยู่ใกล้ชิดเพื่อนร่วมงานหรือคนทั่วไป เลี่ยงไม่ได้) และ (1c) Other essential workers (อื่นๆ ตามกำหนด)

รัฐบริติชโคลัมเบียในแคนาดา กำหนด Front-line priority workers มาตามภาพ มีทั้งครูโรงเรียนเด็กเล็ก คนดูแลเด็ก พนักงานไปรษณีย์ พนักงานร้านชำ คนทำงานในภาคการผลิต คนทำงานเรือนจำ คนทำงานขนส่งข้ามแดน ฯลฯ

ส่วนไอร์แลนด์จะเน้นที่คนทำงานด่านหน้าด้านสุขภาพเป็นหลัก และมีเพิ่มเติมคือ “key workers essential to the vaccine programme” คนทำงานที่สนับสนุนการจัดหาและกระจายวัคซีน และการฉีดจะเน้นกลุ่มเปราะบาง คนป่วย (มีการกำหนดชื่อโรคและเงื่อนไขของอาการอย่างชัดเจน) และผู้สูงอายุ ก่อนกลุ่มอื่น และหลังจากที่กลุ่มจำเป็นอื่นๆ ได้รับวัคซีนกันไปแล้ว ลำดับที่เหลือจะมีลักษณะไล่ตามกลุ่มอายุ

โดยในแต่ละกลุ่ม ก็จะมีการอธิบายเหตุผล (Rationale) และแจ้งถึงหลักการทางจริยศาสตร์ (Ethical Principles) ที่ใช้พิจารณาด้วย ว่าทำไมแบ่งแบบนี้และมาอยู่ที่ลำดับนี้

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

ต้นเดือนมีนา 2564 ตอนที่สิงคโปร์ประกาศขยายกลุ่มที่ได้รับวัคซีน ก็ระบุถึงกลุ่มอย่างคนทำงานที่เสี่ยงสัมผัสสูงหรือมีโอกาสส่งต่อได้มาก “Essential workers with higher risk of exposure and onward transmission” ซึ่งรวมครูและเจ้าหน้าที่ในโรงเรียนเด็กเล็กด้วย โดยระบุว่าเนื่องจากยังไม่มีวัคซีนสำหรับเด็กเล็ก การฉีดคนอื่นในโรงเรียนจึงเป็นวิธีป้องกันเด็กที่ทำได้ในตอนนี้

นอกจากนี้ก็มีกลุ่มคนงานข้ามชาติ “Migrant workers living in dormitories” เนื่องจากคนงานข้ามชาติเหล่านี้อาศัยอยู่ในหอพักขนาดใหญ่ที่มีคนมาก (ประกาศของรัฐบาลไม่มีคำว่า “แออัด” แต่ก็นั่นแหละ เข้าใจกันได้ ว่ามันเสี่ยงเพราะคนอยู่เยอะด้วย)

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

ดูของหลายๆ ที่แล้ว แล้วก็น่าจะเป็นการประเมิน/จัดลำดับตาม โอกาสเกิด และ ความเสียหายที่จะเกิด เช่น

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

ของไทยเองก็มีสิ่งที่คล้ายๆ เกณฑ์อยู่ โดยอิงกับช่วงการฉีด 3 ระยะ (ซึ่งแบ่งช่วงตามปริมาณวัคซีนที่มี) แล้วก็ระบุกลุ่มที่จะได้รับวัคซีนในช่วงนั้นๆ ไว้กว้างๆ เช่น “ผู้ประกอบอาชีพที่มีโอกาสสัมผัสกับคนจำนวนมาก” แต่ไม่ได้มีรายละเอียดว่ามีอาชีพอะไรบ้าง (ข้อมูล 27 ม.ค. 2564)

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

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

เผยแพร่ครั้งแรก 9 เมษายน 2564 บนเฟซบุ๊ก

The post คนทำงานด่านหน้า-งานจำเป็น ที่จะได้รับวัคซีนลำดับต้นๆ มีใครบ้าง first appeared on bact' is a name.

โดย bact ณ 11 April 2021 11:55 +0000

คิดเงิน “ตามตัวอักษร” แฟร์ไหม?

เช็คอะไรนิดหน่อย ไปเจออันนี้ วิธีการคิดเงินของ Google Cloud Translation API ก็แฟร์ระดับหนึ่งนะ คือคิดตามจำนวนตัวอักษร (code point) แทนที่จะคิดตามปริมาณข้อมูลจริงๆ (byte)

Charged characters

To calculate usage, Google counts usage on a per character basis, even if a character is multiple bytes. Each character corresponds to a code point.

You are charged for all characters that you include in a Cloud Translation request, even untranslated characters. This includes, for example, whitespace characters. If you translate <p>こんにちは</p> to English, it counts as 12 characters for the purposes of billing.

Google also charges for empty queries. If you make a request without any content, Google charges one character for the request.

—-

คือในทางคอมพิวเตอร์ มาตรฐานตัวอักษรที่แพร่หลายในปัจจุบัน คือมาตราฐาน Unicode และวิธีการจัดเก็บตัวอักษรที่นิยมและเข้ากันได้กับแอปบนอินเทอร์เน็ตต่างๆ ก็คือ UTF-8 ซึ่งในตัวอักษรในแต่ละระบบการเขียนอาจใช้จำนวนไบต์ไม่เท่ากัน ตัวละตินที่ไม่มีเครื่องหมายประสม (อย่างที่ใช้ในภาษาอังกฤษ มาเลย์ อินโด) จะใช้เพียง 1 ไบต์ต่อ 1 ตัวอักษร (code point) ส่วนตัวอักษรไทยจะใช้ 3 ไบต์ต่อ 1 ตัวอักษร

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

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

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

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

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

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

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

เช่น เดิมใช้ 7 บิตเพื่อแทนชุดตัวอักษร 128 ตัว ก็ขยายมาเป็น 8 บิต 16 บิต ฯลฯ โดยพยายามทำให้มันรองรับระบบเดิมอยู่ โดย 128 ตัวแรก ยังใช้ตัวอักษรชุดเดิมอยู่อะไรงี้ ซึ่งวิธีที่เก็บตัวอักษรที่ใช้บนอินเทอร์เน็ตส่วนใหญ่ตอนนี้ใช้วิธีนี้อยู่ ชื่อมาตรฐานคือ UTF-8

UTF-8 นี่เป็นวิธีการแปลงรหัสเพื่อบันทึกตัวอักษรแบบที่เรียกว่า “variable-width encoding” คือ ตัวอักษรแต่ละตัวอาจใช้จำนวนข้อมูล (คิดเป็นไบต์) ในการเก็บไม่เท่ากัน — พวกตัวอักษรละตินและสัญลักษณ์พื้นฐาน 128 ตัวแรก จะใช้ 1 ไบต์ ตัวละตินอื่นๆ เกือบทั้งหมดที่เหลือ (ซึ่งภาษาจำนวนมากในยุโรปใช้ รวมถึงภาษาอย่างเวียดนาม ก็ใช้ตัวเขียนเหล่านี้) รวมถึงตัวอักษรกรีก ฮีบรู อารบิก คอปติก พวกนี้ใช้ 2 ไบต์ ตัวอักษรที่เหลือเกือบทั้งหมดจะใช้ 3 ไบต์ ในกลุ่มนี้มีตัวอักษรจีน ญี่ปุ่น เกาหลี ไทย รวมอยู่ด้วย ส่วนพวก 4 ไบต์นี่จะเป็นตัวอักษรที่ไม่พบบ่อยนัก หรือเป็นส่วนขยาย/กรณีพิเศษของตัวอักษรบางตัว

วิธีคิดของคณะออกแบบ UTF-8 ก็คือ ตัวอักษรไหนมีแนวโน้มจะใช้บ่อย ใช้มาก ก็พยายามให้ใช้จำนวนไบต์น้อยๆ เพื่อที่ว่าในภาพรวมจะได้ประหยัดพื้นที่จัดเก็บ เว้นเสียว่าจะทำไม่ได้จริงๆ อย่างกลุ่มตัวอักษรจีน​ญี่ปุ่นเกาหลี (CJK) ที่จำนวนตัวอักษรมันเยอะ จะยัดลง 2 ไบต์ก็ไม่ไหว ก็ใช้ 3 ไบต์ไป

ซึ่งในแง่นี้ การให้ตัวอักษร ASCII ใช้เพียง 1 ไบต์ ก็เข้าใจได้มาก ๆ เพราะตัวอักษรในชุดนี้ถูกใช้เป็นคำสั่งและคำสำคัญต่างๆ ในโปรโตคอลการรับส่งข้อมูลและมาตรฐานข้อมูลอื่น ๆ ในระดับพื้นฐานของคอมพิวเตอร์ ถ้าเกิดตัวอักษรชุดนี้ใช้จำนวนไบต์เยอะ ทุกอย่างในระบบก็จะพองขึ้นทันที ซึ่งผลพลอยได้ก็คือ พวกภาษาที่ใช้ตัวอักษรที่อยู่ในกลุ่มตัวละติน (A-Z, a-z) ก็เลย “โชคดี” ไปด้วย (หรือมองอีกมุม ก็เป็นเพราะคนที่ใช้ภาษาที่ใช้อักษรละติน เป็นคนกำหนดมาตรฐานคอมพิวเตอร์ไง ผลที่ตามมาเลยเป็นแบบนี้)

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

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

คำว่า “บ่อย ๆ” นี่เอาอะไรวัด จากมุมของใคร หรืองานแบบไหน

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

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

วิธีการคิดค่าบริการตามจำนวนตัวอักษร แทนที่จะเป็นจำนวนไบต์ข้อมูลที่จะต้องใช้เก็บตัวอักษรนั้น ก็เลยถูกมองได้ว่าแฟร์ขึ้นมาอีกนิดนึง

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

หรือถ้าไปให้สุดๆ เฮ้ย บางภาษา 1 ตัวอักษร มันเก็บความหมาย อุ้มความหมายเอาไว้ได้เยอะกว่า 1 ตัวอักษรในอีกภาษา ภาษาญี่ปุ่นเขียน 1 ตัว 空 ภาษาไทยต้องเขียน 7 ตัว เพื่อจะได้ความหมายว่า ท้องฟ้า เท่ากัน แบบนี้คนไทยก็ต้องจ่ายแพงกว่าคนญี่ปุ่นรึเปล่า (แบบ 280 ตัวอักษรบนทวิตเตอร์ คนจีนแทบจะเขียนเรื่องสั้นได้แล้ว คนไทยแค่รายงานข่าวอาจจะไม่พอ) แบบนี้การคิดค่าบริการตามตัวอักษรก็ไม่แฟร์อยู่ดีปะ

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

ตราบใดที่การสร้างมันเกิดการกระบวนการตัดสินใจเลือก การเลือกปฏิบัติมันมีอยู่แน่ๆ ในผลงานทางวิศวกรรม

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

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

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

เผยแพร่ครั้งแรก 7 เมษายน 2564 บนเฟซบุ๊ก

พอโพสต์เรื่องข้างต้นจบ ก็นึกถึงอีกประเด็นในสัปดาห์ก่อนหน้า ที่คนพูดถึงบทความ When Binary Code Won’t Accommodate Nonbinary People ซึ่งก็คิดๆ ไปก็น่าจะเป็นเรื่องของ encoding นี่อยู่เหมือนกัน เป็นการเอาการจัดประเภทฝังลงไปในระบบ

ถ้าได้อ่านในบทความนั้น คิดว่าหลักใหญ่ใจความประเด็นมันคือเรื่องการออกแบบตัวระบบ — ทั้งระดับโครงสร้างพื้นฐานและระดับส่วนติดต่อผู้ใช้ — ไม่ว่าจะเป็น database schema ช่องหรือปุ่มที่มีให้กดในหน้าจอ UI หรือวิธีการทำ data validation ที่ทำให้ข้อมูลที่อยู่นอกเหนือไปจากที่ผู้ออกแบบระบบอนุญาต มันกรอกไม่ได้ รวมไปถึงคู่มือใช้งาน/การอบรมการใช้งานที่ทำให้เจ้าหน้าที่ที่เป็นผู้กรอกยึดอยู่กับคุณค่าบางอย่าง แม้ตัวระบบจะไม่ได้บังคับ (ในระบบที่ตัวเจ้าของข้อมูลไม่ได้เป็นผู้กรอกเอง)

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

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

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

ซอฟต์แวร์เป็นสถาปัตยกรรมที่กำหนด (อนุญาต/ไม่อนุญาต) ทางที่เราจะใช้ชีวิต{ใน/กับ/ด้วย}สภาพแวดล้อมนี้ได้ ไอเดียเดียวกับที่เลซสิกเสนอว่า code is law น่ะแหละ

เผยแพร่ครั้งแรก 31 มีนาคม 2564 บนเฟซบุ๊ก

The post คิดเงิน “ตามตัวอักษร” แฟร์ไหม? first appeared on bact' is a name.

โดย bact ณ 11 April 2021 11:21 +0000

26 March 2021

bact

ค้าปลีกดิจิทัล – การวิเคราะห์ผู้มีส่วนได้เสีย

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

หัวข้อที่พูดคือชวนวิเคราะห์ผู้มีส่วนได้เสีย (stakeholders) โดยมองไปมากกว่าเฉพาะความสัมพันธ์ระหว่างผู้ซื้อ-ผู้ขาย แต่รวมไปถึงคนที่อยู่รายล้อมอื่นๆ ด้วย กรอบที่ใช้ก็ไปยืมวิธีวิเคราะห์การเคลื่อนย้ายของ ทุน สินค้า บริการ และคน ใน “four freedoms” ของนโยบายตลาดเดียวของสหภาพยุโรป (European Single Market) มามอง เผื่อจะมองเห็นผู้มีส่วนได้ส่วนเสียและประเด็นทางสังคมากขึ้นหรือไม่ เช่น

นอกนั้นก็ลองเอาวิธีการวิเคราะห์ความสัมพันธ์ทางอำนาจของฝั่งการผลิตและห่วงโซ่อุปทาน รวมถึงการรวมตัวของแรงงาน ในธุรกิจค้าปลีก จากบทความ Barcode Empires: Politics, Digital Technology, and Comparative Retail Firm Strategies (Watson, 2011) กับการแจกแจงผู้เกี่ยวข้องตามเส้นทางค้าปลีก (ทำแบบ user journey) จากรายงาน Disruptions in retail through digital transformation: Reimagining the store of the future (Deloitte, 2017) มาเล่านิดๆ หน่อยๆ เผื่อนักวิจัยเขาจะสนใจไปดูต่อ

ไม่ได้มีข้อเสนออะไร เพียงแค่ชวนนักวิจัยในห้องคุยประเด็นพวกนั้น และดูว่าจะขยายประเด็นผลกระทบทางสังคมไปยังไงได้อีกบ้าง อาจจะมีชวนนิดหน่อยว่าน่าจะลองไปศึกษาตัว “sites” หรือสถานที่ที่เกิดกิจกรรม/ธุรกรรม ทั้งการผลิต-สะสม (“Things” at Rest) และการแลกเปลี่ยน (“Things” in Transit) ซึ่งก็มโนๆ ขึ้นมานะ

เรื่องที่สนใจอันนึงคือ แล้วใครควบคุม sites เหล่านั้น? ความสัมพันธ์เชิงอำนาจมันเป็นยังไง?

ลิงก์นี้คือสไลด์ครับ: Beyond retailer-consumer relationships

The post ค้าปลีกดิจิทัล – การวิเคราะห์ผู้มีส่วนได้เสีย first appeared on bact' is a name.

โดย bact ณ 26 March 2021 15:13 +0000

11 March 2021

bact

ข่าวปลอมคือข่าวที่ทำให้คล้ายข่าวจริง

มิตรสหายสายวารสารศาสตร์และกฎหมายสื่อหลายคนเหนื่อยกับคำว่า “ข่าวปลอม” หรือ fake news มาหลายปี เพราะพอใช้กันอย่างลำลองไม่เคร่งครัด ไอ้นั่นก็เฟค ไอ้นี่ก็เฟค อะไรๆ ที่ “ไม่เป็นความจริง” ไม่ว่าจะ “ไม่จริง” เพราะ:

ก็ราวกับว่าจะเป็น “ข่าวปลอม” ไปเสียหมด

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

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

(กฎหมายอย่าง พ.ร.บ.คอมพิวเตอร์ ยังถูกนำมาใช้จัดการควบคุมเรื่องทำนองนี้ โดยอาศัยการตีความคำว่า “ข้อมูลคอมพิวเตอร์ที่บิดเบือน หรือปลอมไม่ว่าทั้งหมดหรือบางส่วน หรือข้อมูลคอมพิวเตอร์อันเป็นเท็จ” อย่างในมาตรา 14)

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

1) ข้อมูลที่ไม่จริงหรือข้อมูลที่คลาดเคลื่อน​ โดยผู้เผยแพร่อาจมีหรือไม่มีเจตนาทำให้เข้าใจผิดก็ได้ (และผู้เผยแพร่อาจเชื่อโดยบริสุทธิ์ใจว่ามันจริงก็ได้) หรือที่ในภาษาอังกฤษใช้คำว่า “misinformation” กับ

2) ข้อมูลที่ไม่จริง และผู้เผยแพร่ก็รู้ว่ามันไม่จริง แต่ตั้งใจเผยแพร่เพื่อสร้างความเข้าใจผิดหรือมุ่งจะให้เกิดความเสียหาย – “disinformation”

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

จะเห็นว่าสิ่งที่ disinformation และ mal-information นั้นมีร่วมกัน คือเจตนาร้าย-เจตนาที่จะทำให้เกิดความเสียหาย ในขณะที่ misinformation นั้นไม่คำนึงถึงเจตนา

misinformation สะกดขึ้นต้นด้วย mis- เหมือนกับคำว่า mistake (ความผิดพลาด) และ misspelling (การสะกดผิด)

ส่วน ปลอม (fake) นี่คือการทำปลอม (fabricated) หมายความว่ามันไม่เคยจริงเลย *และ* มีความพยายามจะทำให้เข้าใจว่าจริง

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

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

ส่วนคำว่า ข้อเท็จจริง (fact) นอกจากผูกกับเวลาแล้ว ยังผูกอยู่กับความสามารถในการรับรู้หรือความสามารถในการวัดของเราด้วย (ซึ่งหมายความว่าเทคโนโลยีในการวัด สามารถ “เปลี่ยน” fact ได้)

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

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

เนื่องจาก fake นั้นต้องไม่เคยจริงเลย ข้อเท็จจริงที่ล้าสมัยแล้ว (outdated fact) จึงไม่ใช่ fake เช่น “ภูมิพลเป็นกษัตริย์ของไทย” “ประเทศไทยมีประชากร 60 ล้านคน” นี่เป็นข้อเท็จจริงที่ล้าสมัยแล้ว แต่ไม่ใช่ข้อมูลปลอม

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

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

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

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

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

ทำอย่างไรต่อ

เพิ่มเติม: มีคนถามมาว่า แล้วจะจัดการยังไง คิดตอนนี้ได้ดังนี้

ทั้ง mis-, dis-, และ mal-information เป็นส่วนหนึ่งของ information disorder หรือความโกลาหลปั่นป่วนของข่าวสาร มาตรการลด information disorder ควรคิดถึงธรรมชาติของข่าวสารแต่ละแบบ

สิ่งที่มีร่วมกันของ dis- และ mal-information คือ เจตนาสร้างความเสียหาย (กรณี information operation หรือปฏิบัติการข่าวสารควรอยู่ในหมวดนี้ เพราะมีเป้าหมายและเจตนาชัดเจน)

ขณะที่ misinformation เป็นความพลาด-ไม่รอบคอบ คนทั่วไปก็อาจเคยเผลอ

เราควรสู้ mis- และ dis-information ด้วยการเปิดเผยข้อมูลจริงให้มากที่สุด อนุญาตให้มีการเผยแพร่แลกเปลี่ยนข้อมูลให้มากที่สุด ปกป้องคนที่ทำงานเผยแพร่ข้อมูลเพื่อประโยชน์สาธารณะให้มากที่สุด ไม่ว่าจะคนทำสื่อเป็นอาชีพหรือไม่

หนึ่งในวิธีที่ใช้กันเยอะ คือการมีหน่วยงานตรวจสอบข้อเท็จจริง (fact checking) อย่างในไทยก็มีทั้งศูนย์ต่อต้านข่าวปลอมของกระทรวงดิจิทัล และ cofact ซึ่งเป็นกลุ่มภาคประชาสังคมและภาควิชาการร่วมมือกัน

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

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

สำหรับ dis- และ mal-information ด้วยการสกัดผู้เผยแพร่ข้อมูลที่มีเจตนาร้าย ทำให้ผู้ปฏิบัติการดังกล่าวทำงานได้ลำบาก และต้องเกรงกลัวกับผลกระทบทางกฎหมาย ทางสังคม ทางเศรษฐกิจ

การต่อสู้ด้วยวิธีทางกระบวนการยุติธรรม (ด้วยความเชื่อว่ากระบวนการยุติธรรมยังพึ่งพาได้) อย่างที่ นายยิ่งชีพ อัชฌานนท์, น.ส. สฤณี อาชวานันทกุล, และนายวิญญู วงศ์สุรวัฒน์ ยื่นฟ้องกองทัพบกต่อศาลปกครอง เพื่อขอให้ศาลสั่งกองทัพบกยุติปฏิบัติการข้อมูลข่าวสารต่อประชาชน ก็เป็นวิธีหนึ่ง

ผู้เผยแพร่ dis- และ mal-information ที่มีเจตนาสร้างความเสียหายต่อเป้าหมายชัดเจน ควรจะถูกดำเนินคดีทั้งทางอาญา แพ่ง และวินัย กระบวนการยุติธรรมต้องทำงานและสามารถลงโทษหน่วยงานรัฐที่เกี่ยวข้องได้ และถ้าเรารู้ว่าบริษัทโฆษณาประชาสัมพันธ์ที่ไปร่วมปฏิบัติการมีบริษัทอะไรบ้าง ประชาชนก็ควรช่วยกันประณาม ไม่คบค้าสมาคมด้วย อีกทั้งสมาคมวิชาชีพโฆษณาก็ควรมีบทบาทตักเตือนและกำหนดมาตรฐานวิชาชีพในเรื่องหลักการไม่สร้างความเสียหายให้กับผู้อื่นโดยเจตนา

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

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

ข้อมูลเพิ่มเติม

The post ข่าวปลอมคือข่าวที่ทำให้คล้ายข่าวจริง first appeared on bact' is a name.

โดย bact ณ 11 March 2021 05:52 +0000

27 February 2021

bact

สวัสดิการและโอกาสที่ไม่ผูกกับนายจ้าง

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

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

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

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

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

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

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

The post สวัสดิการและโอกาสที่ไม่ผูกกับนายจ้าง first appeared on bact' is a name.

โดย bact ณ 27 February 2021 19:49 +0000

29 January 2021

Chatsiri

libdatrie 0.2.13 Released

Changes from 0.2.12

  • Fix wrong key listing in byte trie
    (Issue #9, Thanks @legale for the report.)
  • Fix cross-compiling issue caused by AC_FUNC_MALLOC
    (Issue #11, Thanks Vanessa McHale for the report.)
  • Fix isspace() arg problem on NetBSD.
    (Personal mail, Thanks Sean for the report;
    PR #8, Thanks OBATA Akio for an independent pull request.)
  • Fix some documentations.
  • Really use TRIE_CHAR_TERM in TrieChar string termination.
    Changing TRIE_CHAR_TERM definition now won't break the code.
  • Fix Windows build issue by avoiding <unistd.h> include.
    (Partially addressing PR #15, Thanks @fanc999 for first raising this.)
  • [New APIs] Add serialization of the trie into memory buffer.
    (PR #12, Thanks KOLANICH for the contribution.)

Download

MD5 sums:

e26b5aa008b5f3588ab38d2dce9e9325  libdatrie-0.2.13.tar.xz

VCS

$ git clone https://github.com/tlwg/libdatrie.git

GitHub: https://github.com/tlwg/libdatrie
GitHub release: https://github.com/tlwg/libdatrie/releases/tag/v0.2.13

Projects: 

โดย thep ณ 29 January 2021 10:34 +0000

20 November 2020

bact

ว่าด้วยการ “อยู่เฉยๆ”

อำนาจมีประสิทธิภาพมากขึ้นเมื่อมีระเบียบ

อำนาจจึงมักเรียกร้องระเบียบ

(ซึ่งก็แล้วแต่ว่าจะใช้ประสิทธิภาพที่ได้มานั้นกับเรื่องอะไร)

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

ในฐานะผู้บริโภค ก็หยุดบริโภค (สินค้าที่เราว่าไม่โอ)
ในฐานะคนทำงาน ก็หยุดงาน
ในฐานะพลเมือง ก็หยุดทำตามกฎหมาย (ข้อที่เราว่าไม่โอ – คำเรียกสวยๆ คือ civil disobedience)
ในฐานะผู้เสียภาษี ก็หยุดเสียภาษี
ในฐานะเจ้าของข้อมูล ก็หยุดให้ข้อมูล
(ในฐานะเจ้าหน้าที่รัฐ ก็ “ใส่เกียร์ว่าง” lol)

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

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

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

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

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

The post ว่าด้วยการ “อยู่เฉยๆ” first appeared on bact' is a name.

โดย bact ณ 20 November 2020 08:49 +0000

16 November 2020

bact

สนับสนุนกระบวนการแก้รัฐธรรมนูญที่เป็นธรรม สนับสนุนร่างแก้ไขฉบับ iLaw

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

1) เป็นร่างฉบับที่คืนอำนาจให้ประชาชน สมาชิกสภาร่างทั้งหมดมาจากการสรรหาตัวแทนจากประชาชน ไม่มีโควตาแต่งตั้งจากสายอำนาจนำในปัจจุบัน

2) เปิดโอกาสให้สังคมคิดฝันจินตนาการถึงอนาคตที่เป็นไปได้ร่วมกันได้โดยไม่มีข้อจำกัดปลอมๆ ที่คนกลุ่มเล็ก (ที่ยึดอำนาจประชาชนมา-หรือที่เป็นอำนาจนำในขณะนี้) สร้างขึ้น ว่าหมวดนั้นหมวดนี้ห้ามแก้ไข

3) สร้างกติกาที่เป็นธรรมในระหว่างการทำประชามติ ปลดล็อกเงื่อนไขที่คณะรัฐประหารสร้างไว้

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

ดูคำอธิบายข้อเสนอ #5ยกเลิก5แก้ไข ของ iLaw

The post สนับสนุนกระบวนการแก้รัฐธรรมนูญที่เป็นธรรม สนับสนุนร่างแก้ไขฉบับ iLaw first appeared on bact' is a name.

โดย bact ณ 16 November 2020 00:03 +0000

4 October 2020

bact

สำรวจภูมิทัศน์และอนาคตของการจัดการสื่อในยุคหลอมรวมข้ามพรมแดน

ชื่อโครงการวิจัย: สำรวจภูมิทัศน์และอนาคตของการจัดการสื่อในยุคหลอมรวมข้ามพรมแดน (Media landscape and future of media regulation in the convergence era) โครงการศึกษาแนวทางส่งเสริมจริยธรรม จรรยาบรรณ และการกำกับกิจการสื่อใหม่ในยุคหลอมรวมเทคโนโลยี

ผู้วิจัย: มูลนิธิสื่อเพื่อการศึกษาของชุมชน

ปีที่วิจัย: กรกฎาคม 2557 – กรกฎาคม 2558 (เสนอ ธันวาคม 2558)

แหล่งทุน: สำนักส่งเสริมการแข่งขันและกำกับดูแลกันเอง (สส.) สำนักงานคณะกรรมการกิจการกระจายเสียง กิจการโทรทัศน์ และกิจการโทรคมนาคมแห่งชาติ (กสทช.)

ดาวน์โหลดรายงานวิจัยและเอกสารนำเสนอทั้งหมด

บทสรุปสำหรับผู้บริหาร

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

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

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

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

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

สรุปผลการวิจัย

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

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

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

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

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

ข้อเสนอในงานวิจัย

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

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

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

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

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

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

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

คณะผู้วิจัย

รายงานการวิจัยฉบับสมบูรณ์ (ธันวาคม 2558)

เอกสารนำเสนอจากงานสัมมนา

เอกสารนำเสนอจากงานสัมมนา “คิดใหม่พรมแดนสื่อ” (New Thinking for New Media) 24 ก.ค. 2558 ณ โรงแรมอมารี วอเตอร์เกท กรุงเทพ

เสนองานวิจัย “สำรวจภูมิทัศน์และอนาคตของการจัดการสื่อในยุคหลอมรวมข้ามพรมแดน”

นวัตกรรมการกำกับกิจการจากการศึกษาเปรียบเทียบการกำกับกิจการในเกาหลีใต้ ฝรั่งเศส และอินโดนีเซีย และข้อเสนอแนะเพื่อสนับสนุนการกำกับกันเองในประเทศไทย) โดย อาทิตย์ สุริยะวงศ์กุล — เอกสารนำเสนอ

เสวนาหัวข้อ “Infrastructure for the Future: How convergent media governance could facilitate innovative economy and democratic society?”

โครงสร้างพื้นฐานสำหรับอนาคต: การอภิบาลสื่อในยุคหลอมรวมจะส่งเสริม เศรษฐกิจเชิงนวัตกรรมและสังคมประชาธิปไตยได้อย่างไร? — ดำเนินเสวนาโดย กรรณิการ์ กิจติเวชกุล FTA Watch กลุ่มศึกษาข้อตกลงเขตการค้าเสรีภาคประชาชน

เสวนาหัวข้อ “New media self-regulation for citizen self-determination”

การกำกับสื่อใหม่กันเองเพื่อความสามารถในการกำหนดชีวิตตัวเองพลเมือง — ดำเนินเสวนาโดย พิมพ์สิริ เพชรน้ำรอบ เจ้าหน้าที่ส่วนงานเอเชียตะวันออก FORUM-ASIA

ดาวน์โหลดรายงานวิจัยและเอกสารนำเสนอทั้งหมด

The post สำรวจภูมิทัศน์และอนาคตของการจัดการสื่อในยุคหลอมรวมข้ามพรมแดน first appeared on bact' is a name.

โดย bact ณ 4 October 2020 11:37 +0000

24 September 2020

bact

กีดกันคนแก่?

จริงๆ การเลือกปฏิบัติด้วยอายุ ไม่ได้มีเฉพาะการกีดกันเพียงเพราะอายุเยอะ ยังมีเรื่องกีดกันเพียงเพราะอายุน้อยด้วย

เช่น การระบุในกฎหมาย ว่ากรรมการนั่นนี่ ตำแหน่งต่างๆ จะต้องมีอายุขั้นต่ำ ขั้นสูง เท่าใด ซึ่งขั้นต่ำของไทยนี่สูงมาก ตัวอย่างเช่น กรรมการกสทช. ต้องอายุ 40 ขึ้นไป เท่ากับว่า คนที่เป็นนายกรัฐมนตรีฟินแลนด์ นายกรัฐมนตรีนิวซีแลนด์ และรัฐมนตรีดิจิทัลไต้หวัน ในวันที่พวกเธอเข้ารับตำแหน่ง (34, 37, และ 35 ปี) คุณสมบัติไม่พอจะเป็นกสทช.บ้านเรานะ

(พ.ร.บ.กสทช.ปี 2553 กำหนดไว้ที่ 35 ปี ต่อมาเมื่อปี 2560 สภานิติบัญญัติแห่งชาติที่มาจากการรัฐประหาร ได้แก้ไขกฎหมายในสาระสำคัญหลายส่วน รวมถึงวิธีการสรรหาและคุณสมบัติกรรมการ และขยับอายุขั้นต่ำจาก 35 ไปเป็น 40 ปี — เคยเขียนเรื่องนี้ไว้ เทียบกรรมการหลายชุด)

จะบอกว่าคนหนุ่มสาวสมัยนี้ ไม่ชอบคนแก่ กีดกันคนสูงอายุ ไม่นิยมคนอายุมาก แต่ถ้าไปดูทางความคิด ผมเห็นคนอายุน้อย เขาก็ชื่นชมคนอย่าง Bernie Sanders (79 ปี), RBG (เพิ่งตายไปตอน 87 ปี), สมศักดิ์ เจียมธีรสกุล (62 ปี) อะไรแบบนี้นะ หรือคนกลุ่มอย่าง ชัชชาติ ธราธร พวกนี้ก็ 50++ 40++ (อายุในกลุ่มที่มีคนโอดครวญว่า แค่ใกล้ๆ จะ 40 ก็ถูกเรียกว่าลุงกันแล้ว)

ก็เลยคิดว่า เรื่องที่เราตีโพยตีพายกัน ติดป้ายกันว่านี่เป็นแบ่งแยกช่วงอายุ จริงๆ มันไม่น่าจะเป็นเรื่องการเลือกปฏิบัติเพียงเพราะอายุ

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

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

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

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

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

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

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

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

(เขียนในฐานะคนอายุ 41 ขวบครึ่ง)

The post กีดกันคนแก่? first appeared on bact' is a name.

โดย bact ณ 24 September 2020 14:41 +0000

8 August 2020

bact

The Crown – กษัตริย์ในฐานะบุคลาธิษฐาน

ตะกี้อ่านใบตองแห้ง เรื่องว่าเราจะก้าวหน้าไปได้แค่ไหน แนวหน้าก้าวไป 7 ก้าว สังคมพร้อมก้าวด้วย 2-3 ก้าว ก็ต้องเอาตามสังคมไหม เพราะสุดท้ายขบวนมันต้องมีคนสนับสนุนและยังไงก็ต้องอยู่ด้วยกันต่อไป (ดู https://www.facebook.com/baitongpost/posts/3277567832325023) เลยขอโพสต์เรื่อง “The Crown” นี้ใหม่ เพิ่มเติมนิดหน่อยจากที่โพสต์ไปเมื่อคืน เพราะคิดว่าเป็นเรื่องสำคัญ ในการจัดที่ทางของอำนาจ เพื่อให้สิ่งที่เรียกว่า rule of law สามารถเกิดเป็นจริงได้มากขึ้น กลไกอำนาจทำงานเพื่อประชาชนได้จริงมากขึ้น

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

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

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

(ใครมีความรู้ความเห็นเรื่องนี้ก็เชิญเพิ่มเติม-แก้ไข-แลกเปลี่ยนนะครับ)

(1) อำนาจอธิปไตยมาจากปวงชน

ใน Netflix มีซีรีย์ชื่อ 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 ผู้ถูกฟ้อง” ในความหมายว่า คดีความนี้รัฐมองว่าสาธารณะเป็นผู้เสียหาย จึงใช้อำนาจของปวงชนในการฟ้อง

(2) กษัตริย์เป็นร่างทรง กษัตริย์เป็นภาชนะว่างเปล่า

The Crown นี้ จึงเป็นสิ่งประดิษฐ์ทางการเมืองที่ถูกสร้างขึ้นมาเป็นช่องทางให้อำนาจวิ่งผ่าน แต่ไม่ใช่ต้นทางของอำนาจในตัวมันเอง

ประเด็นเรื่อง “The Crown” ซึ่งดูคล้ายบุคคล (monarch) แต่จริงๆ ไม่ใช่บุคคล แต่เป็นบุคลาธิษฐาน*ของอำนาจอธิปไตยของปวงชนนี้สำคัญมาก เพราะถ้าไม่ชัดเจน พร่าเลือน ก็จะทำให้เข้าใจผิดไปหมดว่าอำนาจต่างๆ นั้นเป็นของกษัตริย์ที่เป็นบุคคลคนหนึ่ง ทั้งที่จริงนั้นกษัตริย์ในระบอบประชาธิปไตยนั้นเป็นเพียงสัญลักษณ์หรือ “ร่างทรง” (legal embodiment) หรือ “ทางผ่าน” ของอำนาจอธิปไตยเท่านั้น

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

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

หรือ Crown Property นั้นก็หมายถึงทรัพย์สินของสาธารณะ ไม่ใช่ทรัพย์สินของบุคคลหนึ่งคน จะปล่อยให้กษัตริย์ที่เป็นบุคคลบริหารจัดการ “ตามพระราชอัธยาศัย” ไม่ได้ (เนื่องจากตัวกษัตริย์ที่เป็นบุคคลนั้นไม่ได้มีอำนาจเป็นของตัวเอง) ต้องให้รัฐบาลซึ่งมาจากการเลือกของประชาชนเป็นคนจัดการ

หรือการที่ศาลเอ่ยว่าพิจารณาพิพากษาคดี “ในพระปรมาภิไธย” นั้น ก็หมายถึงว่าศาลใช้อำนาจตุลาการ ซึ่งเป็นขาหนึ่งของอำนาจอธิปไตย (ตามหลักแบ่งแยกอำนาจคือ อำนาจบริหาร อำนาจนิติบัญญัติ อำนาจตุลาการ) โดยอำนาจที่ว่านี้ไม่ใช่อำนาจของผู้พิพากษาหรือของศาลเอง แต่เป็นอำนาจที่ได้ผ่านมาจากช่อง The Crown ซึ่งต้นทางของอำนาจก็คือปวงชน (ดูที่ นิธิ เอียวศรีวงศ์ อภิปราย https://botkwamdee.blogspot.com/2012/07/n-oldcc.html)

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

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

(*บุคลาธิษฐาน/personification – การทำให้สิ่งไม่มีชีวิต พืช สัตว์ หรือสิ่งนามธรรม มีลักษณะของบุคคลขึ้นมา)

(3) ขีดเส้นความสัมพันธ์ที่ชัดเจน

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

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

การแก้ไขกฎหมายจำนวนหนึ่งที่เกี่ยวกับสถาบันกษัตริย์ ซึ่งระลอกใหญ่ล่าสุดคือช่วงหลัง 2560 ทำให้การแบ่งแยก crown/สาธารณะ/ปวงชน และ monarch/บุคคล นั้นพร่าเลือนมากขึ้น เกิดความไม่ชัดเจนว่าอำนาจอธิปไตยนั้นมาจากปวงชนจริงหรือไม่, ถ้ากษัตริย์ในฐานะบุคคลใช้อำนาจได้เองโดยไม่ต้องมีผู้สนองโองการ อำนาจนั้นเป็นอำนาจจากไหน, ทรัพย์สินส่วนพระมหากษัตริย์ยังเป็นของสาธารณะอยู่หรือไม่, การใช้อำนาจและทรัพยากรยังต้องรับผิดรับชอบกับประชาชนอยู่หรือไม่

การแก้ไขกฎหมายที่ทำให้ขอบเขตอำนาจพร่าเลือนเหล่านี้เป็นประเด็นสำคัญอันหนึ่งที่ อานนท์ นำภา ได้นำเสนอในการปราศัยเมื่อวันที่ 3 ส.ค. 2563 — ดูสรุปโดยไอลอว์ที่ https://www.facebook.com/iLawClub/photos/a.10150540436460551/10164208505220551/

สิ่งที่อานนท์พูดถึงโดยหลักจึงเป็นเรื่องการรักษาอำนาจอธิปไตยของปวงชน

(4) รูปคำที่แข็งแรงเพื่อรักษาความชัดเจนของความคิด

เราไม่จำเป็นต้องตามประเทศใดเป๊ะๆ ในการนิยามแนวคิดลักษณะ The Crown แต่เราควรแบ่งแยกเรื่องบุคคลกับสาธารณะให้ชัดเจน ไม่เช่นนั้นการแบ่งแยกอำนาจ rule of law และความรับผิดรับชอบต่างๆ มันเกิดไม่ได้

และเราควรมีรูปคำสำหรับแนวคิดลักษณะ The Crown ที่เปล่งเสียงได้และเข้าใจตรงกัน จะได้สื่อสารกันได้อย่างชัดเจน ไม่ปะปน crown กับ monarch

คือจะตกลงกันเรื่องที่ทางอย่างไรก็สุดแล้วแต่ แต่ภาษาคือเครื่องมือพื้นฐานในการสื่อสารเพื่อที่จะได้สามารถตกลงกันได้ ถ้าภาษามันไม่ชัด ก็ทำงานกันลำบาก

ใครทราบว่ามีคำที่เหมาะสมอยู่แล้ว หรืออยากจะเสนอคำ ก็เชิญได้นะครับ

ปรับปรุงบางส่วนจากโพสต์บนเฟซบุ๊ก 9 ส.ค. 2563 และ “The Crown” (28 พ.ย. 2559) และเผยแพร่ครั้งแรกที่ https://www.facebook.com/arthit/posts/10157020621931086

The post The Crown – กษัตริย์ในฐานะบุคลาธิษฐาน first appeared on bact' is a name.

โดย bact ณ 8 August 2020 23:47 +0000

12 July 2020

Kitt

CVE-2019-14287 – sudo

Thre is a bug in sudo before 1.8.28. The bug, basically, involve UID validation where user ID -1 or 4294967295 could allow a user with sudo privilege to run command as root, even the Runas specification explicitly disallow root access. For example,  specify Runas in /etc/sudoers like this: test ALL=(ALL,!root) /usr/bin/whoami You can do this: … Continue reading CVE-2019-14287 – sudo

โดย kitty ณ 12 July 2020 14:39 +0000

ftp.th.debian.org

Well, ftp.th.debian.org was NXDOMAIN for 2+ years. Not anymore: Yes, I’m running ftp.th.debian.org. :)

โดย kitty ณ 12 July 2020 14:35 +0000

1 May 2020

Chatsiri

Fonts-TLWG 0.7.2 Released

Changes from 0.7.1

  • Garuda has been fine-tuned by hand for balanced cubic splines and optimal quadratic splines.
  • All families now use OS/2 Typo metrics instead of just Win/Hhea metrics.
  • The OS/2 Typo metrics of each family have been normalized for equal line spacing on all faces, esp. regular and bold.
  • Switch to Python 3 on build scripts.
  • Fix a TDS zipball naming issue in the generated CTAN zipball.

Download

MD5 sums:

22a6b951ecf150650bb1f11cca17aa52  fonts-tlwg-0.7.2.tar.xz
ab5986f78011b9f76d8ce01c8643abd5  otf-tlwg-0.7.2.tar.xz
4848bad01b1a59e70c210c5a50f4f8ee  otf-tlwg-0.7.2.zip
535108b36ae4f31a52188da89d4ed496  ttf-tlwg-0.7.2.tar.xz
b786e2abfa2b7080af8c60bcee569639  ttf-tlwg-0.7.2.zip
8b7c718e06ff928f52b0409cf89ae75b  woff-tlwg-0.7.2.tar.xz
950c440bac4242db6d47d543e0d18f56  woff-tlwg-0.7.2.zip

VCS

$ git clone https://github.com/tlwg/fonts-tlwg.git

GitHub: https://github.com/tlwg/fonts-tlwg
GitHub release: https://github.com/tlwg/fonts-tlwg/releases/tag/v0.7.2

Projects: 

โดย thep ณ 1 May 2020 04:38 +0000

12 April 2020

Kitt

คำนวณวันสงกรานต์ปี 2563

สงกรานต์ปี 2563 เป็นปี จ.ศ. (2563 – 1181) = 1382 วันเถลิงศก ตรงกับ (1382 * 0.25875) + floor(1382 / 100 + 0.38) – floor(1382/ 4 + 0.5) – floor(1382 / 400 + 0.595) – 5.53375 = 357.5925 + 14 – 346 – 4 – 5.53375 = 16.05875 = วันที่ 16 เมษายน 2563 เวลา 01:24:36 วันสงกรานต์ ตรงกับ 16.05875 … Continue reading คำนวณวันสงกรานต์ปี 2563

โดย kitty ณ 12 April 2020 10:24 +0000

7 March 2020

Kitt

Stitches removed + lab result

Well, two weeks after the operation, I got stitches removed. The excision wound is somewhere between 4-5 cm long, it’s pretty intact. Still need to put a gauze pad for 4-5 more days though. So, what is it exactly ? Based on diagnostic surgical pathology, it’s an irritated seborrheic keratosis. Safe ? Yes.

โดย kitty ณ 7 March 2020 06:20 +0000

5-min ETH Smart Contract

5-minute smart contract on ETH-compat blockchain network ? .. Yes, it is very possible .. if you already have some knowledge about it.

โดย kitty ณ 7 March 2020 06:17 +0000

13 February 2020

Kitt

Got an operation

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

โดย kitty ณ 13 February 2020 02:23 +0000

12 February 2020

Chatsiri

Fonts-Arundina 0.3.2 Released

Changes from Fonts-SIPA-Arundina 0.3.1

  • Set OS/2 metrics for proper line spacing.
  • Fix broken TDS compliance in CTAN zipball.
  • Update links in README.

Download

MD5 sums

3a9d44730a9724e6e7a0ed17eff25c17  fonts-arundina-0.3.2.tar.xz
99f50537ea46081eb3d0129cb7c3b4e0  otf-arundina-0.3.2.tar.xz
982b59aa3d76df8ece2f0ed3d57ee12a  ttf-arundina-0.3.2.tar.xz

VCS

 $ git clone https://github.com/tlwg/fonts-arundina.git

GitHub: https://github.com/tlwg/fonts-arundina
GitHub Release: https://github.com/tlwg/fonts-arundina/releases/tag/v0.3.2

โดย thep ณ 12 February 2020 09:21 +0000

29 January 2020

Chatsiri

Fonts-Arundina 0.3.1 Released

Changes from Fonts-SIPA-Arundina 0.3.0

  • Fix CTAN zipball build failure.
  • Allow installable font embedding (issue caught by Debian's lintian).

Download

MD5 sums

def84110a257db933b57a57aa806f3b6  fonts-arundina-0.3.1.tar.xz
017304d4ab9a62a902f74390a62beb5c  otf-arundina-0.3.1.tar.xz
8d845730c1958d8bce6b5850bd01e51d  ttf-arundina-0.3.1.tar.xz

VCS

 $ git clone https://github.com/tlwg/fonts-arundina.git

GitHub: https://github.com/tlwg/fonts-arundina
GitHub Release: https://github.com/tlwg/fonts-arundina/releases/tag/v0.3.1

โดย thep ณ 29 January 2020 08:13 +0000

22 January 2020

Chatsiri

Fonts-Arundina 0.3.0 Released

"Fonts-SIPA-Arundina" project is now renamed to "Fonts-Arundina".

Changes from Fonts-SIPA-Arundina 0.2.2

  • Source package is renamed to 'fonts-arundina', to be consistent with LaTeX package.
  • Set TTF Preferred Family back to those of individual fonts, rather than using the same "Arundina" in all families, to avoid confusion on GTK font selector.
  • Add cubic layer and generate font splines directly from the corresponding layers, rather than converting splines on the fly. (Major change, new minor version.)
  • Preliminary fine tuning on Arundina Sans quadratic splines.
  • Add 'make dist-fonts' target for automatically generating binary tarballs.

Download

MD5 sums

7a90de70de6607968159a664864e2412  fonts-arundina-0.3.0.tar.xz
5b7a612e155ab236b9cf3f164b329507  ttf-arundina-0.3.0.tar.xz
a7121c2449b525e86dc261ff9541ba35  otf-arundina-0.3.0.tar.xz

VCS

 $ git clone https://github.com/tlwg/fonts-arundina.git

GitHub: https://github.com/tlwg/fonts-arundina
GitHub Release: https://github.com/tlwg/fonts-arundina/releases/tag/v0.3.0

โดย thep ณ 22 January 2020 08:34 +0000

7 January 2020

Thep

Fine-tuning Quadratic Splines in Fontforge

นับจากที่ได้เพิ่ม layer ผสมใน Fonts-TLWG เพื่อแก้ปัญหาเรื่อง build reproducibility ในรุ่น 0.7.0 ก็ได้เปิดช่องทางสำหรับการ fine-tune quadratric spline ของฟอนต์ TrueType เพียงแต่ผมยังไม่ได้ทำกับ Fonts-TLWG ในทันที เพราะได้กลับไปทำ layer ผสมกับ Fonts-Arundina เสียก่อน และได้ถือโอกาสทดลอง fine-tune quadratic spline ต่อด้วย

หลังจากที่เพิ่ม layer ผสมกับทุกฟอนต์ในชุด Arundina แล้ว ก็ได้ทดลอง fine-tune quadratic spline ต่อ ซึ่งก็ทำเสร็จแค่ Arundina Sans เท่านั้น พอมาทำ Arundina Sans Mono ต่อ ปรากฏว่าเกิดเหตุ Fontforge ตายกลางคันขณะ save ทำให้ข้อมูลที่แก้ไขมาได้ครึ่งทางแล้วสูญหายทั้งหมด แม้แต่กระบวนการ recovery ของ Fontforge เองก็กู้ข้อมูลขึ้นมาไม่ได้! ถ้าจะเริ่มใหม่ก็ต้อง check out ฉบับที่ยังไม่ปรับเส้นจาก git ออกมาทำใหม่นั่นแหละ

เป็นอุทาหรณ์ว่าควร commit git ให้บ่อยกว่านี้ ถึงยังไม่เสร็จก็ควร commit ไว้ก่อน แล้วค่อยใช้ option --amend ในครั้งต่อ ๆ ไปก็ยังได้!

ก็เลยตัดสินใจหยุดทำ Arundina ไว้แค่นั้น แล้วเตรียมตัดออกรุ่นใหม่เสียก่อน โดยขอบันทึกสิ่งที่ได้เรียนรู้จากการปรับเส้นฟอนต์ Arundina ไว้ ณ ที่นี้ก่อน ก่อนที่จะนำไปใช้กับ Fonts-TLWG ต่อไป

ปรับ Quadratic และ Cubic Spline ไปด้วยกัน

ในระยะแรกนั้น ผมปรับเฉพาะ quadratic layer เข้าหา cubic layer โดยพยายามให้ curve ทาบกับ cubic layer ได้สนิทด้วยจำนวนจุดที่พอเหมาะ โดยตัดจุดที่ไม่จำเป็นออก และเติมจุดบางจุดที่เห็นว่าน่าจะเป็นประโยชน์ต่อการ hint แต่เมื่อได้ปรับไปเรื่อย ๆ ก็ได้พบกรณีที่ต้องปรับ cubic layer ควบคู่กันมากขึ้นเรื่อย ๆ จนในที่สุดผมก็ปรับทั้งสอง layer ควบคู่กัน ซึ่งปรากฏว่าคุณสมบัติของโค้งทั้งสองแบบได้เสริมกันและกันในการจัด control point ต่าง ๆ ได้เป็นอย่างดี

การปรับทั้งสอง layer ควบคู่กันยังมีข้อดีอีกอย่าง คือเราสามารถลดปริมาณงานในอนาคตหากมีการ copy ข้ามจาก cubic layer มายัง quadratic layer อีกด้วย เพราะจะได้จำนวนจุด quadratic ที่เหมาะสมทันที ไม่ต้องมานั่งปรับใหม่ รวมถึงกรณีที่ต้องการ generate ฟอนต์ TrueType ด้วยการแปลงจาก cubic layer กลางอากาศ (อย่างที่เราเคยทำในสมัยก่อน)

หรือแม้กระทั่งสำหรับการ generate ฟอนต์ PostScript หรือฟอนต์ OpenType ที่ใช้ cubic spline เอง ก็จะได้โค้งที่ได้สมมาตรสวยงาม และยังอาจช่วยให้ rasterize ได้เร็วขึ้นสำหรับบาง engine ได้อีกด้วย (เช่น สำหรับ rasterizer ที่ render Bézier curve ด้วยการแบ่งครึ่ง curve แบบ recursive บนพื้นฐานของ De Casteljau’s algorithm)

ส่วนวิธีการปรับนั้นจะกล่าวถึงต่อไปเป็นลำดับ

Quadratic Spline ใน Fontforge

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

จุด interpolated ในที่นี้ขอเรียกว่า จุดกะ ในโค้ง quadratic เป็นจุดต่อโค้ง (curve point) ที่อยู่กึ่งกลางระหว่างจุดควบคุมสองจุด และในทางกลับกัน จุดต่อโค้งที่มีแขนสองข้างยาวเท่ากันก็จะถือเป็นจุดชนิด interpolated โดยอัตโนมัติใน Fontforge เช่นกัน (ยกเว้นจุดที่ผู้ใช้กำหนดให้ห้าม interpolate)

Quadratic interpolated point

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

Editing with quadratic interpolated point

การประมาณ Cubic Curve ด้วย Quadratic Curve

ดังที่ได้กล่าวไว้ใน blog เดิม ว่าการแปลง quadratic curve เป็น cubic จะเป็นการแปลงแบบแม่นตรง แต่ในทางกลับกัน คือจาก cubic curve เป็น quadratic จะเป็นการประมาณเท่านั้น เนื่องจาก quadratic curve มีความเป็นอิสระ (degree of freedom) น้อยกว่า ดังนั้น เมื่อคุณคัดลอก spline จาก cubic layer มา quadratic layer จึงมีการประมาณค่าเกิดขึ้น

มีอัลกอริทึมจำนวนหนึ่งสำหรับประมาณ cubic curve ด้วย quadratic เช่น แบ่ง curve เป็นส่วนย่อย ๆ ที่เมื่อตัดสัมประสิทธิ์ดีกรีสามออกแล้วได้ quadratic curve ที่ใกล้เคียงพอ (มี paper ที่คล้ายกัน), แบ่งครึ่ง curve ที่ t=0.5 แล้ว solve หาจุดควบคุม quadratic curve ที่ใกล้เคียงของทั้งสองส่วน ฯลฯ

สำหรับ Fontforge แล้ว ใช้การประมาณด้วยจุดกะ โดยอยู่บนพื้นฐานของทฤษฎีซึ่งพบจากการทดลองแต่ยังไม่มีข้อพิสูจน์ทางคณิตศาสตร์ว่า ถ้าแบ่ง cubic curve เป็นช่วง ๆ ด้วย parameter ที่ห่างเท่า ๆ กันแล้ว ปรากฏว่าจุดแบ่งเหล่านั้นจะอยู่กึ่งกลางระหว่างจุดควบคุมข้างเคียงพอดี ซึ่งหมายความว่าสามารถแทนจุดแบ่งทุกจุดด้วยจุดกะได้ ด้วยทฤษฎีนี้ Fontforge จึงประมาณ cubic spline ด้วย quadratic spline ที่เติมจุดกะตามแนวเส้นโค้งเสมอ

Cubic spline approximation with quadratic spline

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

การลดจำนวนจุดกะใน Quadratic Curve

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

จากภาพในตัวอย่างข้างต้น มีการเติมจุดกะระหว่างกลาง 4 จุดใน quadratic curve แต่เราสามารถลดจำนวนจุดกะนี้ลงได้ ไม่ว่าจะเพื่อความเรียบง่าย เพื่อลดขนาดข้อมูล (ซึ่งสำคัญสำหรับ web font) หรือเพื่อประสิทธิภาพในการ hint และการ rasterize ก็ตาม โดยแนวทางการลดจุดกะที่เป็นไปได้คือ:

  1. ตัดจุดกะด้วยมือ โดยเลือกจุดกะที่ต้องการตัดแล้วสั่ง Merge (Ctrl-M)
  2. ปรับ cubic curve ต้นทางด้วยมือให้สามารถประมาณได้ด้วยจำนวนจุดที่น้อยลง

ทั้งสองวิธีจะได้ quadratic curve ที่คลาดเคลื่อนจาก cubic curve เดิมเล็กน้อย แต่วิธีที่สองจะทำให้ได้ spline สองแบบที่ทาบกันสนิทกว่าแบบแรก เพราะมันถูกปรับไปด้วยกัน

ในฟอนต์ตัวแรก ๆ ที่ทำ ผมใช้วิธีแรก แต่ต่อมาก็ค่อย ๆ เกิดความคิดว่าวิธีที่สองน่าจะเหมาะกว่า และในที่สุดก็เลือกวิธีที่สองเป็นหลัก

แล้ว cubic curve แบบไหนที่จะใช้จำนวนจุดกะน้อยลง?

ก่อนอื่น คนที่เคย edit cubic curve จะรู้ว่าเราสามารถปรับแขนทั้งสองของโค้งได้โดยยังได้โค้งที่ใกล้เคียงกับโค้งเดิม ด้วยการเพิ่มความยาวของแขนข้างหนึ่ง และลดความยาวของแขนอีกข้างหนึ่ง

Cubic curve adjustment

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

สำหรับโค้งในตัวอย่างข้างต้น เมื่อปรับแล้ว copy ข้ามมา quadratic layer เรากลับได้ curve ที่ใช้จุดกะเพียงจุดเดียว จากเดิมที่ใช้ถึง 4 จุด

Quadratic curve of the adjusted cubic curve

ถามว่า cubic curve แบบไหนที่ใช้จุดกะน้อย? แรก ๆ ที่ลองผิดลองถูกน้ัน ผมอาศัย sense เป็นหลัก คือพยายามให้แขนทั้งสองข้างได้ดุลกัน แต่เมื่อทำไปก็เริ่มถามตัวเองถึงคุณสมบัติทางคณิตศาสตร์ที่ชัดเจนกว่าการใช้ sense ซึ่งในที่สุดก็ได้คำตอบที่กลับไปหาพื้นฐานทางคณิตศาสตร์ของ cubic และ quadratic curve นั่นเอง

จาก blog เดิม ผมได้กล่าวไว้ว่า quadratic curve ที่มีจุดควบคุม P0, P1 และ P2 สามารถแทนได้ด้วย cubic curve ที่สมมูลกันโดยมีจุดควบคุม P0, (P0/3 + 2P1/3), (2P1/3 + P2/3), และ P2

Equivalent cubic curve of a quadratic curve

เราสามารถพูดในทางกลับกันได้ว่า cubic curve ที่ว่านี้ เมื่อแปลงเป็น quadratic curve ก็จะใช้จุดควบคุม P0, P1 และ P2 ได้ทันทีโดยไม่ต้องเติมจุดกะ

ถือเป็นอุดมคติของการประมาณโค้ง ยิ่งเราปรับ cubic curve ให้เข้าใกล้อุดมคตินี้มากเท่าไร เมื่อแปลงเป็น quadratic ก็จะใช้จุดกะระหว่างกลางน้อยลงเท่านั้น

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

ฉะนั้น แนวทางโดยทั่วไปก็คือ พยายามเล็งให้ polygon ที่เชื่อมระหว่างจุดปลายและจุดควบคุมของ cubic curve กลายเป็นสี่เหลี่ยมคางหมูหรือใกล้เคียง ซึ่งโดยทั่วไปก็จะทำให้มีจุดกะเพิ่มไม่เกิน 1 จุด

การปรับอื่น ๆ

ในบางกรณี ก่อนที่จะได้ cubic curve ที่สามารถแทนด้วย quadratic curve ที่เติมจุดกะไม่เกิน 1 จุด ก็อาจจำเป็นต้องปรับจุดต่อโค้งต่าง ๆ เพิ่มตามจำเป็น เช่น

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

แผนการต่อไป

ในฟอนต์ชุด Arundina ที่กำลังจะตัดออกรุ่นนี้ ผมได้ปรับ spline เฉพาะฟอนต์ Arundina Sans เท่านั้น โดยใช้วิธีแรก (ยุบจุดกะใน quadratic spline เท่านั้น) และ commit ไปแล้ว ส่วน Arundina Sans Mono ผมเริ่มใช้วิธีที่สอง แต่น่าเสียดายที่ข้อมูลสูญหายไปหมด จึงไม่ได้รวมมาในรุ่นใหม่นี้ แต่จะนำหลักการที่ได้นี้ไปใช้ปรับฟอนต์ชุด Fonts-TLWG ในลำดับต่อไป

โดย Thep (noreply@blogger.com) ณ 7 January 2020 07:36 +0000

29 October 2019

Kitt

Alma Mater

โดย kitty ณ 29 October 2019 08:44 +0000

DNS Flag Day

Background0. อินเทอร์เน็ตอาศัยเลข IP address ในการระบุที่อยู่ของ devices ที่เชื่อมต่อกัน แต่มนุษย์จำเลข IP address พวกนี้ไม่ได้หรอก จึงเกิด Domain Name System (DNS) เพื่อให้เราใช้ชื่อเครื่อง (hostname) ที่จำได้ง่ายกว่า แทน IP address ได้ โดย DNS จะไปหา (resolve) มาให้ว่า hostname นี้ใช้ IP address อะไร 1. บริการของ DNS ทำผ่าน name servers ซึ่งมีกระจายทั่วโลก คอมพิวเตอร์ที่ต่ออินเทอร์เน็ตเกือบทั้งหมดจะได้รับการกำหนดค่า name server(s) เสมอเพื่อจะได้ถามหา IP address ของ hostname ที่ผู้ใช้จะเชื่อมต่อได้ถูก Problems2. มันควรเป็นปกติสุข จนระบบ DNS มีความซับซ้อนมากขึ้นเรื่อย ๆ … Continue reading DNS Flag Day

โดย kitty ณ 29 October 2019 08:43 +0000

16 September 2019

Thep

Thanks

ขอขอบคุณ ท่านที่ได้ สนับสนุน งานพัฒนาซอฟต์แวร์เสรีของผมในช่วงที่ผ่านมาครับ

นับจาก ครั้งที่แล้ว ขอขอบคุณผู้สนับสนุนงานของผมดังนี้:

ขอให้ทั้งสองท่านประสบความสำเร็จในหน้าที่การงาน สุขภาพแข็งแรงครับ

ปีนี้อาจเป็นปีที่งานพัฒนาซอฟต์แวร์ของผมขาดช่วงไปบ้าง เนื่องจากรับงานสอนพิเศษนักเรียนอยู่ช่วงหนึ่ง แต่ก็พอสรุปงานตั้งแต่ต้นปีได้ดังนี้:

โดย Thep (noreply@blogger.com) ณ 16 September 2019 04:32 +0000

3 August 2019

Chatsiri

gtk-im-libthai-0.2.2 Released

Changes from 0.2.1

  • Drop usage of deprecated GTK+ API
  • Working 'make distcheck'
  • XZ release tarball compression
  • New configure option to disable fallback (Use with care!)

Download

ftp://linux.thai.net/pub/ThaiLinux/software/libthai/gtk-im-libthai-0.2.2...

MD5 Sums:

7985535703e6770983469a0e60779b15  gtk-im-libthai-0.2.2.tar.xz

VCS

$ git clone https://github.com/tlwg/gtk-im-libthai.git

GitHub: https://github.com/tlwg/gtk-im-libthai
GitHub release: https://github.com/tlwg/gtk-im-libthai/releases/tag/v0.2.2

Projects: 

โดย thep ณ 3 August 2019 06:59 +0000

1 July 2019

Thep

DTAC Leaked Net Data Problem

หลังจากเจอปัญหา DTAC เน็ตมือถือรั่วมานานพอควร คือการหักค่า net data ทั้ง ๆ ที่ผมปิด net data ตลอดเวลา และใช้เน็ตผ่าน Wi-Fi เท่านั้น เดือน มิ.ย. ที่ผ่านมาเลยเช็กตัวเลขจริงจัง พบว่าค่าเน็ตรั่วที่ผมจ่ายทั้งเดือนคือ 57.78 บาท ในขณะที่ค่าโทรผมใช้แค่ 21.25 บาท ผมจ่ายเงินไปฟรี ๆ เกือบสามเท่าของที่ใช้จริง!

เมื่อตรวจสอบปริมาณการใช้ net data จากแอนดรอยด์เอง กลับพบว่าปริมาณการใช้เน็ตทั้งเดือนคือ 0 ไบต์! แล้ว DTAC ตัดเงินผมจากอะไร?

คำอธิบายมีสองแนว

  1. comment หนึ่งใน Pantip อธิบายว่า เทคโนโลยี 4G ออกแบบมาให้ใช้ data ล้วน จึงเชื่อมต่อ data ตลอดเวลาที่เปิดเครื่อง แม้แต่การโทรก็ใช้ data ผ่าน VoLTE แต่เพื่อการติดต่อกับเครือข่าย 3G หรือ 2G ก็จะทำ Circuit Switched FallBack (CSFB) สำหรับการโทรหรือ SMS ได้ แต่สำหรับการเชื่อมต่อ 4G ปกติ ยังไงก็ปิด data ไม่ได้ทั้งหมด ยังต้องมีส่วนที่ใช้ maintain การเชื่อมต่ออยู่ดี
  2. DTAC อธิบายถึงสาเหตุอื่นที่ไม่เกี่ยวกับเทคโนโลยี 4G คือ
    • เมื่อ Wi-Fi สัญญาณอ่อนหรือช้าลง เครื่องจะสลับมาใช้สัญญาณ 3G/4G โดยอัตโนมัติเพื่อความต่อเนื่อง
    • บาง app เช่น passbook จำเป็นต้องใช้สัญญาณ 3G/4G สื่อสารกับเครือข่ายเพื่อยืนยันเบอร์ที่ใช้งาน
    • เมื่อเครื่องเข้าสู่ sleep mode จะสลับจากการจับสัญญาณ Wi-Fi มาเป็น 3G/4G อัตโนมัติ

กรณีของผม ผมเชื่อว่ามาจากข้อ 1 เพราะเริ่มสังเกตเห็นอาการเน็ตรั่วหลังจากที่ในพื้นที่มีสัญญาณ DTAC-Turbo และมือถือผมก็จับสัญญาณนี้ ในขณะที่เครื่องของอีกคนที่ใช้ DTAC เหมือนกันจับสัญญาณ VoLTE และไม่มีปัญหาเน็ตรั่ว

ฉะนั้น ผมจึงแก้ปัญหาด้วยการตั้งมือถือให้เชื่อมต่อกับเครือข่าย 3G เท่านั้น แทนที่จะเชื่อม 3G/4G อัตโนมัติ

อย่างไรก็ดี ปัญหาข้อ 2 ก็ยังอาจมีได้สำหรับเครือข่าย 3G ก็เลยสั่งปิดสัญญาณอินเทอร์เน็ตที่เครือข่ายไปเลย โดยสำหรับ DTAC ใช้เบอร์ดังนี้

จากที่ผมสังเกตเปรียบเทียบกับเครื่องของเพื่อนที่ไม่มีปัญหาเน็ตรั่วทั้งที่ใช้ 4G เหมือนกัน ซึ่งก็ควรต้องใช้ data ในการ maintain การเชื่อมต่อเหมือนกัน แต่ VoLTE กลับไม่มีปัญหาการตัดเงิน ในขณะที่เครื่องที่ใช้ DTAC-Turbo กลับมีปัญหา หรือจะเป็นปัญหาของ DTAC-Turbo?

ทั้งนี้ ก็ต้องพิจารณาด้วยว่าปัญหานี้ไม่ได้พบแค่กับ DTAC เท่านั้น แต่ทั้ง AIS และ True ต่างก็ดูจะมีปัญหานี้เช่นกัน และถ้าทางแก้คือการถอยกลับไป 3G ก็หมายความว่าถ้าไม่แก้ปัญหาการคิดค่าใช้งานตรงนี้ การขยับไป 4G หรือ 5G ของประเทศก็อาจเกิดแรงเสียดทานจากผู้ใช้ได้

โดย Thep (noreply@blogger.com) ณ 1 July 2019 05:11 +0000