Category Archives: Library

curl 將支援 Brotli 壓縮

在 Twitter 上看到有人提到 curl 支援 Brotli 了:「HTTP: implement Brotli content encoding」。 Brotli 對文字系列的資料比較有幫助 (像是 html): Unlike most general purpose compression algorithms, Brotli uses a pre-defined 120 kilobyte dictionary, in addition to the dynamically populated ("sliding window") dictionary. The pre-defined dictionary … Continue reading

Posted in Computer, Library, Murmuring, Network, Programming, Software, WWW|Tagged , , , , , |Leave a comment

大型 WordPress 站台會用到的 LudicrousDB (以及 HyperDB)

最近收到 HyperDB 的 mailing list 信件 (開頭是「[HyperDB] How can I set up HyperDB with latest version.」這封),有人提到 HyperDB 很久沒更新了... 結果在信理看到有人回了「stuttter/ludicrousdb」這個專案: LudicrousDB is an advanced database interface for WordPress that supports replication, failover, load balancing, & partitioning 兩個專案都是抽換掉 WordPress 在處理 database 的 … Continue reading

Posted in Blog, Computer, Database, Library, Murmuring, MySQL, Network, Programming, Software|Tagged , , , , , , , , , , , , |Leave a comment

Node.js 安全性更新:zlib...

前幾天「Node.js 預定在十月 24 號發表安全性更新」提到 Node.js 會發表安全性更新,已經看到 4/6/8 都出新版了:「Node v4.8.5 (Maintenance)」、「Node v6.11.5 (LTS)」、「Node v8.8.0 (Current)」。 這次安全更新的 CVE 是 CVE-2017-14919: CVE-2017-14919 - In zlib v1.2.9, a change was made that causes an error to be raised when a raw deflate stream is … Continue reading

Posted in Computer, Library, Murmuring, Network, Programming, Security, Software|Tagged , , , , , , , |Leave a comment

nvm 換 n

前幾天在 Twitter 上抱怨 nvm 很慢,導致 Zsh 開起來很頓 (然後也同步到 Facebook 上): nvm 很慢的問題還是沒解啊... — Gea-Suan Lin (@gslin) October 14, 2017 原因在於 .bashrc 或是 .zshrc 內初始化 nvm 時會呼叫 npm config get prefix,而這個命令很慢:「`npm config get prefix` takes incredibly long (7 - 70 seconds) … Continue reading

Posted in Computer, Library, Murmuring, Programming, Software|Tagged , , , , , , , , , |Leave a comment

有 Lazy Connection 功能的 PDO object

在「Aura.Sql」這邊看到有提供 Lazy Connection 的 PDO object,而且是繼承自本來的 PDO object: Provides an extension to the native PDO along with a profiler and connection locator. Because ExtendedPdo is an extension of the native PDO, code already using the native PDO or typehinted to … Continue reading

Posted in Computer, Database, Library, Murmuring, Network, Programming, Software|Tagged , , , , , , , , , , |Leave a comment

AWS WAF 支援 Regex (PCRE)

首先是 AWS WAF 支援 Regex 了:「AWS WAF Now Supports Regular Expressions (Regex)」。 而且是以 PCRE 版本為主: AWS WAF supports most of the standard Perl Compatible Regular Expressions (PCRE). 這樣設定變得方便很多啊,大家都算熟 regex,而且也夠強大... 另外一個公告是 AWS WAF 可以將地區的當條件進行設定了:「AWS WAF Now Supports Geographic Match」。 除了針對某些地區擋掉或是開放以外,也可以針對不同地區設定 rate … Continue reading

Posted in AWS, Cloud, Computer, Library, Murmuring, Network, Programming, Security, Service, Software, WWW|Tagged , , , , , , , , , , , |Leave a comment

CircleCI 的隱私問題

作者看 CircleCI 網站時發現的問題:「CircleCI trusts 8 analytics companies with your source code and API tokens」。 CircleCI 網站引用了這八個網站的 javascript: Pusher Intercom Launch Darkly Amplitude Appcues Quora (??) elev.io Optimizely 有些有很明顯目的而且也夠大,但有些就沒聽過了... 不過照 BuiltWith 上分析的資料「circleci.com Technology Profile」,遠超過這些啊 XDDD 可以看到 GitHub 站上只引用了 Facebook (不過這是哪邊出現的啊?),另外因為使用 Fastly … Continue reading

Posted in CDN, Cloud, Computer, Library, Murmuring, Network, Privacy, Programming, Security, Service, Software, WWW|Tagged , , , , , , , , , , , , , , |2 Comments

Branchless UTF-8 解碼器

看到「A Branchless UTF-8 Decoder」這篇,先來回憶一下「非常經典的 UTF-8...」這篇,以及裡面提到的 encoding: 因為當初在設計 UTF-8 時就有考慮到,所以 decoding 很容易用 DFA 解決,也就是寫成一堆 if-then-else 的條件。但現代 CPU 因為 out-of-order execution 以及 pipeline 的設計,遇到 random branch 會有很高的效能損失,所以作者就想要試著寫看看 branchless 的版本。 成效其實還好,尤其是 Clang 上說不定在誤差內: With GCC 6.3.0 on an i7-6700, my decoder is about … Continue reading

Posted in Computer, Library, Murmuring, Programming, Software|Tagged , , , , , , , , , , , |Leave a comment

最新的 Firefox 56 對 AES-GCM 效能的改善

昨天釋出的 Firefox 56 對於 AES-GCM 在老電腦上改善了不少效能:「Improving AES-GCM Performance」。 首先是 Firefox 自己的數據分析,可以看到 AES-GCM 佔目前加密連線裡的大宗,再來是 AES-CBC: 先以 Linux 64bits 環境的數據來看,Firefox 56 的 NSS 3.32 大幅改善了老電腦的效能 (不支援 AES-NI 硬體加解密的 CPU,甚至是不支援 PCLMUL 的 CPU,以及不支援 AVX 的 CPU): 在 Linux 32bits 環境上則是連預設值大幅改善,不過用的人應該少很多了: Windows 下則是因為 64bits … Continue reading

Posted in Browser, Computer, Firefox, Hardware, Library, Murmuring, Network, Security, Software, WWW|Tagged , , , , , , , , , , , , , , , , , |Leave a comment

直接在網頁上使用 WebTorrent

看到 GitHub 上的「mikeal/webtorrent-component」這個專案,可以很方便直接嵌入 BitTorrent 的資源,像是這樣嵌: <script src="https://cdn.jsdelivr.net/npm/webtorrent-component@latest/dist/webtorrent-component.min.js"></script> <web-torrent src="magnet:?xt=urn:btih:08ada5a7a6183aae1e09d831df6748d566095a10&dn=Sintel&tr=wss%3A%2F%2Ftracker.btorrent.xyz&tr=wss%3A%2F%2Ftracker.fastcast.nz&tr=wss%3A%2F%2Ftracker.openwebtorrent.com&ws=https%3A%2F%2Fwebtorrent.io%2Ftorrents%2F&xs=https%3A%2F%2Fwebtorrent.io%2Ftorrents%2Fsintel.torrent" file="Sintel.mp4" /> 如果拿來跟「Using BitTorrent with Amazon S3」用的話可以在量大的時候省一些頻寬,並且在量小的時候還是維持有 seed (透過 Amazon S3 的服務做)。

Posted in AWS, Cloud, Computer, Library, Murmuring, Network, P2P, Programming, Software, WWW|Tagged , , , , , , , , |Leave a comment