เขียนงูให้วัวกลัวรายสัปดาห์ ฉบับที่ 1

เขียนงูให้วัวกลัวรายสัปดาห์ ฉบับที่ 1

ไอเดียนี้เริ่มจากอาทิตย์ที่แล้ว ที่รวบข่าวไว้ในโพสๆ เดียว แล้วก็เกิดไอเดียว่า ทำไมไม่ทำเป็น Newsletter เลยหละ มันเลยเป็นที่มาของโพสนี้และโพสต่อๆ ไปครับ โดย​ “เขียนงูให้วัวกลัว รายสัปดาห์” เราจะโฟกัสเฉพาะข่าวที่เกี่ยวข้องกับ Python Community, Core Language / 3rd Parties Release และอื่นๆ ที่มันเกี่ยวข้องกับ Python programming language ครับ

Python Core Sprint 2018

Image credit: https://twitter.com/VictorStinner/status/1041219533439217665

ทุกๆ ปี Core Python developers จากทั่วทุกมุมโลกจะมารวมตัวกันโดยนัดหมาย 7 วันเพื่อคุยกันในหลายๆ เรื่อง ปีนี้เป็นครั้งที่ 3 ที่จัดขึ้นครับ

ซึ่งผมก็ไม่รู้ทั้งหมดว่าเค้าคุยอะไรกันบ้าง แต่คุณ Mariatta Wijaya ซึ่งเป็นหนึ่งใน Core developer ได้สรุปไว้คร่าวๆ ครับ สนใจก็ตามไปอ่านได้ที่ลิ้งค์นี้เลย (ยังรอ Part two อยู่ T_T)

Python Core Sprint 2018: Part One
For the past week (September 9-14), I’ve been down in Bellevue, WA for my second Core Python sprint. The sprint is hosted by Microsoft, and funded by The PSF. Thanks Last year, I was only able to stay for the sprint for three days. This year I’m able to stay …

นอกจากนั้นแล้วปีนี้ เรายังมี Core Python Developer เพิ่มขึ้นอีก 2 คน และความเจ๋งยิ่งกว่านั้นคือ เป็นผู้หญิงทั้งคู่เลยครับนั่นทำให้จำนวน Core Python Developer ที่เป็นผู้หญิงนั่นเพิ่มขึ้น 2 เท่าเลยทีเดียว (จาก 2 เป็น 4 คน) ก็ขอแสดงความยินดีกับคุณ Lisa Roasch และ Emily Morehouse-Valcarcel ด้วยครับ

Linus Torvalds stepping down temporary

ข่าวนี้อาจจะไม่ค่อยเกี่ยวกับ Python เท่าไร แต่ก็นับว่าเป็นเรื่องที่ดีครับที่ Linus ยอมลดราความโหดลงบ้าง ที่น่าสนใจเกี่ยวกับบทความนี้คือ มีการพูดถึงเรื่อง Diversity ใน Python Core developer ด้วยครับ ซึ่งเปิดโลกผมมากเพราะไม่เคยรู้มาก่อนเลยว่า Guido สนับสนุน Diversity ถึงขนาดยอมเป็น Mentor ให้เลย ติดตามอ่านเต็มๆ ได้ในบทความครับ

After Years of Abusive E-mails, the Creator of Linux Steps Aside
The celebrated coder Linus Torvalds, known for the operating system he created and his aggressive style of communication, says he is seeking help.

90% of top 1440 PyPI package support Python 3

นับวันก็ยิ่งใกล้ปี 2020 เข้าไปทุกขณะนะครับ ซึ่งเป็นปีที่ Python จะหยุด Support Python2.7 ซึ่งเป็น release สุดท้ายของ Python 2 จาก tweet ล่าสุดของคุณ Christian Heimes นะครับ Software ที่มียอด Download สูงสุด 1440 packages ใน PyPI ในขณะนี้ support Python3 ไปแล้วกว่า 90% และ Top 360 packages นั้น support ถึง 99% แล้วครับ ใครยังไม่อัพเกรดก็ใกล้ถึงเวลาแล้ว อย่าชะล่าใจนะครับ ส่วนใครอยากรู้ว่า Package ไหนรองรับได้สามารถไปดูได้ที่ Python 3 readiness ตามลิ้งข้างล่างเลยครับ

