TrueCrypt 官方以「不安全」的原因要求大家停用 TrueCrypt...

TrueCrypt 是相當有名的磁碟加密軟體,而官網上突然宣佈這些事情讓大家相當驚愕,今天打開 Zite 時發現所有人都是在講這件事情,已經震驚了整個資安領域...

Bruce Schneier 寫了一篇「TrueCrypt WTF」,猜測的可能性包括了:

Speculations include a massive hack of the TrueCrypt developers, some Lavabit-like forced shutdown, and an internal power struggle within TrueCrypt. I suppose we'll have to wait and see what develops.

不知道實際上發生了什麼事情,接下來應該會有更多消息出來,要盯著看了...

Twig 的用法

我喜歡 Zend_View 來處理 view 的部份,但並不是每個人都習慣在所有 output 的部份加上對應的 escape function,所以還是得找其他有 auto escape 功能的 framework 來用看看,而 Twig 是其中一個還不錯的選擇。

Composer 裝完 Twig 後:

<?php

require __DIR__ . '/vendor/autoload.php';

$loader = new Twig_Loader_Filesystem(__DIR__ . '/view');
$twig = new Twig_Environment($loader, array('strict_variables' => true));

$array_data = array(
    'foo' => 'bar',
);

echo $twig->render('index/index.html.twig', $array_data);

比較特別是為了支援 PHP 5.2 而沒有使用 namespace。

而拿 ab 打可以測出來速度很快,一般會遇到的瓶頸應該會是 database 而非 Twig...

IBM 中止與 NetApp 的 OEM 關係

IBM 中止與 NetApp 的 OEM 關係,要賣自己的硬體了:「IBM Stops Selling NetApp Units in Favor of Own Storage Devices」。

幾個重點:

The move is poised to be a setback for NetApp, which gets about 2 percent of its revenue from IBM, according to data compiled by Bloomberg.

“IBM is focused on strengthening its Software Defined Storage portfolio to provide greater scalability to clients,” Sean Tetpon, a spokesman for IBM, said in an e-mail.

有很多種解讀...

BPF (Berkeley Packet Filter)

看到 CloudFlare 的「BPF - the forgotten bytecode」在文章裡提到 BPF (Berkeley Packet Filter),發現從大學畢業後就沒再看過... (然後也沒什麼印象了)

tcpdump 可以把 expression 轉成 BPF bytecode,再丟進 kernel 執行,拿 CloudFlare 文章裡的例子在自己電腦上跑:

gslin@GSLIN-DESKTOP [~] [07:27/W4] sudo tcpdump -p -ni eth1 -d "ip and udp"
(000) ldh      [12]
(001) jeq      #0x800           jt 2    jf 5
(002) ldb      [23]
(003) jeq      #0x11            jt 4    jf 5
(004) ret      #65535
(005) ret      #0

而對於複雜的過濾邏輯而需要拼效能時,可能會需要手動寫 bytecode (像是優先先判斷某些比較容易過濾的欄位,藉以降低判斷的量),可以透過 SOCK_RAWSO_ATTACH_FILTER 直接寫 bytecode 給 kernel 執行。

雖然文章內沒有明講,不過看起來 CloudFlare 有這樣做,尤其後面又有提到:

These kind of rules are very useful, they allow us to pinpoint the malicious traffic and drop it early. Just in the last couple of weeks we dropped 870,213,889,941 packets with few BPF rules. Recently during a flood we saw 41 billion packets dropped throughout a night due to a single well placed rule.

記起來以後說不定用的到...

利用 Journal filesystem 與 Double write buffer 改善 InnoDB 寫入效能

Percona 的「How to improve InnoDB performance by 55% for write-bound loads」這篇在討論 Journal filesystem 以及 InnoDB 的 Double write buffer。

先講文章內的結論。

ext4 上開啟 Journal filesystem 功能後並且關掉 InnoDB 的 Double write buffer 後,資料的安全性不受影響,但效能上升非常多。而與目前常用的 XFS 比較起來也是領先不少。

要注意的是,這邊的數據是資料大小小於記憶體大小時 tpcc-mysql 的執行數據。

原文還有探討其他的狀況,像是 InnoDB 與 MyISAM 混用的問題,有用到的人應該自己去看看原文。

而目前在公司用 XFS 已經用習慣而且相當穩定,但該來花時間投資在 ext4 了,常常可以看到 ext4 很不錯之類的消息。

Chromium 的 PDFium

PDFium 是 open source PDF rendering engine,功能上像是 Mozilla 所研發的 PDF.js,不過是以 C++ 寫的原生套件。

看起來目標是要進 ChromeChromium,以取代現有 Google Chrome 裡所含的非 open source 版本。

不過 Chromium 目前應該已經有 PDF Viewer 可以用?(利用 PDF.js 開發出的套件)

用 Unicode 字元當作短網址編碼的服務...

Hacker News Daily 上看到的服務:「9m URL Shortener」。

居然用 Unicode 短網址當作編碼的部份... 是很有趣啦,不過因為難以輸入,只適合用在 internet 上的傳遞?而不是讓人輸入的...

有些字在我的電腦上還出不來 XDDD

Elasticsearch 1.2.0

由於 Elasticsearch 的想法與實做比起 Solr 吸引人,可以看到愈來愈多團體換過去...

而前幾天 Elasticsearch 的官方放出 1.2.0 與 1.1.2 的消息:「elasticsearch 1.2.0 and 1.1.2 released」。

1.2.0 最大的改變是強制使用 Java 7 了,也就是不能在 Ubuntu 12.04 下安裝 default-jre 了,變成要裝 openjdk-7-jre。(要注意,官方建議的是 Oracle 官方的 JDK,而非 OpenJDK)

如果是 Ubuntu 14.04 就沒這個問題。(因為 default-jre 會裝 Java 7)

另外一個大改變是,之前產生安全問題的 dynamic scripting 預設關掉了,也就是 CVE-2014-3120

目前我的進度只到看完 mapping,但還沒實際開始塞資料進去玩...

Google Searchbot 將開始有能力解讀 JavaScript...

GoogleOfficial Google Webmaster Central Blog 上正式向全世界公告他們的 Searchbot 將會解讀 JavaScript:「Understanding web pages better」。

也就是說,再這次改版後,就算你的頁面全部用 JavaScript 產生,Google 也有能力解讀出來。這顛覆了以前學到的觀念...

其他家 (DuckDuckGo?) 會支援嗎?不知道會不會跳下去做...