1 คะแนน โดย GN⁺ 2025-01-09 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • JD Kaim นักศึกษา UW สร้าง MVP ของ HuskySwap เพื่อช่วยให้นักศึกษาหาคู่แลกที่นั่งเรียนกันในวิชาที่เต็มแล้ว และกำลังเตรียมเปิดตัวก่อนการลงทะเบียนเรียนภาคฤดูใบไม้ผลิ
  • โปรเจกต์นี้เริ่มจาก งานในวิชา CSE 403 และยังเป็นการฝึกทำฟูลสแตกเพื่อเรียนรู้ .NET รุ่นใหม่, Angular, การทำ abstraction ของฐานข้อมูล, แชตแบบเรียลไทม์ และสิทธิ์ตามบทบาท
  • เอกสาร Swagger ของระบบลงทะเบียน UW แนะนำการเข้าถึงข้อมูลรายวิชา การลงทะเบียน เซกชัน บุคคล และภาคการศึกษาของ Student Web Service เขาจึงตั้งใจจะเริ่มจากโทเค็นแบบอ่านอย่างเดียวเพื่อทำให้การ ดึงแค็ตตาล็อกรายวิชา เป็นอัตโนมัติ
  • ไม่กี่ชั่วโมงหลังขอโทเค็น เขาได้รับ หนังสือแจ้งการละเมิด Registration Tampering Abuse Policy และถูกสั่งว่าหากไม่เอาเว็บไซต์ที่มีรายวิชาเดโมปลอมลง อาจมีการเริ่มกระบวนการที่นำไปสู่การถูกไล่ออก
  • ประเด็นสำคัญไม่ใช่การลบเว็บเดโมเอง แต่คือความพยายามที่จะปรับปรุงประสบการณ์ในมหาวิทยาลัยกลับถูกตอบโต้ด้วยมาตรการรุนแรงทันที JD Kaim ระบุว่าเขามีกำหนดจบการศึกษาในอีกไม่กี่เดือน และสามารถเริ่มงานวิศวกรซอฟต์แวร์เต็มเวลาได้ตั้งแต่เดือนมิถุนายน

ปัญหาการแลกที่นั่งเรียนที่ HuskySwap ต้องการแก้

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

กระบวนการพัฒนาและเป้าหมายการเรียนรู้

  • MVP รุ่นแรกยังมีลักษณะเป็นการฝึกตามให้ทัน .NET รุ่นใหม่และ Angular
  • ฟีเจอร์หลักที่ทำระหว่างพัฒนามีดังนี้
    • การทำ abstraction ของฐานข้อมูล
    • แชตแบบเรียลไทม์
    • สิทธิ์ตามบทบาท
  • เป็นโปรเจกต์ที่เดิมก็มีโอกาสจะทำอยู่แล้ว และยังได้หน่วยกิต CSE 403 ไปพร้อมกัน จึงเป็นโอกาสที่เหมาะสม

คำขอเข้าถึง API ระบบลงทะเบียนของ UW

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

หนังสือแจ้งการละเมิดและคำสั่งให้ลบเว็บไซต์

  • ไม่กี่ชั่วโมงหลังจากขอโทเค็น เขาได้รับคำตอบชื่อ “Notice of Violation of Registration Tampering Abuse Policy
  • มหาวิทยาลัยสั่งให้เอาเว็บไซต์เดโมและรายวิชาเดโมปลอมไม่กี่รายการในนั้นลง
  • เนื้อหาระบุว่าหากไม่เอาเว็บไซต์ลง จะเริ่มกระบวนการที่อาจจบลงด้วยการถูกไล่ออก
  • JD Kaim มองว่าเขาติดต่อไปด้วยเจตนาจะทำให้ประสบการณ์ในมหาวิทยาลัยดีขึ้นสำหรับทุกคน แต่โรงเรียนกลับตอบสนองอย่างแข็งกร้าวทันที

แผนต่อไปและข้อความหางาน

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