Python 3 Readiness - Python 3 support table for most popular Python packages

Python taking over as a major programming language for Astronomy

ผลพวงจากการที่ Python เป็นภาษาที่มีอัตราเติบโตสูงสุดทางฝั่ง Data Science ทางฝั่ง Astronomy นี่ก็ไม่น้อยหน้าเหมือนกัน ซึ่งได้แซง IDL กับ Matlab ไปเป็นที่เรียบร้อยแล้วครับ ถ้าใครอยากรู้ว่าสถิตินี้คำนวนยังไง สามารถไปเล่น Notebook ได้ที่ลิ้งค์นี้เลยครับ

programming-languages-in-astronomy/programming-languages-in-ADS.ipynb at 1df4ec72defaa0b66a22ac2837131ca2850107ba · jni/programming-languages-in-astronomy
Analysis of programming language mentions in astronomy papers in ADS - programming-languages-in-astronomy/programming-languages-in-ADS.ipynb at 1df4ec72defaa0b66a22ac2837131ca2850107ba · jni/progra...

New Asyncio official documentation

ถ้าใครได้ลองเขียน Python แบบ Async ในช่วงสองปีที่ผ่านมาน่าจะประสบปัญหาเดียวกับผมว่า Document มันอ่านโคตรยากเลยครับ เหมือนเขียนมาเพื่อให้เราไปช่วย Implement ตัว Library เองยังไงยังงั้น

ซึ่งทางคุณ Yury Selivanov นี่ก็ไม่ได้นิ่งนอนใจนะครับ ในฐานะคนที่ผลักดัน asyncio มาตั้งแต่แรก ได้ประกาศก้องว่าเราเขียนมันใหม่หมดเลย ลบความงงงวยที่เคยเขียนก่อนหน้านั้นทิ้งไปทั้งหมด

ผมเข้าไปอ่านนิดหน่อยแล้วเห็นความแตกต่างอย่างเห็นได้ชัดคือแยกส่วนคือ High level / Low level API ออกจากกันอย่างชัดเจน ทำให้คนที่สนใจจะนำไปใช้ไม่ต้องรู้ Low level อย่าง Event loop หรือ Future object ก็ได้ครับ

ใครสนใจก็เข้าไปอ่านได้ที่ลิ้งค์ข้างล่างเลยครับ

asyncio — Asynchronous I/O — Python 3.10.2 documentation

Sneak peak on Requests 3.0


คงไม่ต้องแนะนำกันแล้วใช่มั้ยครับ สำหรับ Library ที่ทุกคนตั้งแต่คนเขียน Script Python เล็กๆ ไปจนถึงทำ Data warehouse ขนาดใหญ่ต้องผ่านมือมาทุกคน ซึ่งหลังจากประกาศขอ Funding ไปเมื่อหลายเดือนก่อน ตอนนี้คุณ Kenneth Reitz ก็เริ่มแง้มๆ แผนของ Requests 3.0 ซึ่งเป็น Version หน้าของ Library ตัวนี้ออกมาให้ชมกัน

หลักๆ คือ Support Python 3.6+ ซึ่งผมเข้าใจว่าให้รองรับกับ Asynchronous programming ส่วนหนึ่ง และอีกส่วนหนึ่งคือแตก Library low level ออกไปเป็น Library ใหม่ชื่อ requestscore ซึ่งมีไว้เพื่อสถานการณ์ที่ I NEED TO SEND AS MANY REQUESTS AS POSSIBLE AS EFFICIENTLY AS POSSIBLE ตามนั้นเลยครับ

นอกจาก Requests ทางคุณ Kenneth Reitz กำลังพัฒนา Library ตัวใหม่อยู่นะครับ ซึ่งเค้านิยามว่าเป็น Buildpack แบบHeroku บน Kubernetes ซึ่งผมเข้าใจว่าก็น่าจะเป็นงานหลักของเค้าเพราะทาง DigitalOcean ที่ทำงานปัจจุบันของคุณ Kenneth Reitz ก็เพิ่งเปิดตัว Kubernetes ไปได้ไม่นาน ใครสนใจก็ติดตามได้ที่ลิ้งค์ข้างล่างครับ

