GitHub 與 OpenAI 合作推出的 GitHub Copilot

Hacker News 首頁上的第一名看到 GitHubOpenAI 合作推出了 GitHub Copilot,對應的討論可以在「GitHub Copilot: your AI pair programmer (copilot.github.com)」這邊看到。

GitHub Copilot 會猜測你接下來會想要寫的「完整片段」,像是這樣:

不過 Hacker News 上面的討論有參與 alpha 測試的人的評價,大概 1/10 機率會猜對,即使如此,他還是給了很多有用的資訊 (像是函式與變數的名稱):

fzaninotto

I've been using the alpha for the past 2 weeks, and I'm blown away. Copilot guesses the exact code I want to write about one in ten times, and the rest of the time it suggests something rather good, or completely off. But when it guesses right, it feels like it's reading my mind.

It's really like pair programming, even though I'm coding alone. I have a better understanding of my own code, and I tend to give better names and descriptions to my methods. I write better code, documentation, and tests.

Copilot has made me a better programmer. No kidding. This is a huge achievement. Kudos to the GitHub Copilot team!

然後也有人笑稱總算找到理由寫 comment 了:

pfraze

They finally did it. They finally found a way to make me write comments

反過來的另外一個大問題就是 copyright,這點在目前的問答集沒看到... 在 Hacker News 裡面的討論有提到這點,但目前沒有完整的定論。

目前只支援 VSCode,以後也許會有機會透過 LSP 支援其他的編輯器?

另外我想到 Kite 這個 machine learning 的 auto complete 工具,沒有那麼強大但也還不錯?

KataGo 的分散式訓練計畫啟動了

KataGo 應該是目前 open source 領域裡面數一數二強的圍棋引擎,在去年就一直在開發可以讓大家參與的分散式訓練計畫,最近釋出了 v1.8.0 版,算是公開啟動了:「KataGo Distributed Training」,作者在「KataGo distributed training is open!」這邊也有大概寫一下。

基本上照著官方網站上面的說明做就可以了,可以下載 precompiled binary 或是自己編,自己編的時候注意不能直接拿 master branch 裡面編 (client hash 會不對),我自己目前是用 v1.8.0 這個版本編出來跑。

Reddit 上面的「KataGo's new run is open for public contributions!」也可以看到說明的圖片 (要注意圖上的 X 軸不是線性),算是接著本來的 g170 訓練下去,另外也標示了 ELFv2Leela Zero 大致上的強度:

目前看起來陸陸續續有人開始參與了...

另外在 CGOS 上面也可以看到 kata1 開頭的 bot 在跑,而且看起來會一直把新的 training 成果更新上去跑。

最近開的課程:程式進階效能優化實作

五倍紅寶石聊了蠻多方向的,決定合作開一門跟資料庫有關的課。上個禮拜先貼連結到我的 social network 上,但一直沒寫文章說明內容。所以就來寫文章推銷了:「| 五倍紅寶石 | 程式課程:?SQL 程式進階效能優化實作 - 台北假日班 | Accupass 活動通」。

這門課程預定在 5/26 與 6/2 上課,共 12 小時,分成兩個週六上課。課程主要是以 MySQLInnoDB 為內容 (會採用 Percona Server 5.7 的系統),在課堂上會有實際的 MySQL server 與 phpMyAdmin,可以拿預載好的 data set 實際練習。

由於是效能改善的主軸的課程,會從圍繞與效能有關的主題說明:

  • 有哪些資料結構可以使用。像是 VARCHARCHAR 的差異,以及對 Index 的影響。
  • 怎麼樣設計出符合正規化規範的表格,以及使用與不用的時機。
  • 當表格正規化後,有哪些方式可以取得資料。像是各式的 JOIN、GROUP BY 以及 subquery。
  • 在系統內 Index 要怎麼下才會有效率。
  • 怎麼看 MySQL 對一組 SQL query 的解讀,這邊會針對 EXPLAIN 的操作以及輸出結果。
  • 常見的效能問題,像是 ORDER BY RAND()、N+1 以及 LIMIT N,20 造成資料庫效能不佳以及改善的方式。

而這門課主要針對兩種客群:

  • 第一種是會對資料庫操作的 Programmer,像是後端工程師,全端工程師,或是 DevOps。由於課程內包括了系統上線前的設計與預防措施,以及上線後遇到狀況時的判讀與排除,對於 Programmer 來說是不可或缺的課程。
  • 第二種是管理資料庫的 DBA。在前期參與規劃資料表格設計時,可以提供精確的建議,以大幅降低後續維運上可能遇到的問題。以及當真的遇到效能問題,或是接手的系統就已經有效能問題時,提供可能的解決方案。

目標是透過這門課程,讓資料庫 (尤其是 MySQL) 被用的更淋漓盡致,而不是單純的遇到效能問題就加大機器。

AWS 在台灣辦的課程 Cloud Kata

Twitter 上看到「Cloud Kata | 台北 | 8月4日」這個消息:

算是入門課程 (我的觀察),有興趣的人可以去報名...