Quantcast
Channel: go – Gea-Suan Lin's BLOG
Browsing all 50 articles
Browse latest View live

Image may be NSFW.
Clik here to view.

推薦《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 Article

Go 的 cheatsheet?

也不能算是 Cheatsheet… 但功能很接近了:「Go by Example」。 因為不常寫 Go,每次要寫小東西的時候都要重新複習,這個網站提供了範例重點讓看過 Go 文件的人可以快速查詢,包含了常用的 library 的呼叫方式。 先 bookmark 起來… Related Posts: C 對 Go Channel 的實做 Go 對 Android 的支援 用 Go 發展的...

View Article

Go 的 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 Article

Go 對 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 Article


C 對 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

Image may be NSFW.
Clik here to view.

用 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 Article

MILL:在 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 Article


CloudFlare 對 Go 上面加解密系統的改善

CloudFlare 發佈了自己版本的 Go,修改了其中的 crypto subsystem:「Go crypto: bridging the performance gap」。 文章花了不少篇幅介紹 AEAD (Authenticated Encryption with Associated Data),而目前 CloudFlare 支援的是 AES-GCM 與...

View Article


Image may be NSFW.
Clik here to view.

Go 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

Image may be NSFW.
Clik here to view.

最近電腦圍棋的兩個突破...

昨天先看到 Mark Zuckerberg 丟出來的資訊,比較完整的資料可以在「Better Computer Go Player with Neural Network and Long-term Prediction」這邊看到。 Facebook 這邊的成就在於用 DCNN-based model 改善效率,可以用一台電腦 (包括 GPU) 維持在 KGS 5d (業餘五段),跟 Zen19...

View Article

Google 的 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 Article

Go 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 Article

Image may be NSFW.
Clik here to view.

AlphaGo 不是使用 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 Article


Go 上面的白箱安全性檢查

HP 的 open source 專案「Go AST Scanner」,分析 Go 的原始程式碼拉出 AST 進行分析 (Static program analysis),再找出可能的安全性問題。 雖然是 alpha 階段,但看起來是個好東西啊... 至少寫的太誇張的 SQL injection 可以掃出來。

View Article

Image may be NSFW.
Clik here to view.

Golang 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

Image may be NSFW.
Clik here to view.

玩 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
Browsing all 50 articles
Browse latest View live




Latest Images