GitHub ประกาศว่าจะปล่อย 2 ความสามารถใหม่ภายในไม่กี่สัปดาห์หน้า ได้แก่
ไทป์เฟซสำหรับการเขียนโปรแกรมในนาม Hack ได้รับการปรับปรุงจนออกรุ่น 2.0 แล้วครับ
คุณ Chris Simpkins หัวหน้าโครงการดังกล่าวอ้างว่า ไทป์เฟซ Hack สามารถอ่านได้ง่ายในช่วงขนาด 8 ถึง 12 พิกเซลบนหน้าจอแล็ปท็อปทั่วไป แต่หากใช้จอที่มีความละเอียดแบบ HD ก็ยังสามารถอ่านได้อย่างสบายตา แม้ว่าจะตั้งขนาดไว้เพียง 6 พิกเซลก็ตามที
ด้านรายละเอียดการพัฒนา ไทป์เฟซ Hack ถูกปล่อยเป็นโอเพนซอร์สตั้งแต่ต้น ทำให้ได้ชุมชนจาก Bitstream Vera และ DejaVu ร่วมส่งโค้ดเข้ามาด้วย ใครที่คุ้นเคยกับไทป์เฟซทั้งสองอยู่ก่อนแล้ว ก็อาจพบว่าหน้าตาของ Hack ไม่ได้ฉีกแนวออกไปซักเท่าใดครับ
ข่าวสั้นครับ คุณ Russ Cox นักพัฒนาภาษา Go ได้ออกมาประกาศว่า Go 1.5 จะเป็นรุ่นสุดท้ายที่ใช้ชื่อนี้ สำหรับรุ่นถัดไปจะเปลี่ยนไปใช้ชื่อว่า Al (ตัวอักษร 2 ตัวแรกของบริษัท Alphabet) และนับรุ่นต่อเป็น Al 1.6 เลยครับ
ที่มา: Twitter
ข่าวสั้นครับ คุณ Russ Cox นักพัฒนาภาษา Go ได้ออกมาประกาศว่า Go 1.5 จะเป็นรุ่นสุดท้ายที่ใช้ชื่อนี้ สำหรับรุ่นถัดไปจะเปลี่ยนไปใช้ชื่อว่า Al (ตัวอักษร 2 ตัวแรกของบริษัท Alphabet) และนับรุ่นต่อเป็น Al 1.6 เลยครับ
ที่มา: Twitter
GitHub ออกแอพ GitHub Desktop สำหรับ Windows และ OS X โดยแอพดังกล่าวจะมาแทนที่แอพ GitHub for Windows / Mac เดิมครับ
เท่าที่ลองเล่นคร่าวๆ ผมพบว่าระบบกิ่งก้านถูกออกแบบให้เข้าใจง่ายขึ้นมากครับ และการสั่งรวมกิ่งก้านที่ก่อให้เกิดข้อขัดแย้ง (merge conflict) ก็ทำงานได้อย่างถูกต้องไม่ต้องเปิดคอมมานด์ไลน์ขึ้นมาแก้ไขแล้ว
นอกจากนี้ หากใครยังใช้ Git ไม่คล่อง เมื่อเปิดโปรแกรมครั้งแรกจะมี tutorial เล็กๆ ช่วยแนะนำ best practice การใช้งานด้วยครับ
ดาวน์โหลดแอพได้จาก desktop.github.com
ที่มา: GitHub Blog
ไฮไลท์รอบนี้อยู่ที่คำสั่งย่อย git worktree
สำหรับจัดการกับโค้ดโครงการเดียว แต่มีก๊อบปี้หลายชุดครับ
โดยหลักการของ worktree นั้น เกิดจากการที่บางครั้งเมื่อต้องทำงานกับโครงการที่ซับซ้อน เราอาจต้องการ checkout รุ่นต่างๆ ในโค้ดโครงการออกมาเป็นหลายไดเรกทอรี เช่น ในขณะที่กำลังทำงานอยู่ที่กิ่ง develop
และต้องการสลับไปแก้ไขข้อผิดพลาดที่กิ่ง hotfix
แต่ไม่ต้องการ checkout มาทับงานที่ทำอยู่ในไดเรกทอรีปัจจุบัน ท่าเดิมที่ใช้อาจจะเป็นการ clone โครงการออกไปยังไดเรกทอรีใหม่แล้วเริ่มทำงานกับกิ่ง hotfix
ที่นั่น หากเปลี่ยนมาใช้ worktree คำสั่งจะหดสั้นเหลือเพียง
นักวิจัยด้านความปลอดภัย ได้เสนอปรับปรุงเทคนิคการโจมตีเปิดเผยตัวตนผู้ใช้ด้วยข้อมูลจังหวะการพิมพ์ ทำให้ผู้ใช้ที่ต้องการปิดบังตัวตน เช่น ใช้งานอินเทอร์เน็ตผ่าน Tor มีความเสี่ยงที่จะไม่สามารถปิดบังตัวตนได้สำเร็จ
โดยเทคนิคดั้งเดิมนั้น จะอาศัยข้อมูลระยะเวลาระหว่างการกดตัวอักษรใดๆ บนแป้นคีย์บอร์ด มาสร้างเป็นโปรไฟล์ของผู้ใช้หนึ่งๆ หลังผ่านช่วงการฝึกป้อนข้อมูลตัวอย่างเพื่อสร้างโปรไฟล์แล้ว เว็บไซต์ที่มีข้อมูลโปรไฟล์ดังกล่าว จะสามารถแยกแยะได้ว่าการใช้งานเกิดจากผู้ใช้ตัวจริงหรือไม่ เพราะจังหวะการพิมพ์นั้นถือเป็นเอกลักษณ์เฉพาะบุคคล
ชาว Blognone คงคุ้นเคยกับดัชนี TIOBE ที่บอกความนิยมของภาษาผ่านการค้นหามาบ้างแล้ว คราวนี้พบกับการจัดอันดับความนิยมภาษาจาก IEEE บ้างครับ
สำหรับการจัดอันดับดังกล่าว IEEE อ้างว่าข้อมูลที่นำมาพิจารณามาจาก 10 แหล่งด้วยกัน เช่น IEEE Xplore, GitHub, CareerBuilder โดยแบ่งการวัดออกเป็น 12 ด้าน พร้อมถ่วงน้ำหนักจนได้ผลลัพธ์เป็นอันดับดังกล่าว (ชมภาพได้ในข่าว)
10 ภาษาแรกที่ในอันดับไม่มีภาษาใหม่เข้ามาแย่งชิงพื้นที่ครับ แต่ที่น่าจับตาได้แก่ภาษา R ที่ก้าวกระโดดขึ้นมาจากอันดับที่ 9 ในปีก่อน มาอยู่ที่ 6 เลยทีเดียว สะท้อนให้เห็นถึงแนวโน้มของการวิเคราะห์ข้อมูลที่จะเข้ามามีบทบาทมากขึ้นเรื่อยๆ
Terraria (เกมแนว Minecraft แต่อยู่บนโลก 2 มิติ) เป็นเกมเก่าที่เปิดตัวมาถึง 4 ปี แต่ก็มีการปรับปรุงระบบและเนื้อหาภายในเกมอย่างสม่ำเสมอ ล่าสุด Re-Logic ต้นสังกัดเกมได้ออกมาประกาศออกรุ่นเบต้าสำหรับ Mac และ Linux แล้วครับ
สำหรับผู้เล่นเกมผ่าน Steam สามารถขอเล่นเกมรุ่นเบต้าได้ผ่านขั้นตอนต่อไปนี้
OverlayFS เป็นระบบไฟล์ (file system) แบบ union mount ที่ช่วยให้สามารถ mount ระบบไฟล์หลายชุดผ่านจุด mount จุดเดียวได้ งานส่วนใหญ่ที่ใช้ระบบไฟล์แบบนี้ เช่น Live CD สำหรับทดลองเล่น Ubuntu ก่อนติดตั้งจริง
แนวคิดพื้นฐานของระบบดังกล่าว คือ แบ่งชั้น (layer) ของระบบไฟล์เป็นชั้นบน (upper) กับชั้นล่าง (lower) โดยชั้นล่างจะเป็นระบบไฟล์เดิมที่ผู้ใช้อาจไม่มีสิทธิ์ในการเขียนไฟล์ ส่วนชั้นบนจะจำลองไฟล์ต่างๆ ที่อยู่ในชั้นล่างขึ้นมา (overlay) ผู้ใช้ที่ไม่มีสิทธิ์ในการเขียนไฟล์ที่ชั้นล่าง ก็จะมาติดต่อกับระบบไฟล์ในชั้นบนแทน โดยที่ไฟล์ชั้นล่างจะไม่ถูกแก้ไขตามด้วย
จากท่าทีที่ไม่เป็นมิตรต่อชุมชนของ SourceForge ในช่วงหลัง [1], [2] ทำให้ชุมชนนักพัฒนาออกเว็บ Goodbye SourceForge เพื่อให้คำแนะนำสำหรับการย้ายโครงการออกจาก SourceForge แล้วครับ
ใครใช้ SourceForge อยู่และยังไม่อยากโดนยึดบัญชีโครงการ ควรรีบเข้าไปอ่านแล้วตัดสินใจเลือกที่ฝากโครงการใหม่พร้อมย้ายออกโดยเร็ว
ที่มา: MetaFilter
ความสามารถใหม่รอบนี้คือ push แบบอันหนึ่งอันเดียว (atomic) ครับ เช่น
$ git push --atomic branch1 branch2
การกระทำนี้จะรับรองว่า การ push กิ่งทั้ง branch1
และ branch2
ต้องสำเร็จเท่านั้น ถึงทำการ push กิ่งทั้งสองได้ มิเช่นนั้นแล้วก็จะไม่มีกิ่งไหนที่ถูก push เลย
ในสถานการณ์ทั่วๆ ไปอาจจะไม่ได้ใช้ความสามารถนี้เท่าไหร่ แต่เมื่อต้องทำระบบอัตโนมัติ มันจะช่วยลดความผิดพลาดได้ครับ
ส่วนความสามารถอื่นๆ ที่ถูกปรับปรุงเพิ่มเติมคือ
เมื่อเดือนที่แล้ว Git มีอายุครบ 10 ปีพอดี เว็บ Linux.com ได้สัมภาษณ์ Linus Torvalds ผู้พัฒนาซอฟต์แวร์ตัวนี้ขึ้นมา โดยความเห็นที่น่าสนใจมีดังนี้
การออกแบบที่เป็นจุดแข็งอย่างหนึ่งของระบบจัดการเวอร์ชันซอฟต์แวร์แบบกระจายศูนย์อย่าง Git คือ เครื่องไคลเอนต์ทุกเครื่องต้องเก็บข้อมูลทุกอย่างไว้ติดตัว (เพื่อจะสามารถทำหน้าที่เป็นเซิร์ฟเวอร์สำรองได้ทันทีเมื่อเครื่องเซิร์ฟเวอร์จริงเสียหาย)
แต่จุดแข็งนี้ก็อาจไม่ใช่ข้อดีเสมอไป โดยเฉพาะอย่างยิ่งเมื่อต้องทำงานกับไฟล์ขนาดใหญ่ เช่น ไฟล์เสียง ไฟล์ภาพยนตร์ เพราะเครื่องไคลเอนต์ทุกเครื่องต้องเสียพื้นที่เก็บไฟล์ขนาดใหญ่นี้ติดตัวเสมอ
GitHub จึงออกส่วนเสริม Large File Storage (LFS) โดยเปลี่ยนมาเก็บพอยเตอร์ของไฟล์ขนาดใหญ่เหล่านั้นแทน ส่วนไฟล์จริงจะเก็บไว้บนเซิร์ฟเวอร์ของ GitHub หรือ GitHub Enterprise
ข่าวสั้นครับ สำหรับใครที่ใช้ App Engine ฝากแอพที่เป็น PHP ทางทีม App Engine จะอัพเกรดตัวรันไทม์ให้เป็นรุ่น 5.5 ภายใน 2 สัปดาห์นี้ครับ
เท่าที่ผมเช็คดู PHP 5.5 มีความเข้ากันได้กับรุ่นก่อนหน้าค่อนข้างสูงมาก หากเขียนแอพที่ใช้ได้บน 5.4 อยู่แล้วก็แทบไม่ต้องเปลี่ยนอะไรเลย แต่ถ้ายังต้องการใช้ 5.4 ต่อไป ก็สามารถยื่นแบบฟอร์มขอต่ออายุการใช้งานได้ครับ
ที่มา: จดหมายข่าว Google App Engine
Dear App Engine developer,
สำหรับผู้ใฝ่ฝันหวังว่าซักวันจะมีโอกาสได้เล่นเกมที่ตัวเองสร้าง แต่ตอนนี้ยังไม่แน่ใจว่าความรู้เกี่ยวกับเกมที่มีอยู่จะเพียงพอต่อการพัฒนาเกมขึ้นมาได้สำเร็จหรือเปล่า ปิดเทอมนี้ GitHub ชวนคุณมาแข่งขันดัดแปลงเกมภายใต้แนวคิด "The Game Has Changed" ครับ
กติกาไม่ยุ่งยาก เพียงแค่ค้นหาโครงการเกมบนเว็บ GitHub ที่ชื่นชอบ แล้วแตกโครงการ (fork) มาแต่งเติมให้สนุกสุดมันตามแนวคิดข้างต้น ทดสอบว่าเกมสามารถเล่นผ่านหน้าเว็บได้ แล้วส่งโค้ดงานที่ดัดแปลงขึ้นไปบนเว็บภายในวันที่ 13 เมษายนนี้ พร้อมทั้งกรอกใบสมัครเข้าร่วมแข่งขันครับ
Google Code เป็นบริการฝากโครงการจาก Google ที่เปิดให้บริการมาตั้งแต่ปี 2006 และตอนนี้มันกำลังถูกปิดตัวลงเพราะเว็บฝากโครงการหน้าใหม่อย่าง GitHub หรือ BitBucket สามารถทำหน้าที่นี้ได้ดีกว่านั่นเอง
ส่วนแผนการสำหรับการปิดเว็บเป็นดังนี้
สำหรับการย้ายออกอย่างง่าย สามารถใช้เครื่องมือย้ายโครงการบน Google Code ไปยัง GitHub ได้ทันทีครับ
ช่วงหลังๆ มานี้แฟน ThinkPad หลายคนคงจะผิดหวังกับท่าทีของ Lenovo ที่ดูเหมือนจะเอาแต่ใจฝ่ายเดียว ไม่ยอมรับฟังเสียงส่วนใหญ่จากผู้ใช้งานจริง ทั้งการเปลี่ยนไปใช้คีย์บอร์ดแบบ chiclet ยุบรวมปุ่มควบคุมเครื่องเข้ากับปุ่มฟังก์ชัน เอาไฟแสดงสถานะเครื่องออก เปลี่ยนไฟฉายจากด้านบนเป็นไฟ backlit ใต้คีย์บอร์ด เพิ่มความโค้งเว้าและลดความหนาลง เปลี่ยนไปใช้หัวชาร์จแบบเหลี่ยม จนกระทั่งตัดปุ่มกดที่ใช้คู่กับ TrackPoint อันเป็นเอกลักษณ์ทิ้งไป
แน่นอนว่าการเปลี่ยนแปลงสำคัญๆ เหล่านี้ ย่อมก่อให้เกิดแรงต้านอย่างมหาศาล แต่ก็ดูเหมือนว่า Lenovo ไม่ได้รู้ร้อนรู้หนาวเท่าใดนัก กลับผลักดันดีไซน์แบบใหม่จนสุดซอย ประหนึ่งว่าจะแปลงร่าง ThinkPad ให้กลายเป็น MacBook สีดำยังไงยังงั้น
หลังจากออกรุ่น 2.0 ไปเมื่อกลางปีที่แล้ว ตอนนี้ Git ก็เดินทางมาถึงเลขรุ่น 2.3 แล้วครับ
ของเล่นใหม่รุ่นนี้ คือการสั่ง push เพื่อ deploy จากไคลเอนต์ได้ทันที เพียงเพิ่มคำสั่งนี้ไปที่ repository ฝั่งเซิร์ฟเวอร์
$ git config receive.denyCurrentBranch updateInstead
คำเตือนสำหรับเทคนิคนี้คือเซิร์ฟเวอร์จะใช้พื้นที่เก็บไฟล์มากขึ้น เพราะ Git ต้องเก็บประวัติทั้งหมดของ repository ไว้ นอกจากนี้ยังต้องระวังผู้ใช้ทั่วไปเข้ามาอ่านไฟล์ในโฟลเดอร์ .git
ด้วยครับ
ทีมพัฒนาภาษา Swift ได้ประกาศขึ้นเลขเวอร์ชัน 1.0 พร้อมทั้งรองรับการส่งแอพ iOS ที่เขียนด้วย Swift ขึ้นไปยัง App Store แล้วครับ
อย่างไรก็ตาม ทีมพัฒนาก็ได้เตือนว่ารุ่น 1.0 ที่ปล่อยมานี้ ยังเป็นเพียงแค่รุ่น GM (gold master รุ่นสำเนาจาก RTM - ผู้เขียนข่าว) เท่านั้น ยังไม่ใช่รุ่น final แต่อย่างใด ในแง่การศึกษาภาษา Swift แล้ว ตัวภาษายังไม่เสถียรและอาจมีการปรับปรุงสมรรถนะ เพิ่มฟีเจอร์ใหม่ หรือถึงขั้นเปลี่ยนไวยากรณ์ได้ภายหลัง แต่ในแง่ของการเขียนแอพใช้งานจริง ก็ไม่ต้องกังวลว่าแอพที่เขียนวันนี้จะทำงานไม่ได้ในอนาคต เพราะทุกแอพที่ส่งขึ้นไปจะมี runtime พ่วงไปด้วยนั่นเองครับ
ทีม PHP ประกาศออก PHP รุ่นใหม่ในหมายเลข 5.6.0 ซึ่งมีความสามารถที่เข้ากันไม่ได้กับรุ่นก่อนหน้า ดังนี้
json_decode()
จะเข้มงวดกับการแปลไวยากรณ์ JSON มากขึ้นเมื่อเดือนที่แล้ว Blognone ได้ลงรีวิวเกม So Many Me เกมแก้ปริศนาอินดี้สัญชาติไทยไป วันนี้เราจะพาไปทำความรู้จักกับคุณจักรพันธุ์ สิงห์โตงาม เกมดีไซน์เนอร์แห่ง Extend Interactive ผู้พาเกมดังกล่าวไปโลดแล่นบนเวทีโลกครับ
เกมหลักๆ ถ้านับเฉพาะ PC ที่เป็นโปรเจคใหญ่มี 2 เกมครับ ซึ่ง So Many Me เป็นเกมที่ 2
นอกจาก GitHub จะให้พื้นที่สำหรับฝากโค้ดโครงการแล้ว หากคิดว่าสามารถออกแบบหน้าเว็บโครงการได้เจ๋งพอ GitHub ก็ยังเปิดพื้นที่สำหรับแสดงเว็บโครงการให้ไว้อีกภายใต้ชื่อ GitHub Pages
ถึงแม้ GitHub Pages จะรองรับไฟล์เว็บแบบ static เท่านั้น (รับแต่ไฟล์ HTML, CSS, JavaScript ไม่รับสคริปต์ฝั่งเซิร์ฟเวอร์อย่าง PHP) แต่ด้วยเอนจินสำหรับแปลงเว็บทั้งเว็บให้กลายเป็นไฟล์ static ของ Jekyll ก็ทำให้กีคหลายๆ คนดัดแปลงเอา GitHub Pages ไปเขียนบล็อกส่วนตัว ด้วยความสะดวกแบบกีคๆ เช่น การจัดหน้าเพจด้วย Markdown หรือการโพสต์บล็อกใหม่ผ่านคอมมานด์ไลน์
ตอนนี้ GitHub ก็ได้อัพเกรดเอนจินหลังบ้านไปเป็น Jekyll 2.2.0 แล้วครับ โดยมีของใหม่เช่น
ภาษาเขียนเว็บยอดนิยมอย่าง PHP ได้หมายเลขสำหรับรุ่นถัดไปแล้วคือเลข 7
จาก PHP รุ่น 5 อันแสนคุ้นเคยในปัจจุบันที่ถูกพัฒนามาอย่างยาวนาน (รุ่น 5.0 ออกตั้งแต่ปี 2004) และการออก PHP รุ่น 6 มาอย่างคู่ขนานกันในอดีตเพื่อแก้ไขปัญหาเกี่ยวกับ Unicode แต่ก็ไม่ได้รับความนิยมจนต้องพับโครงการไป ทำให้ชุมชน PHP ถกเถียงกันว่า PHP รุ่นถัดไปจะให้ขึ้นหมายเลขใหม่เป็นเลข 7 เพื่อล้างอาถรรพ์ หรือปัดฝุ่นเอาเลข 6 กลับมาใช้ดี ข้อถกเถียงจากทั้งสองฝ่ายต่างมีน้ำหนักจนต้องจัดการลงคะแนนเสียง ด้วยกฎง่ายๆ เพียงแค่ให้คะแนนเกินครึ่งก็พอ
ผลลัพธ์การลงคะแนนเสียง เสียงส่วนมากซึ่งก็คือ 58 เสียงจาก 82 เสียงเลือกให้ใช้หมายเลข 7 เป็นตัวแทนรุ่นถัดไป ส่งผลให้เราพูดได้อย่างเต็มปากเต็มคำว่า "ลาก่อน PHP 6"