推薦《An Introduction to Programming in Go》這本書…
書的資料: An Introduction to Programming in Go. Copyright © 2012 by Caleb Doxsey ISBN: 978-1478355823 以及網站:「An Introduction to Programming in Go」。有平裝實體書版本,也有電子 Kindle 版,網站上有 PDF 可以下載,或是直接 HTML 觀看。我是看完...
View Article用 Go 發展的 groupcache…
groupcache 是 Brad Fitzpatrick 最新的作品 (之前最有名的兩個作品是 memcached 與 OpenID 1),目標在於取代一部分 memcached 的功能。 以官方的說明是: groupcache is a caching and cache-filling library, intended as a replacement for memcached in...
View ArticleGo 的 cheatsheet?
也不能算是 Cheatsheet… 但功能很接近了:「Go by Example」。 因為不常寫 Go,每次要寫小東西的時候都要重新複習,這個網站提供了範例重點讓看過 Go 文件的人可以快速查詢,包含了常用的 library 的呼叫方式。 先 bookmark 起來… Related Posts: C 對 Go Channel 的實做 Go 對 Android 的支援 用 Go 發展的...
View ArticleGo 的 self-boot 計畫
Go 的 self-boot 計畫,也就是用 Go compiler 編 Go compiler:「Russ Cox – porting the Go compiler from C to Go」。 其中提到: The goal is to convert *their* C code (not all C code). They want generated code to be...
View ArticleGo 對 Android 的支援
Google 的 David Crawshaw 提出了「Go support for Android」的計畫。 提案中是希望 Go 1.4 可以開始支援: During the Go 1.4 cycle, GOOS=android will be introduced to the Go repository, along with cgo support on Android...
View ArticleC 對 Go Channel 的實做
在「Pure C implementation of Go channels.」這邊看到有人在 C 語言裡面實做 Go 的 Channel,包括了 Unbuffered 與 Buffered 版本。 看起來是支援 multithreading 的:「Add missing pthread_cond_destroy in chan init cleanup」、「Add -lpthread to...
View Article用 Go 寫的 Tor Relay Server
在 Zite 上看到的「Implementing a Tor relay from scratch」,用 Go 寫的 Tor Relay Server。 會跳下去用 Go 寫是因為效能上的考量: [...], but the lack of AES-NI instructions on the CPUs cause a significant slowdown. 但因為一個 IP 只能跑兩個...
View ArticleMILL:在 C 裡面實作 Go-style 的 concurrency
看到「Go-style concurrency in C」這個專案,在 C 上實作 Go-style 的 concurrency,包括了 channel 的設計。原始程式碼可以在 GitHub 上的「sustrik/mill」看到。 在「mill.c」可以看到實作細節,另外也可以看到 yield() 的設計。 不過目前還很早期,請小心服用: This is a proof of concept...
View ArticleCloudFlare 對 Go 上面加解密系統的改善
CloudFlare 發佈了自己版本的 Go,修改了其中的 crypto subsystem:「Go crypto: bridging the performance gap」。 文章花了不少篇幅介紹 AEAD (Authenticated Encryption with Associated Data),而目前 CloudFlare 支援的是 AES-GCM 與...
View ArticleGo 1.5 的進展
Andrew Gerrand 在「The State of Go - Where we are in May 2015」這份投影片裡面提到了不少 1.5 的改變與改善,預定在今年八月釋出。 首先是全部都改用 Go 寫,不再需要 C 語言的協助了: The gc tool chain has been converted from C to Go. 而效能上的改善最大的是 GC 的部份:...
View Article最近電腦圍棋的兩個突破...
昨天先看到 Mark Zuckerberg 丟出來的資訊,比較完整的資料可以在「Better Computer Go Player with Neural Network and Long-term Prediction」這邊看到。 Facebook 這邊的成就在於用 DCNN-based model 改善效率,可以用一台電腦 (包括 GPU) 維持在 KGS 5d (業餘五段),跟 Zen19...
View ArticleGoogle 的 Load balancer:Seesaw
前幾天因為流感而睡太多,來消化一些文章。 上個星期 Google 放出一套用 Go 寫的 Load balancer,叫 Seesaw:「Seesaw: scalable and robust load balancing」。 比較有趣的是 BGP 與 anycast VIP 的能力: Seesaw v2 provides full support for anycast VIPs - that...
View ArticleGo 1.6 把 HTTP/2 變成預設支援的功能
在 Go 的官方公告「Go 1.6 is released」提到了把 net/http 的 HTTP/2 預設啟用了: In Go 1.6, support for HTTP/2 is enabled by default for both servers and clients when using HTTPS, bringing the benefits of the new protocol...
View Article谷李五番棋今天開打
Google 的 DeepMind 所研發出來的 AlphaGo 與李世乭的「谷李五番棋」將在今天開打。 中國規則、兩個小時、一分鐘讀秒: The matches will be played under Chinese rules with a komi of 7.5 (the compensation points the player who goes second receives at...
View ArticleAlphaGo 不是使用 GPU 加速...
Google 今天公佈的資料中說明了 AlphaGo 不是用一般常見的 GPU 加速運算:「Google supercharges machine learning tasks with TPU custom chip」。 這是特別為 TensorFlow 製作的 ASIC: The result is called a Tensor Processing Unit (TPU), a custom...
View Article在 C 裡 Concurrency 的 Library
看到「libdill: Structured Concurrency for C」這個東西,在 C 裡實作了兩個不同種類的 concurrency,一個是 proc (process-based) 一個是 go (corouting-based)。 支援的 function 算是蠻清晰的,範例也很清楚: #include <libdill.h> #include...
View Article舊 bug 新名字:httpoxy
依照慣例,security issue 都會取個名字,這次叫做 httpoxy:「A CGI application vulnerability for PHP, Go, Python and others」。 事情發生在兩個命名變數上的衝突: RFC 3875 (The Common Gateway Interface (CGI) Version 1.1) 定義了 CGI 環境會把 Header...
View ArticleGo 上面的白箱安全性檢查
HP 的 open source 專案「Go AST Scanner」,分析 Go 的原始程式碼拉出 AST 進行分析 (Static program analysis),再找出可能的安全性問題。 雖然是 alpha 階段,但看起來是個好東西啊... 至少寫的太誇張的 SQL injection 可以掃出來。
View ArticleGolang 1.7
Golang 1.7 主打更小的 binary size:「Smaller Go 1.7 binaries」: Typical programs, ranging from tiny toys to large production programs, are about 30% smaller when built with Go 1.7. 還附了一張經典的「Hello,...
View Article玩 Pokémon Go 抓怪用的 iPhone 手機殼...
看到「This iPhone thong case will help you catch 'em all in 'Pokémon Go'」這個,光看圖就知道意思了: 應該是用 3D Printer 做出來的: If this sounds familiar, it's basically the commercialized, rubberized version of the...
View Article
More Pages to Explore .....