1 ความคิดเห็น

 
xguru 2025-01-10
ความคิดเห็นจาก Hacker News
  • อัปเดต: เมื่อวานหลังได้รับคำขาด ผมก็ปิดเว็บไซต์โปรเจกต์สำหรับวิชานั้นทันที
    ผมยังไม่คิดว่าไซต์เดโมง่าย ๆ นี้ละเมิดถ้อยคำหรือเจตนารมณ์ของระเบียบการลงทะเบียน แต่ผมอยากแสดงเจตนาดีจึงปิดไป
    วันนี้ทางมหาวิทยาลัยขอบคุณที่ผมปิดเว็บ แต่ก็บอกว่าจะใส่ สถานะระงับ ไว้ในบัญชีของผม ส่งผลให้ผมลงทะเบียนเรียนเทอมสุดท้ายไม่ได้ และในทางปฏิบัติจะถูกถอนสภาพนักศึกษาตอนจบเทอมนี้
    อย่างไรก็ตาม พวกเขาพูดเป็นนัยว่าหากผมตกลงสร้างโซลูชันคล้ายกันให้มหาวิทยาลัยเพื่อแก้ปัญหาพื้นฐานที่ HuskySwap ตั้งใจจะแก้ ก็จะยกเลิกสถานะระงับให้เพื่อให้ผมเรียนจบได้ และระบุชัดเจนว่าทรัพย์สินทางปัญญาจะเป็นของมหาวิทยาลัย โดยไม่มีค่าตอบแทน
    ผมรัก UW มากและมีช่วงเวลาดี ๆ ที่นั่น แต่นี่ทำให้หมดกำลังใจมาก
    อัปเดต 2: ขอบคุณสำหรับคำแนะนำ ผมไม่เคยตั้งใจหารายได้จากแพลตฟอร์มนี้ และเชื่อว่าผู้นำของ UW จะทำสิ่งที่ถูกต้องในที่สุด จึงไม่คิดจะดึงทนายเข้ามา
    ตอนนี้ผมก็ไม่มีแผนจะทำโปรเจกต์นี้ต่อ ถ้าตั้งแต่แรกพวกเขาเสนอให้มาร่วมงานกันก็คงต่างออกไป แต่จากวิธีที่จัดการมาจนถึงตอนนี้ ทำให้ผมแค่อยากถอยออกมา

    • จากสถานการณ์ที่ผ่านมา มันชี้ให้เห็นว่ามหาวิทยาลัยอาจไม่เพียงไม่แก้ไข แต่ยังทำให้แย่ลงได้ และความเชื่อนั้นดูเหมือนจะวางผิดที่อย่างสิ้นเชิง ควร ปรึกษาทนาย อย่างจริงจัง
      การขอคำแนะนำจากทนายไม่ได้แปลว่าต้องดำเนินคดีกับมหาวิทยาลัยทันที การปรึกษาไม่ใช่การยกระดับความขัดแย้ง และมหาวิทยาลัยไม่จำเป็นต้องรู้ด้วยซ้ำว่ามีการปรึกษา ทนายจะบอกได้ว่าจำเป็นต้องดำเนินการทางกฎหมายหรือไม่ หรือก่อนหน้านั้นยังมีทางเลือกที่เป็นมิตรกว่านี้ไหม
    • ถ้าผมสร้างระบบแบบนี้ตอนที่เรียนอยู่ UW ผมกับนักศึกษาอีกหลายสิบคนคงยินดีจ่ายกันคนละหลายร้อยดอลลาร์ ระบบลงทะเบียนเรียนและจองที่นั่ง ที่นั่นพังอย่างไม่น่าเชื่อ
      วิธีเดียวที่จะได้ที่นั่งในวิชาบังคับบางวิชา คือหานักศึกษาชั้นปีสูงที่มีวันลงทะเบียนก่อนและตารางว่าง ให้เขาช่วยจองแทน ถ้าอยู่ใน fraternity ก็ยังพอไหว แต่ถ้าเป็นนักศึกษาเก็บตัวที่อยู่นอกแคมปัสก็ไม่มีทางออกเลย
      UW ก็น่าจะรู้ปัญหานี้ดี แต่การที่ปัญหายังรุนแรงถึงขั้นจะถอนสภาพนักศึกษาเพียงเพราะทำเดโมไอเดีย มันแย่มาก
    • ควรลอง ปรึกษาทนาย ดู ฟังดูเริ่มเหมือนการ ขู่กรรโชก มากขึ้นเรื่อย ๆ
    • ครึ่งหนึ่งก็เห็นด้วย แต่อีกครึ่งหนึ่งก็รู้สึกเหมือนเป็นการเรียกร้องความสนใจเพื่อหางานด้วย ช่วงท้ายของโพสต์ LinkedIn อ่านแล้วเป็นแบบนั้น
      เพราะไม่ได้แชร์เอกสารจริงของ UW จึงตัดสินจากภายนอกได้ยาก
      ส่วนท้ายของโพสต์ LinkedIn ที่ว่า “จะเรียนจบในอีกไม่กี่เดือน และอยากย้ายไปทำโปรเจกต์ที่ไม่ต้องขออนุญาต UW Registrar ถ้ามีใครรู้จักคนที่กำลังหาวิศวกรซอฟต์แวร์ฟูลไทม์ที่มีความสามารถในการดึงความสนใจของผู้บริหารระดับสูง ช่วยแนะนำด้วย เริ่มทำงานเต็มเวลาได้ตั้งแต่เดือนมิถุนายน” ผมว่าควรตัดออก มันอาจดูเหมือนพูดเกินจริงเพื่อเรียกความสนใจ
      ในโปรไฟล์ LinkedIn เขียนว่าจบมัธยมกลางปี 2023 และเริ่มที่ UW ช่วงกลางถึงปลายปี 2023 เลยสงสัยว่าอีกไม่กี่เดือนจะจบได้อย่างไร หมายถึงเรียนจบใน 2 ปีแทนที่จะเป็น 4 ปีตามปกติหรือ?
    • เป็นศิษย์เก่า UW CSE ถ้าใกล้เรียนจบแล้ว อย่างน้อยควรคุยกับ ที่ปรึกษาทางวิชาการ
      มหาวิทยาลัยมีแรงจูงใจสูงที่จะให้นักศึกษาเรียนจบ และถ้ายังไม่ได้ถูกถอนสภาพอย่างเป็นทางการ ก็มีโอกาสสูงว่าจะมีวิธีลงทะเบียนเรียนให้แบบแมนนวลได้ ที่ปรึกษาน่าจะมีทางเลือก และไม่ได้ถูกจำกัดแบบเดียวกับฝ่ายที่ดูแลเว็บลงทะเบียน
      ถ้ายังไม่ได้ผล ก็ควรไล่ขึ้นไปถึงผู้บริหารระดับสูงของ UW ยิ่งขึ้นไปสูง แรงจูงใจที่จะเข้าข้างฝ่ายเทคนิคก็ยิ่งน้อยลง เว้นแต่ว่าเรื่องนี้ไม่ได้เริ่มจากฝ่ายเทคนิค แต่เริ่มจากฝั่งนั้นเอง
      ในทางกลับกัน ถ้าสามารถใส่ผลงานที่ทำร่วมกับมหาวิทยาลัยลงในเรซูเม่ได้ ก็อาจไม่ใช่การเสียเปล่าเสียทีเดียว ควรพิจารณาเรื่องทนาย แต่ในความเป็นจริง อาจดีกว่าที่จะเอาสิ่งที่ได้มาและเรียนให้จบ
  • ผมเคยเรียนที่ UW เมื่อ 10 ปีก่อน และตอนนั้นก็ถือว่าเป็นสามัญสำนึกพอสมควรว่าไม่ควรไปยุ่งกับซอฟต์แวร์และ ระบบลงทะเบียนเรียน
    การแย่งชิงที่นั่งลงทะเบียนเรียนดุเดือดมาก และมหาวิทยาลัยก็เข้มงวดเรื่องไม่ให้ใครได้เปรียบเพียงเพราะเขียนโค้ดได้ มีข่าวลือเยอะว่ามีคนถูกไล่ออกเพราะพยายามใช้สคริปต์คว้าที่นั่งทันทีที่วิชาที่ต้องการเปิด
    เท่าที่จำได้ การที่นักศึกษามา “ซื้อขาย” การลงทะเบียนกันก็ถูกห้าม หรืออย่างน้อยก็ไม่เป็นที่ยอมรับ เพราะไม่อยากให้มีคนมากขึ้นมาจับจองวิชาที่มีมูลค่าสูงไว้เหมือนสินค้าเพื่อเอาไปแลกเปลี่ยน
    ดังนั้นถ้าอิงจากสมัยที่ผมเรียน แทบจะนักศึกษา CS ทุกคนคงบอกว่าเว็บไซต์นี้เป็นไอเดียที่แย่มากและจะนำปัญหามาให้

    • ค่อนข้างน่าแปลกที่ในระบบลงทะเบียนมีปัญหาเรื่อง การใช้สคริปต์ หรือการซื้อขายอยู่จริง
      ถ้าแบ่งเวลาลงทะเบียนออกเป็นหลายวัน และเปิดให้กลุ่มใหม่ทุก ๆ ประมาณ 20 นาที ก็จะแข่งขันกับแค่นักศึกษาบางส่วน ไม่ใช่ทั้งมหาวิทยาลัย ปัญหาสคริปต์ก็น่าจะถูกแก้ไปได้เป็นส่วนใหญ่ พอที่นั่งเต็ม ก็อย่าให้ลงทะเบียนได้ทันทีเมื่อมีที่ว่าง แต่ให้มีรายชื่อรอแทน แบบนี้การซื้อขายก็เป็นไปไม่ได้ด้วย ถ้าซื้อขายได้ แปลว่าตั้งแต่แรกก็น่าจะลงทะเบียนวิชานั้นได้อยู่แล้ว
      เข้าใจได้ว่าระบบลงทะเบียนอาจเก่าและผูกติดอยู่กับซอฟต์แวร์บริหารจัดการที่เก่าพอ ๆ กัน แต่ถ้ามหาวิทยาลัยใส่ใจจริง ๆ ก็ควรมีวิธีแก้
    • ถ้าตัดสินการลงทะเบียนเรียนที่โอนสิทธิ์ไม่ได้ด้วย ระบบจับสลาก ก็แก้ได้ แน่นอนว่าสิ่งสำคัญคือการสร้างเลขสุ่มแบบกายภาพที่สาธารณะมองเห็นได้
      ถ้ารับลงทะเบียนล่วงหน้า ก็จะทราบอุปสงค์ล่วงหน้า แทนที่จะต้องจัดวิชาเพิ่มทีหลังแบบล่าช้า กรณีตารางทัวร์คอนเสิร์ต เที่ยวบิน หรือสต็อก PS5 ก็เช่นกัน
      การโอนสิทธิ์ไม่ได้หมายความว่าการจับสลากต้องดำเนินต่อไปเรื่อย ๆ ทันทีที่มีคนสละวิชา ก็ต้องจับสลากใหม่เพื่อจัดสรรใหม่ และอาจทำแบบนี้ทุกวันก็ได้
      ในเชิงเทคนิค นี่เป็นทางแก้ที่ใช้งานได้ แต่พลาดมิติทางวัฒนธรรมที่ผู้จัดสรรทรัพยากรอยากสร้างกระแสและอุปสงค์ต่อทรัพยากรนั้น ๆ ผลักให้เหมือนอีเวนต์ใหญ่ แล้วทำให้ “ขายหมดในเวลาเป็นสถิติ” เข้าใจได้ว่าส่วนสำคัญของการตลาดมหาวิทยาลัยคือการพยายามทำให้ดูเป็นที่นิยมและมีอุปสงค์เกินกว่าที่มีให้มากที่สุด แม้จริง ๆ แล้วอาจไม่ได้เห็นด้วยก็ตาม
      สุดท้าย ส่วนการสร้างเลขสุ่มแบบสาธารณะนี่น่าสนใจที่สุด ลองเอาเครื่องเขย่าลูกเต๋าต่อเนื่องขนาดยักษ์ไปตั้งกลาง UW Red Square เป็นไง? เครื่องเขย่าดูเหมือนง่าย แต่จะสร้างบัญชีบันทึกทางกายภาพที่บันทึกผลลูกเต๋าอัตโนมัติได้อย่างไร?
    • ถ้าไม่อยากให้มีการซื้อขายการลงทะเบียน ก็แค่ทำให้ โอนการจองไม่ได้ ไม่ใช่หรือ? ตั๋วเครื่องบินก็ซื้อขายต่อไม่ได้เหมือนกัน และนั่นไม่ได้เป็นเพราะการข่มขู่โดยนัย
    • ผมเป็นนักศึกษา UW CS ปัจจุบัน และคิดว่านักศึกษาตอนนี้ส่วนใหญ่ก็คงรู้ว่าสิ่งนี้จะก่อปัญหา
    • แปลกจนไม่แน่ใจว่าผมเข้าใจถูกไหม คือเขาใช้โทเคนที่มหาวิทยาลัยให้มาเพื่อดึงข้อมูลที่เปิดเผยอยู่แล้ว แล้วสร้างเดโมแอปแลกเปลี่ยนที่นั่งเรียนด้วยข้อมูลปลอม จากนั้น UW ก็แทบจะบล็อกการเข้าถึงระบบของเขา และผลคือทำให้ถูกไล่ออกอย่างนั้นหรือ?
      แล้วพวกเขากำลังจะให้ทำ งานบังคับแบบไม่จ่ายค่าจ้าง โดยสัญญาว่าจะคืนสิทธิ์การเข้าถึงให้อย่างนั้นหรือ?
  • มหาวิทยาลัยก็เป็นแบบนั้นแหละ สมัยก่อนผมเคยแจ้งมหาวิทยาลัยเก่าของผมว่ามีลิงก์ที่ค่อนข้าง obscure แต่ชัดเจนว่าเปิดสาธารณะ ซึ่งดูเหมือนจะ trigger การดาวน์โหลด ZIP ข้อมูลรายละเอียดนักศึกษาโดยไม่มีเหตุผลอะไรเป็นพิเศษ แล้วพวกเขาก็ขู่ทันทีว่าจะ แจ้ง FBI
    ผมก็แค่หัวเราะปล่อยผ่าน แต่ตั้งใจว่าถ้าไม่จำเป็นจริง ๆ จะไม่เป็นฝ่ายติดต่อไปอีก
    ดังนั้นตอนที่ผมพบว่ารหัสผ่านผู้ดูแล LDAP ถูกเก็บอยู่ในไฟล์บนเซิร์ฟเวอร์ CS ที่คนทั้งโลกอ่านได้ ผมก็ทำตามนโยบายเดิมนั้นเป๊ะ

    • เคยมีหน่วยงานรัฐที่ render หมายเลขประกันสังคม ของประชาชนฝั่งไคลเอนต์ แล้วพอมีคนพบก็ไปไล่เอาเรื่องคนนั้นไม่ใช่หรือ? คงไม่แปลกใจถ้าข้อห้ามการเลี่ยง DRM ใน DMCA ถูกใช้เพื่อลงโทษเรื่องที่ไม่ใช่อาชญากรรมแบบนี้
    • ไม่แปลกเหรอที่มหาวิทยาลัยเป็นปฏิปักษ์กับนักศึกษาแบบนี้? มีอาจารย์ดี ๆ ที่จริงใจเรื่องการช่วยให้นักศึกษาเติบโตอยู่ แต่บุคลากรและฝ่ายบริหารจำนวนมาก รวมถึงบรรยากาศโดยรวมของสถาบันนั้น เผด็จการนิยม
    • นึกถึง Aaron Swartz
  • คาดว่าพ่อของเขาไปคอมเมนต์ใน LinkedIn แบบนี้:
    “ตอนนี้ผมได้อ่านอีเมลทั้งหมดแล้ว และมันแย่เท่าที่บรรยายไว้จริง ๆ ผมคิดว่าอาจมีการพูดเกินจริงบ้าง แต่ ‘University Registrar and Chief Officer of Enrollment Information Services’ พูดชัดเจนว่า ‘ถ้าไม่มาสร้างสิ่งนี้กับเราแบบฟรี ๆ คุณจะเรียนไม่จบ’ ถึงขั้นระบุด้วยว่าต้องนัดประชุมก่อนที่การลงทะเบียนภาคฤดูใบไม้ผลิปี 2025 จะเปิดในวันที่ 13 กุมภาพันธ์นาน ๆ ไม่อย่างนั้นก็หมายความว่าจะไม่ปล่อยให้เรียนต่อ”
    https://www.linkedin.com/posts/edkaim_github-jdkaimhuskyswap...

    • จนกว่าจะมีการเปิดเผยหลักฐาน มีที่ปรึกษากฎหมายมาให้ความเห็น หรือมีสื่อรายงาน เรื่องนี้ก็ยังค่อนข้างไม่มีความหมาย
      ส่วนตัวผมคงเดินหน้าเต็มรูปแบบ เปิดเผยหลักฐานทั้งหมดและกดดันมหาวิทยาลัยไปแล้ว ถ้าถูกไล่ออกโดยพฤตินัยอยู่แล้ว ก็ไม่มีอะไรให้เสียมากนัก คงทำให้เรื่องแตกในที่สาธารณะไปเลย
      การบอกว่ากำลังถูกตอบโต้ แต่กลับไม่เปิดเผยอะไรเลย มันแปลก ทำให้ยากที่จะรับเรื่องนี้อย่างจริงจังเต็มที่
    • อยากให้เปิดเผยอีเมล ตอนนี้ทั้งหมดยังเป็นแค่ คำบอกเล่า
    • โพสต์ของนักศึกษาคนนี้ดูได้อย่างเดียวว่าแกล้งทำเป็นไร้เดียงสาต่อประเด็นที่วิธีแก้นี้อาจถูกมองว่าเป็น การบิดเบือน/ละเมิดระบบลงทะเบียน
      ก่อนที่มหาวิทยาลัยจะตอบสนอง เขาอาจไม่รู้ก็ได้ แต่ถ้าหลังจากถูกขู่ไล่ออกแล้วยังไม่เข้าใจจุดยืนของมหาวิทยาลัย ก็แปลว่าขาดความสามารถในการเอาใจเขามาใส่ใจเราในเชิงการรับรู้อย่างมาก หรือไม่ก็ไม่ซื่อสัตย์
      ดังนั้นผมจึงมองข้อกล่าวอ้างหรือการถกเถียงหลังจากนั้นด้วยความสงสัย
    • น่าชี้ให้เห็นว่าพ่อของเขาเคยให้ลูกชายทำงานที่บริษัทของตัวเองตอนลูกยังเป็นนักเรียนมัธยม
      ตัวมันเองไม่ได้ผิด แต่แสดงให้เห็นว่าพ่อทุ่มเทกับเด็กคนนี้มาก และเต็มใจลงมืออย่างแข็งขันเพื่อให้เขามีจุดเริ่มต้นที่ได้เปรียบ ดังนั้นโดยส่วนตัวผมจึงไม่ถือว่านี่เป็นคำให้การเพิ่มเติมที่ช่วยสนับสนุนเรื่องนี้
      ไม่ได้ทำให้ความเป็นไปได้ที่คำให้การของพ่อเป็นจริงลดลง แต่คุณภาพในฐานะหลักฐานเชิงบวกไม่ได้สูงนัก
      โหวตลบได้ไม่เป็นไร แต่ถ้าช่วยอธิบายว่าทำไมถึงไม่เห็นด้วยก็คงดี ความจริงที่ว่าทุกคอมเมนต์ที่ไม่ได้ถือคบไฟพุ่งเข้าใส่ถูกกดลงอย่างไร้เหตุผลนั้นน่าท้อใจนิดหน่อย เราทำได้ดีกว่านี้
  • ไม่เข้าใจว่าทำไมฝ่ายบริหารของมหาวิทยาลัยถึงตอบสนองสุดโต่งขนาดนี้ต่อคำขอให้ผสานเข้ากับระบบลงทะเบียน ระบบนี้ดูเหมือนถูกสร้างมาให้แอปพลิเคชันใช้งานตั้งแต่แรกอยู่แล้ว
    “Student Web Service ช่วยให้แอปพลิเคชันเข้าถึงข้อมูลวิชาการทั่วไปในฐานข้อมูล Student ได้ เช่น ข้อมูลรายวิชา ข้อมูลการลงทะเบียน ข้อมูลกลุ่มเรียน ข้อมูลส่วนบุคคล และข้อมูลภาคการศึกษา”
    มันไม่สอดคล้องกันเลย มีอะไรที่ตกหล่นจากเรื่องนี้หรือเปล่า? หรือพวกเขาให้เว็บเซอร์วิสนี้เป็น บริการเหยื่อล่อ เพื่อหาและไล่นักพัฒนาซอฟต์แวร์ที่ทะเยอทะยานออก?

    • มีกฎหมาย คุ้มครองข้อมูลส่วนบุคคล ที่เข้มงวดอย่าง FERPA อยู่ และผู้ดูแลฝ่ายบริหารของมหาวิทยาลัยก็กลัวมากว่าจะละเมิดจนถูกฟ้อง
      ขณะเดียวกัน ซอฟต์แวร์ “enterprise” ของมหาวิทยาลัยส่วนใหญ่ก็เป็นกองขยะเน่าเฟะ
      ผมแปลกใจมากกับความพยายามขู่กรรโชก แต่การตอบสนองเกินกว่าเหตุในวงกว้างนั้น น่าเศร้าที่ไม่ได้แปลกใจเท่าไร
    • จุดเชื่อมต่อแบบนี้ดูเหมือนตั้งใจให้ใช้กับบริการที่มหาวิทยาลัยเป็นเจ้าของและดำเนินการเอง
      หากบริการที่มหาวิทยาลัยควบคุมไม่ได้พยายามใช้ ก็คงยากที่จะได้รับอนุมัติ ข้อมูลนักศึกษาได้รับการคุ้มครองทางกฎหมายอย่างเข้มงวด ดังนั้นถ้าเข้าถึงผ่านแอปพลิเคชันอื่นได้ และผู้ดูแลระบบสามารถเห็นข้อมูลของนักศึกษาคนอื่นได้ ก็จะเป็นปัญหา
    • ในอังกฤษมีคำดี ๆ ว่า “jobsworth”
      ข้าราชการอาจเสียงานตัวเองได้ถ้ามีอะไรผิดพลาด แต่ถ้าทุกอย่างไปได้ดี ผลประโยชน์ที่ได้คือ 0 จึงไม่พูดว่า “ได้”
      ตัวอย่างเช่น อาจเกิด DDoS ได้ ผมเคยเผลอยิง DDoS ใส่ API endpoint มากกว่าหนึ่งครั้ง หรือบริการอาจได้รับความนิยมมากเกินไปจนสุดท้ายกลายเป็น DDoS ก็ได้
    • ลองจินตนาการถึงทั้งองค์กรที่มีเป้าหมายคือทำให้โอกาสที่ใครสักคนจะโน้มน้าวได้ว่าพวกเขา ประมาทเลินเล่อ ลดลงให้มากที่สุด
      ภายในองค์กรนั้น คนคนหนึ่งเกลียดหน้าที่ของตัวเอง และแทบควบคุมอะไรไม่ได้เลยนอกจากอาณาเขตเล็ก ๆ กับช่องทางใต้โต๊ะของตัวเอง คนที่ไม่ออกจากบทบาทแบบนั้นมักจะสนุกกับการสะสมหรือใช้อำนาจ หรือไม่ก็มีแนวโน้มจะลำบากในบทบาทนอกองค์กรแบบนั้น
      แล้วสมมติว่าคนที่แทบไม่มีอำนาจคนนั้น ทำให้เรื่องในพื้นที่รับผิดชอบของเขากลายเป็นประเด็นสาธารณะ ทั้งที่เป็นปัญหาที่รู้กันมานานแต่ไม่มีใครบังคับแก้ได้ จึงถูกปล่อยทิ้งไว้มาหลายปี
      แบบนั้นคนคนนั้นก็อาจตอบสนองเกินกว่าเหตุเพื่อฆ่าเรื่องนี้ทิ้ง เพียงเพราะมีคนกล้าท้าทายเขา แม้แทบไม่มีโอกาสถูกลงโทษโดยตรงก็ตาม เพราะในแวดวงวิชาการ การลงโทษโดยตรงเกิดขึ้นน้อยมาก
      ไม่ได้บอกว่าเรื่องนี้เป็นความจริง ข้อมูลยังไม่พอจะตัดสิน แต่จากการเห็นด้านเป็นพิษของแวดวงวิชาการมานาน และเห็นคนพุ่งจาก 0 ไป 11 มามากพอ ก็คิดว่ามันดูเป็นไปได้
  • ผมมีเพื่อนหลายคนอยู่ฝ่ายบริหารของมหาวิทยาลัย และมีสองอย่างที่ควรรู้ มหาวิทยาลัยมีเจ้าหน้าที่ธุรการจำนวนมหาศาล และพวกเขามี ความรู้สึกหวงอาณาเขต สูงสุด ๆ
    คุณไปเขย่าเรือของใครบางคนเข้า และคนนั้นก็โกรธ เจ้าหน้าที่ธุรการมีเยอะมากจนมีเวลาเหลือเฟือ และตอนนี้กำลังพุ่งใส่เหมือนเป็นงานของตัวเอง
    ผมคิดว่าการทำให้เรื่องนี้เป็นที่รู้จักในวงกว้างเป็นทิศทางที่ถูก ต้องสงบและใจเย็น ยึดข้อเท็จจริงให้มากที่สุด เมื่อมันเริ่มแพร่บนโซเชียลมีเดียและสื่อข่าว มันจะกลายเป็นปัญหาสำหรับผู้ดูแลฝ่ายบริหารคนอื่น ๆ ที่มีอาณาเขตของตัวเองคือ PR และภาพลักษณ์ แล้วพวกเขาจะมองว่าเป็นงานของตัวเองและเข้ามาแก้ไข
    ดังนั้นทำให้เป็นเรื่องใหญ่ได้ แต่ต้องสุภาพ

    • ผมอยู่ในแวดวงวิชาการมานานพอสมควร และกำลังจะพูดคล้าย ๆ กัน ต่อให้เป็นมหาวิทยาลัยที่ยอดเยี่ยมแค่ไหน ก็เต็มไปด้วย ข้าราชการขี้ขลาด ที่คันไม้คันมืออยากใช้อำนาจอันน้อยนิดที่ตัวเองมีใส่ใครสักคนทันทีที่มีโอกาส
      เห็นด้วยเต็มที่กับ “ทำให้เป็นเรื่องใหญ่ แต่ทำอย่างสุภาพ” ในแวดวงวิชาการ ปัญหาจะไม่ถูกแก้จนกว่าการไม่แก้จะยุ่งยากกว่าการแก้ ยิ่งความสนใจมากขึ้น โอกาสก็ยิ่งสูงที่ข้าราชการขี้ขลาดอีกคนซึ่งอยู่เหนือผู้รับผิดชอบจะตระหนักว่าวันของตัวเองยุ่งยากขึ้นมาก แล้วกดเรื่องนี้ลงอย่างเงียบ ๆ และรวดเร็ว
    • ถ้าพูดแบบสุภาพน้อยลง คนส่วนใหญ่ในนั้นสามารถถูกแทนที่ได้ด้วย shell script 20 บรรทัด
    • ในสหภาพโซเวียตมีคำพูดที่พบได้บ่อยว่า “ยิ่งตำแหน่งต่ำ ข้าราชการก็ยิ่งจุกจิก”
    • เมื่อดูจากการที่มีเจ้าหน้าที่ธุรการมากจนมีเวลาเหลือเฟือ ก็ไม่ยากที่จะเข้าใจว่าทำไมค่าเล่าเรียนถึงพองโตขนาดนั้น และก็ไม่ยากที่จะเห็นทางแก้ที่ชัดเจนจากตรงนี้
    • นี่คือด้านลบของ bullshit jobs ที่เริ่มทำร้ายคนอื่นเมื่อการมีอยู่ของตัวเองถูกคุกคาม
  • Student Web Service ที่เป็นประเด็น: https://ws.admin.washington.edu/student/swagger/index.html
    เหตุผลใหญ่ที่ UW บอกให้ปิดเว็บตั้งแต่แรกน่าจะเป็น FERPA สถาบันต่าง ๆ ตอนนี้หมกมุ่นกับการปกป้องตัวเองกันหมด
    ส่วนที่เป็นการข่มขู่ดูเหมือนจะพูดเกินจริงไปหน่อย อยากเห็นจดหมายโต้ตอบระหว่าง UW กับบุคคลนี้ เรื่องทั้งหมดเป็นไปได้มากพอ แต่ก็มีความไม่สอดคล้องหลายอย่างอย่างที่คนอื่นชี้ไว้

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

  • ในช่วงหนึ่งวันที่ผ่านมา มีการเพิ่มข้อความต่อไปนี้ในส่วน “Tampering and Abuse” ของหน้า Policies & Procedures ของ UW Registrar:
    “นอกจากนี้ การสร้างบริการที่ทำให้การกระทำใด ๆ ข้างต้นเป็นไปได้ ถือเป็นสิ่งต้องห้ามโดยเด็ดขาด และเข้าข่ายละเมิดนโยบายนี้”
    ระเบียบทางปกครองน่าจะมีความสำคัญมากกว่า และข้อที่เกี่ยวข้องมีดังนี้
    WAC Aiding, assisting, and attempting: https://app.leg.wa.gov/WAC/default.aspx?cite=478-121-113
    WAC Computer abuses: https://app.leg.wa.gov/WAC/default.aspx?cite=478-121-117
    Registrar ก่อนหน้า: https://web.archive.org/web/20241208123609/https://registrar...
    Registrar หลังจากนั้น: https://web.archive.org/web/20250109203004/https://registrar...

  • น่าสนใจ ผมจบจาก UW อีกแห่งหนึ่ง คือ University of Warsaw และมหาวิทยาลัยของเรามีฟีเจอร์แลกเปลี่ยนวิชาอยู่ใน USOS ซึ่งเป็น University Study Service System อยู่แล้ว
    อนึ่ง การศึกษาของมหาวิทยาลัยรัฐในโปแลนด์ได้รับเงินสนับสนุนจากรัฐบาลเต็มจำนวน จึงฟรีสำหรับนักศึกษา
    1 - https://usosweb.mimuw.edu.pl/kontroler.php?_action=news%2Fde...

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