Tetris Battle ภาคย่อยของเกม Tetris อันโด่งดังในยุคที่การเล่นเกมออนไลน์บน Facebook รุ่งเรืองเมื่อเกือบทศวรรษที่ผ่านมา กำลังจะปิดให้บริการในวันที่ 31 พฤษภาคม 2019 นี้แล้ว
แม้เกม Tetris จะถือกำเนิดขึ้นในรัสเซียตั้งแต่ปี 1984 และระบบการแข่งขันกันระหว่างผู้เล่นสองคนที่ถูกเพิ่มเข้ามาในปี 1988 โดยบริษัท Tengen จะไม่ใช่เรื่องใหม่ แต่ Tetris Battle ในปี 2010 ก็เข้ามาในจังหวะที่พอดิบพอดีกับการที่คนส่วนใหญ่บนอินเตอร์เน็ตติดต่อกันผ่านแพลตฟอร์มศูนย์กลางอย่าง Facebook จนทำให้เกมดังกล่าวมีผู้เล่นต่อวันกว่าล้านบัญชีภายในไม่กี่ปีหลังเปิดตัว
เมื่อต้นเดือนที่ผ่านมาผมได้ร่วมแข่ง TechJam ที่ KBTG จัด และพบว่าทีม "Meow Meow :3" ผู้ชนะการแข่งขันเลือกใช้ภาษา MiniZinc ในการแก้โจทย์ปัญหา และแก้ปัญหาได้อย่างรวดเร็วเป็นทีมแรกๆ เสียด้วย
ด้วยความอยากรู้อยากเห็นเลยกลับมาศึกษาภาษานี้บ้าง และพบว่ามันเป็นภาษาที่ไม่เหมือนภาษาอื่นๆ ที่คุ้นเคยเลย การเขียนโปรแกรมจะไม่ใช่การบอกลำดับการทำงานต่างๆ ให้คอมพิวเตอร์ไปทำตามแล้ว แต่จะเปลี่ยนไปมองว่าผลลัพธ์ที่ต้องการนั้นมีข้อจำกัดอะไรบ้าง หลังจากเขียนข้อจำกัดต่างๆ จนครบก็ปล่อยให้คอมพิวเตอร์ไปคิดวิธีหาคำตอบเอาเอง
Zachtronics นั้นมีชื่อเสียงด้านเกมแก้ปัญหาให้ดีที่สุดภายใต้ข้อจำกัด (optimization puzzle game) มาอย่างเนิ่นนาน โดยเราเคยนำเสนอเกมก่อนๆ ไปบ้างแล้ว (รีวิวเกม [TIS-100][], [SHENZHEN I/O][]) และปีนี้ค่ายเกมดังกล่าวก็ได้ปล่อยเกมแนวเขียนโปรแกรมออกมาอีกครั้งในชื่อ EXAPUNKS ซึ่งมีที่มาจากการเอาคำนำ exa- ไปแทนที่ในคำว่า cyberpunk อันเป็นแฟนตาซีในตระกูลเดียวกับ The Matrix, Blade Runner, Ghost in the Shell นั่นเอง
แล้วเกมนี้จะวาดภาพโลกออกมาหน้าตาอย่างไร? เบื้องหลังระบบ/กฎเกณฑ์การแก้ปัญหาเป็นแบบไหน? มีอะไรเปลี่ยนแปลงเพิ่มเติมจากเกมก่อนหน้าบ้าง? มาพบคำตอบกันในรีวิวนี้ได้เลย
จากค่ายเกมอินดี้ที่โด่งดังผ่านการระดมทุนสร้างเกม Faster Than Light เมื่อ 6 ปีก่อน ตอนนี้ Subset Games ก็ปล่อยตัวเกมใหม่ในนาม Into the Breach แล้ว
Into the Breach เป็นเกมแนววางแผนผลัดตาเดิน (turn-based strategy) ที่ให้เราสวมบทบาทเป็นผู้บัญชาการหน่วยรบเพื่อต่อสู้กับภัยสัตว์ประหลาด โดยมีระบบเกมที่น่าสนใจอย่างการที่ฝั่งสัตว์ประหลาดจะเริ่มต้นตาเดินด้วยการโจมตีเท่านั้น หลังจากนั้นจึงเคลื่อนพลแล้วเลือกตำแหน่งที่จะโจมตีในตาถัดไป ซึ่งเปิดโอกาสให้ฝั่งผู้เล่นทำลายหรือย้ายตำแหน่งสัตว์ประหลาดเหล่านั้นได้
เกมวางจำหน่ายแล้วบน Steam โดยตอนนี้ยังรองรับแค่ Windows ครับ
การแข่งขันเขียนโปรแกรมแก้โจทย์ปัญหาระดับอุดมศึกษา ACM-ICPC รองรับการส่งคำตอบด้วยภาษาโปรแกรม Python และ Kotlin สำหรับรอบการแข่งขันรอบชิงแชมป์โลก 2018 แล้ว
การรองรับภาษา Python นั้นเริ่มตั้งแต่ปีที่ผ่านมา โดยผู้เข้าแข่งขันสามารถเลือกได้ว่าจะใช้ Python 3.5 พร้อม interpreter จากผู้พัฒนาภาษาเพื่อความสามารถใหม่ๆ หรือจะถอยไปใช้ Python 2.7 ที่รันบน PyPy อีกที เพื่อเร่งความเร็วในการคำนวณก็ย่อมได้
ส่วนภาษา Kotlin 1.1 ที่เพิ่งเพิ่มเข้ามาในปีนี้ ก็ทำให้การแข่งขันดังกล่าวรองรับการส่งคำตอบมากถึง 5 ภาษา ซึ่งภาษาอื่นๆ ได้แก่ C, C++ และ Java ที่อยู่คู่การแข่งขันมาอย่างยาวนานนั่นเอง
ทีมพัฒนาภาษา C# จาก Microsoft ปล่อยภาษารุ่นต้นแบบ (prototype) มาทดลองความสามารถสำหรับลดปริมาณปัญหาที่เกี่ยวกับ null โดยเฉพาะ ด้วยการเพิ่มชนิดข้อมูลใหม่ (type) ที่คล้ายกันภายใต้ชื่อว่า nullable มาให้เลือกใช้งาน
ผู้สนใจสามารถดาวน์โหลดความสามารถนี้มาทดลองเล่นได้ผ่าน GitHub
ส่วนใครสงสัยว่า nullable คืออะไร มีบทบาทอย่างไรในการแก้บั๊ก เชิญอ่านต่อข้างในได้เลย
สำหรับคนทำงานสาย IT ช่วงหลายปีหลังมานี้น่าจะไม่มีใครไม่เคยได้ยินคำว่าข้อมูลขนาดใหญ่ (big data) แม้หลายคนจะคิดว่าคำดังกล่าวเป็นเพียงแค่คำแฟชั่นเท่ๆ (buzzword) เท่านั้น แต่ก็ปฏิเสธไม่ได้ว่าโลก IT ก้าวมาถึงขั้นที่ให้ความสำคัญกับการขุดหาความรู้ (data mining) จากข้อมูลที่มีอยู่กันซักพักแล้ว
ส่วนก้าวต่อไปในโลก IT คงหนีไม่พ้นเครื่องจักรที่เรียนรู้ได้ (machine learning) และปัญญาประดิษฐ์ (artificial intelligence) การจะเข้าใจในศาสตร์เหล่านี้ได้ แค่เขียนโปรแกรมเป็นอย่างเดียวนั้นไม่เพียงพออีกต่อไป แต่ยังต้องรู้จักและจัดการกับข้อมูลเป็นอีกด้วย
บทความนี้จะพาไปสัมผัสกับภาษา R ที่แม้จะมีรากฐานมาจากการใช้งานทางสถิติ แต่ภายหลังก็ปรับตัวมารองรับการคำนวณข้อมูลที่ซับซ้อนยิ่งขึ้น จนกลายเป็นหนึ่งในภาษาที่มาแรงไม่ควรมองข้าม
หลังจาก Blognone เคยนำเสนอรายงานสำรวจการเปิดใช้งาน HTTPS ในไทย ประจำปีปี 2016 ไป ขณะนี้ผ่านมาหนึ่งปีกว่าๆ แล้ว ก็สมควรถึงเวลาที่จะสำรวจติดตามผลกันอีกครั้ง
รอบนี้เราขยายจำนวนเว็บที่สนใจให้มากขึ้นกว่าเดิม แต่ยังคงตามติดเว็บเดิมที่เคยสำรวจไว้อย่างครบถ้วนครับ
เมื่อช่วงเดียวกันของปีที่ผ่านมา ผู้อ่าน Blognone คงคุ้นหน้าคุ้นตากับเกมแก้ปัญหาด้วยภาษา Assembly นามว่า TIS-100 จากบริษัท Zachtronics กันไปแล้ว และเหมือนว่าผู้สร้างจะค้นพบแนวเกมที่ถนัดและลงตัวเสียที เพราะในเวลาไม่ถึงหนึ่งปีก็ได้เปิดตัวเกมใหม่สไตล์เดิม แต่ยกเครื่องทุกอย่างใหม่หมดในชื่อ SHENZHEN I/O จนอาจพูดติดตลกได้ว่า "นี่คือเกม TIS-100 รุ่นที่ทำเสร็จ" ก็พอได้
ดังนั้นถ้าใครเป็นแฟนพันธุ์แท้เกมเดิมอยู่แล้ว ก็กดปิดรีวิวนี้ทิ้งเสียแล้วเปิดเกมจริงขึ้นมาเล่นน่าจะได้อรรถรสครบถ้วนกว่า แต่ถ้าใครยังสงสัยว่าเกมนี้คืออะไร ทำไมโปรแกรมเมอร์ที่เขียนโปรแกรมมาทั้งวันแล้วยังต้องมาเล่นเกมเขียนโปรแกรมในเวลาว่างอีก ก็ขอเชิญอ่านรีวิวต่อไปเพื่อดับความสงสัยทั้งมวลได้ครับ
หมายเหตุ: เกมนี้ไม่เหมาะกับคนที่เกลียดการอ่านคู่มืออย่างเข้าไส้ครับ :p
SIGGRAPH เป็นงานประชุมวิชาการด้านคอมพิวเตอร์กราฟฟิกและการโต้ตอบที่มีชื่อเสียงโด่งดังที่สุดในสายนี้ โดยรอบปี 2016 งานดังกล่าวถูกจัดขึ้นที่มลรัฐแคลิฟอร์เนียในปลายเดือนกรกฎาคมที่ผ่านมาครับ
จากงานวิจัยที่ขึ้นนำเสนอ 119 งาน เว็บไซต์ Co.Design ได้รวบรวมผลงานเด่นๆ มาแล้วจำนวนหนึ่ง แต่ผมคิดว่าบางชิ้นก็ยังไม่โดนใจพอ จึงได้คัดจนเหลือ 5 ชิ้นมาให้ชมดังนี้
Git เป็นระบบจัดการซอร์ส (source code management หรือบางที่ก็เรียกว่า version control system) ตัวหนึ่งที่ได้รับความนิยมจากนักพัฒนาซอฟต์แวร์ในปัจจุบัน เพียงแค่หน้าที่หลักของมันในการติดตามการเปลี่ยนแปลงและเรียกคืนไฟล์ตามช่วงเวลาต่างๆ ก็ทำให้การทำงานโดยใช้ Git บริหารไฟล์มีประสิทธิภาพมากขึ้นหลายเท่าตัว
ปี 2016 เป็นปีสำคัญสำหรับความเปลี่ยนแปลงด้านความปลอดภัยของความปลอดภัยของเว็บ เพราะเป็นปีที่ใบรับรองดิจิทัล Let's Encrypt เริ่มให้บริการฟรีตั้งแต่ต้นปี พร้อมทั้งฝั่งโฮสติงที่ทยอยรองรับเพิ่มขึ้นเรื่อยๆ ปีนี้เราจึงมาสำรวจกันว่าเว็บใดใช้การรองรับแบบใดกันแล้วบ้าง
การรองรับ HTTPS มีได้หลายแบบ หลายเว็บเลือกที่จะรองรับทั้ง HTTP และ HTTPS ไปพร้อมกัน ซึ่งอาจเกิดจากข้อจำกัดบางประการของแอปพลิเคชันภายใน บางเว็บอาจจะเปิดให้บริการไว้โดยที่รองรับเพียงบางหน้า เช่น หน้าจ่ายเงิน บางเว็บอาจจะยอมรับการโหลดภาพจากเว็บ HTTP ธรรมดา เบื้องต้นเราทำความเข้าใจกับความแตกต่างของการรองรับแต่ละแบบกันก่อน
GitHub Pages เอนจินสร้างหน้าเว็บแบบไม่เปลี่ยนผล (static website generator) สำหรับโชว์งานบน GitHub ได้รับการอัพเกรดจาก Jekyll 2.2 ขึ้นมาเป็นรุ่น 3.0 แล้วครับ
ของใหม่รอบนี้คือความเร็วและเรียบง่ายขึ้นในการสร้างหน้าเว็บ อย่างไรก็ตาม GitHub จะเลิกสนับสนุนความสามารถเหล่านี้หลังจากวันที่ 1 พฤษภาคม 2016
ใครใช้ GitHub Pages ก็อย่าลืมเข้าไปปรับปรุงโค้ดให้ทันสมัยนะครับ
Google กำลังเฟ้นหาวิศวกรจำนวนมากมาเพื่อเปิดแหล่งวิศวกรรม (engineering hub) ที่สิงคโปร์ครับ
ขณะนี้แหล่งวิศวกรรมของ Google มีอยู่ 3 ที่ ได้แก่ ซิดนีย์ (ออสเตรเลีย) ไฮเดอราบาด (อินเดีย) และเมาท์เทนวิว (สหรัฐอเมริกา) ซึ่งสิงคโปร์กำลังจะเข้าร่วมกลุ่มเป็นอันดับถัดไป
Google เผยว่าการรวบรวมวิศวกรครั้งนี้ ก็เพื่อพัฒนาแอพพลิเคชันบน Android เป็นหลักครับ
ที่มา: The Straits Times
นักแชทสมัย IRC น่าจะคุ้นเคยกับคำสั่งสแลช (slash command) เช่น /me
กันเป็นอย่างดี วัฒนธรรมนี้ได้ตกทอดและพัฒนาต่อมาจน Google Hangouts สามารถส่งหน้า ¯\_(ツ)_/¯
ได้ผ่านคำสั่ง /shruggie
แล้วครับ
การมาถึงของคำสั่งนี้ เกิดขึ้นจากพนักงาน Google นามว่า Sage LaTorra ชื่นชอบอีโมจิข้างต้นมาก จนสร้างคำสั่งดังกล่าวใส่ไว้เป็น Easter Egg ในแอพ Hangouts เสียเลย เพื่อที่จะได้ประหยัดเวลาคัดลอกอีโมจิมาวางในแชท (ตัวอักษรบางตัวในอีโมจิดังกล่าวมาจากภาษาญี่ปุ่น ซึ่งไม่สามารถหาได้โดยง่ายในคีย์บอร์ดทั่วไป)
ต่อไปนี้ถ้าใครอยากยักไหล่แล้วไงใครแคร์ ก็แค่เปิด Google Hangouts บนเดสก์ท็อปขึ้นมาพิมพ์ /shruggie
เป็นคำสั่งแรก แล้วกดส่งได้เลยครับ
เมื่อวันปีใหม่ที่ผ่านมา ชุมชนพัฒนาภาษา Python ได้ตัดสินใจเลือก GitHub เป็นที่ฝากซอร์ส แทนที่จะโฮสต์เองด้วย Mercurial แล้วครับ
เดิมนั้น Python ใช้ระบบจัดการซอร์สด้วย Mercurial ซึ่งน่าจะเป็นเพราะมันเขียนด้วย Python เช่นเดียวกัน แต่ Git ก็ได้รับความนิยมขึ้นมาอย่างรวดเร็วจนกลายเป็นเจ้าตลาดด้านการฝากซอร์สไปเรียบร้อยแล้ว ทำให้ชุมชนพัฒนาภาษา Python เลือกที่จะย้ายไปฝากซอร์สไว้บน Git แทน
งานนี้ Guido van Rossum ลงความเห็นแล้วว่า เขาชอบ GitHub (ฝากซอร์สไว้กับคนอื่น) มากกว่า GitLab (โฮสต์ซอร์สบนเซิร์ฟเวอร์ตัวเอง) และตอนนี้ซอร์สของ CPython ก็ย้ายมาอยู่บน GitHub เรียบร้อยแล้วครับ
ทุกวันนี้คอมพิวเตอร์อาจเป็นเครื่องมือที่ใช้งานง่ายและแพร่หลายจนแทบไม่มีใครไม่รู้จัก แต่จะเกิดอะไรขึ้น ถ้าวันหนึ่งมรดกตกทอดถึงมือคือเครื่องคอมพิวเตอร์รุ่นโบราณที่มีอายุอานามกว่าสามทศวรรษ พร้อมด้วยคำสั่งเสียจากเจ้าของเดิมให้ซ่อมแซมมันจนกลับมาทำงานถูกต้อง คุณจะสามารถแก้ปริศนาหาความลับและที่มาที่ไปของคอมพิวเตอร์ลึกลับเครื่องนี้ได้หรือไม่ พบคำตอบได้ในเกม TIS-100
Alientrap สตูดิโอผู้สร้าง Apotheon เกมแอคชั่น 2 มิติที่มีจุดขายเป็นลวดลายเทพเจ้ากรีกโบราณ ได้แจกเกมภาคแยก Apotheon Arena ให้ไปเล่นกันฟรีๆ แม้ไม่มีเกมหลัก โดยจำกัดระบบเกมไว้เพียงแค่การต่อสู้กันระหว่างผู้เล่น (PvP) เท่านั้นครับ
เกม Apotheon Area ใช้เอนจินเดียวกันกับเกมหลัก เพียงแต่ตัดส่วนเนื้อเรื่องออกไปทั้งหมด สามารถเล่นได้ทั้งแบบออนไลน์ผ่าน Steam หรือเล่นบนคอมพิวเตอร์เครื่องเดียวที่ต่อจอยคอนโทรลเลอร์ไว้หลายชุด และรองรับผู้เล่น/บอตได้พร้อมกันมากที่สุด 8 คนครับ
Atlassian บริษัทเจ้าของเว็บฝากซอร์ส Bitbucket (คู่แข่งรายสำคัญกับ GitHub) ออกฟีเจอร์ดีพลอยขึ้นสู่กลุ่มเมฆของ Amazon, Microsoft และ DigitalOcean ได้ภายในหน้าเว็บเลยทันที
เบื้องหลังความสามารถดังกล่าว สำเร็จได้ผ่านเครื่องมือ Bamboo ที่คอยจัดการงานด้าน CI (continuous integration) ร่วมกับ Bitbucket Connect ซึ่งเป็นส่วนเสริมสำหรับติดต่อกลุ่มเมฆ โดยปัจจุบันมีกลุ่มเมฆที่รองรับส่วนเสริมนี้แล้ว 3 เจ้า ได้แก่ AWS CodeDeploy จาก Amazon, Microsoft Azure และ DigitalOcean ครับ
หลังจากที่ Java พลิกกลับขึ้นมาทวงเก้าอี้แชมป์ในการจัดอันดับภาษาของ TIOBE ไปเมื่อไม่กี่เดือนก่อน ตอนนี้ก็ดูเหมือนว่าตำแหน่งนี้จะอยู่คู่ Java ไปอีกนานแล้วครับ เมื่อมันแย่งค่าความนิยมจากภาษาอื่นๆ มาได้เกินกว่า 1/5 ในรอบหลายปี
โดยดัชนี TIOBE ที่วัดค่าความนิยมของภาษาผ่านเครื่องมือค้นหาต่างๆ บ่งชี้ว่าความนิยมของภาษา Java รอบเดือนพฤศจิกายน 2015 นี้ พุ่งทะยานไปแตะที่ 20.403% เพิ่มขึ้นจากช่วงเวลาเดียวกันของปีก่อนถึง 6.01% ซึ่งนับว่าเป็นค่าที่สูงที่สุดตั้งแต่เดือนสิงหาคม 2009 หรือเมื่อ 6 ปีก่อนเลยทีเดียว
ส่วนดัชนีอื่นอย่าง PyPL ซึ่งวัดความนิยมผ่านข้อมูลการค้นหา tutorial ของภาษา ก็ให้ผลลัพธ์ในทำนองเดียวกันว่า Java นำเป็นที่ 1 ของตาราง
GitHub เผยแพร่เครื่องมือสร้างแอพบนเดสก์ท็อปนามว่า Electron ให้เหล่านักพัฒนานำไปเล่นกันแล้วครับ
แอพที่สร้างด้วย Electron จะถูกขับเคลื่อนด้วย Node.js และ HTML5 แล้วนำไปแสดงผลผ่าน Chromium อีกต่อหนึ่ง เนื่องจากพื้นฐานของแอพที่อยู่บนเทคโนโลยีเว็บทั้งหมด ทำให้แอพที่สร้างขึ้นสามารถนำไปใช้บนแพลตฟอร์มหลักๆ ทั้งหมดที่รองรับเว็บได้ทันที
ถึงแม้เทคโนโลยีหลักที่ขับเคลื่อนแอพจะวางรากฐานมาจากเว็บ แต่ Electron ก็ไม่ได้จำกัดความสามารถเพียงเท่านั้น แอพที่สร้างสามารถเรียกใช้ API ในระดับ OS ได้ด้วย เช่น เรียกไฟล์ล่าสุดที่มีการแก้ไข (recent file) หรือสั่งเล่นเพลงผ่านตัวควบคุมสื่อ (media playback)
หลายคนน่าจะจำได้เลาๆ ว่า Jurassic Park แห่งแรก มีโค้ดอยู่ถึง 2 ล้านบรรทัด ตัวเลขนี้อาจฟังดูเยอะจนจินตนาการความยิ่งใหญ่ไม่ออก แต่นี่ก็เทียบไม่ได้เลยกับโค้ดของกูเกิลที่มีจำนวนบรรทัดปาเข้าไป 2 พันล้านบรรทัดแล้ว
คุณ Rachel Potvin ผู้จัดการฝ่ายวิศวกรรมของกูเกิลเผยว่า ซอร์สโค้ดผลิตภัณฑ์ของกูเกิลแทบทั้งหมดนั้น มีจำนวนบรรทัดนับรวมกันได้ที่ประมาณ 2 พันล้านบรรทัด และกินพื้นที่เก็บไฟล์มากถึง 85TB เลยทีเดียว (เทียบกับโปรแกรมที่ซับซ้อนมากอย่างระบบปฏิบัติการ Windows ก็ยังอยู่เพียง 50 ล้านบรรทัดเท่านั้น)
เว็บ Phoronix ซึ่งเป็นเว็บข่าวและรีวิวโครงการโอเพนซอร์สอย่างสม่ำเสมอ ได้ทดสอบ PHP 7.0 RC2 ที่เพิ่งออกด้วย Phoronix Test Suite และพบว่าประสิทธิภาพของมันดีขึ้นอย่างมีนัยสำคัญ โดยสรุปได้ดังนี้
กลับมาอีกครั้งกับดัชนี TIOBE ที่วัดค่าความนิยมของภาษาผ่านข้อมูลการค้นหา โดยสถิติที่น่าสนใจ คือ
สำหรับ 10 อันดับแรก เรียงได้ดังนี้: Java, C, C++, C#, Python, PHP, JavaScript, VB.NET, Perl, Objective-C
ที่มา: TIOBE
Python 3.5 มาแล้วครับ จุดเด่นรอบนี้เป็นการพัฒนาการคำนวณทางคณิตศาสตร์ และการทำงานแบบไม่ประสานเวลา โดยมีสามารถใหม่ๆ บางส่วน ดังนี้