GitHub - kennethreitz-archive/bruce-operator: The BRUCE operator.
The BRUCE operator. Contribute to kennethreitz-archive/bruce-operator development by creating an account on GitHub.

New MyPy Release

สำหรับ Type checker มาตรฐานอุตสาหกรรม Python อย่าง MyPy ก็ยังมีอัพเดทเรื่อยๆ นะครับในอัพเดทนี้รองรับการเช็ค Type ใน Callable Protocol และแก้บั๊กอีกจำนวนหนึ่ง รายละเอียดเพิ่มเติมตามลิ้งค์ข้างล่างเลยครับ

Mypy 0.630 Released
We’ve just uploaded mypy 0.630 to the Python Package Index ( PyPI ). Mypy is an optional static type checker for Python. This release inc...

New Tox release

อันนี้ข่าวล่าวันนี้เลย Tox ออกเวอร์ชั่นใหม่นะครับ 3.4.0 มีฟีเจอร์ใหม่ๆ อย่างเช่น เพิ่ม option commands_pre และ commands_post, รองรับไฟล์ pyproject.toml ซึ่งเป็นมาตรฐานใหม่ของ Python package (PEP 518) และอื่นๆ อีก

Changelog history — tox 3.4.0 documentation

Beta Release for IPython 7.0

หลายๆ คนอาจจะไม่รู้ตัวนะครับว่าตัวเองใช้ IPython อยู่ แต่จริงๆ มันคือ engine เบื้องหลังของ Jupyter Notebook ครับ ซึ่งใน Beta release ล่าสุดได้เพิ่มความสามารถในการรองรับ syntax async / await แล้วครับ

แต่ความสามารถใหม่นี่ก็ทำให้เกิดบั๊กใน magics ของ IPython อย่าง %%timeit เกิด Syntax Error เมื่อใช้ autoawait ข้างบนนะครับ ซึ่งทางยังรอคนแก้บั๊กใครสนใจก็ไปช่วยแก้กันได้ครับ

Asynchronous in REPL: Autoawait — IPython 8.1.0.dev documentation

Microsoft joining Hacktoberfest 2018

ยิ่งใกล้เดือนตุลาคม เราก็ยิ่งเตรียมใจและ Text Editor คู่ใจเพื่อเตรียมรับกับเทศกาล Hacktoberfest ประจำปีนะครับ ซึ่งปีนี้ Microsoft ได้มาร่วมด้วย ซึ่งตามธรรมเนียมครับ Microsoft แจกเสื้อ Limited Edition ด้วย ใครสนใจก็เตรียมตัวให้ดีนะครับ

We’re joining Hacktoberfest 2018 - Microsoft Open Source Blog
As part of Hacktoberfest, we’ll recognize anyone who submits an October pull request to a Microsoft open source project with a limited-edition t-shirt.

ผมไล่ๆ ดูใน Opensource projects ของ Microsoft นี่มีหลายตัวที่น่าสนใจเลยทีเดียว แต่ที่น่าสนใจสุดคงไม่พ้น Python Extension for VSCode นะครับ สำหรับใครที่สนใจ Contribute ให้ Microsoft ในส่วนของ Python สามารถไล่ดู Project ได้ตามลิ้งข้างล่างเลยครับ

Microsoft Open Source
Microsoft Open Source: get involved in open source communities, discover projects and ecosystems Microsoft is involved in, and learn about the Microsoft open source program

ปล.จริงๆ วันอังคารที่ผ่านมาเป็นกำหนด Python 3.7.1 final release นะครับ แต่มีปัญหานิดหน่อยกับ implementation ของ C locale coercion (PEP 538) ในนาทีสุดท้ายเลยต้องเลื่อน release ออกไปซึ่งคาดว่าน่าจะเป็นวันที่ 28 กันยายนนี้ ก็คอยติดตามกันครับ


Original post at: https://medium.com/pythonbycow/เขียนงูให้วัวกลัวรายสัปดาห์-ฉบับที่-1-2423a65e8a02