用 irssi + xmpp 連上 HipChat...

HipChat 算是個很有趣的服務,不過實際使用後可以發現效率沒有 command line 的 irssi 好,畢竟 irc 就是以溝通為主的工具。

但 HipChat 可以保留紀錄並且透過 iOS 及 Android device 存取的特性彌補了這個缺點,甚至掩蓋掉原來的缺點。所以接下來就是想辦法用 irssi 連上 HipChat,如果可以的話就可以兼顧了...

網路上其實有不少資料,irssi 可以透過 HipChat 的 XMPP 界面連上,也就是 irssi-xmpp 這個套件。

不過這個套件在 FreeBSD ports 裡是 0.51 版,會 core dump... 雖然送了 0.52 版的 patch 進去 (ports/177466: [patch] Update of irc/irssi-xmpp to 0.52),不過不知道什麼時候才會進去...

幾個步驟要做,首先是 .irssi/startup 內要載入 xmpp,然後設定 alternative_nick

/load xmpp
/set alternative_nick Gea-Suan Lin

然後在 .irssi/config 內設定:(本來應該就有 servers & chatnets 了,自己補上就好)

servers = (
  {
    address = "conf.hipchat.com";
    chatnet = "hipchat";
    password = "hipchat_password";
    port = "5223";
    use_ssl = "Yes";
    autoconnect = "Yes"
  }
)

chatnets = {
  hipchat = {
    type = "XMPP";
    nick = "two_hipchat_number@chat.hipchat.com";
  };
};

然後在 channels 裡就可以指定 channel 了:

channels = (
  {
    name = "two_room_identifier@conf.hipchat.com";
    chatnet = "hipchat";
    autojoin = "Yes";
  }
)

主要是參考「Config for Irssi to connect to various XMPP chat servers. Replace the passwords, usernames an ids by your own. Remember, the irssi-xmpp (http://cybione.org/~irssi-xmpp/) plugin is requried.」這份設定測出來的。

Machine Learning 的課程 (2013 年一月開課,已經完結)

在「推薦系統的課程...」這篇推薦了 2013 秋天的課程,不過整理舊文章的時候發現有另外一門講 Machine Learning 的課程已經結束 (不僅僅是 Recommendation System)。

CMU 的課程:「Introduction to Machine Learning」,課程都有 PDF slide 與錄影可以看。

相較於推薦系統,機器學習的課程比較篇理論,而且也比較廣泛,而推薦系統比較偏應用。

手機網路的不安全性...

在整理舊文章的時候看到有人對 GSM 網路以及 3G/LTE 網路的安全性進行分析:「On cellular encryption」。

2G 網路 (GSM 網路) 已經是不安全的架構,主因是 30 年前可用的技術受限,加上當時的美國法令嚴格管制加密技術出口,所以整個通訊協定放了一堆後門...

3G 網路建立時 AES 也還沒出來 (1998 年 NTT DoCoMo 建立第一個非商用性質的 3G 網路),當時選用的 KASUMI cipher 後來被打趴好幾次...

4G/LTE 用的技術就更新了,當然是另外的故事,不過還是把手機網路當作不安全的媒介會比較好...

用 Go 發展的 groupcache...

groupcacheBrad Fitzpatrick 最新的作品 (之前最有名的兩個作品是 memcachedOpenID 1),目標在於取代一部分 memcached 的功能。

以官方的說明是:

groupcache is a caching and cache-filling library, intended as a replacement for memcached in many cases.

另外一篇介紹文是「Playing With Groupcache」。

跟 memcached 差異最大的地方在於「沒有更改與刪除的功能」,一旦寫進去後就不會變動。在放棄 update/delete 的特性後,換來的是:

  • Cluster 的能力。
  • 處理熱點的能力。

以往在 memcached server 之間是沒有交集的,在 groupcache 則是 cluster 起來。另外以前在 memcached 會因為同時存取同一個 key 而造成 single CPU overloading 的問題,在 groupcache 則透過 auto-mirror 機制解決。

不過還是得想一下要怎麼用,畢竟沒有 update/delete 功能...

Twitter 與研究員合作打擊 Twitter Spammer

研究員在取得 Twitter 的同意後 (Twitter 的 ToS 禁止帳號販賣轉移),十個月內透過 27 個不同的買家,花了 USD$5000 購買了 12 萬個帳號:「Researchers Buy Twitter Bots To Fight Twitter Spam」、「Buying Battles in the War on Twitter Spam」。

整份研究發在 USENIX Security '13 上:「Trafficking Fraudulent Accounts: The Role of the Underground Market in Twitter Spam and Abuse」,有 PDF 可以下載。

可以看到 Hotmail 是裡面比率最高的:

論文後面提到要如何利用這些買來的帳號,透過演算法計算後,判斷還有哪些帳號是可疑的帳號。然後透過 Twitter 的合作交叉比對,給予這些地下盤商致命性的打擊...

推薦系統的課程...

推薦系統已經是顯學了,如果不要太暴力的演算法 (太學術而導致相依性太高) 也都有現成的 Map-Reduce 類演算法可以處理大量資料。但如果要知從頭學起的話,資料反而不太好找?

然後... 也是上個禮拜看到的,現在在 Coursera 上有這樣一門課程:「Introduction to Recommender Systems」,在今年 (2013 年) 九月開課。有興趣慢慢學的當然可以去報名,不過我想說的是,這門課程的 Course Syllabus 列出了很多關鍵字,如果不想等九月開課的人,拿這些關鍵字搜尋資料也可以馬上學到不少東西。

另外一個入口是 Wikipedia:「Recommender system」,也算是導讀性質。

新的 HTTPS 攻擊:BREACH Compression Attack

也是一個禮拜前的消息,在 Slashdot 上看到對 HTTPS 的新攻擊,目前沒有好解法,NSA 應該開心到爆炸:「BREACH Compression Attack Steals SSL Secrets」。

說明可以參考「Vulnerability Note VU#987798 BREACH vulnerability in compressed HTTPS」這篇。

假設你的 ISP 想要抓出你的 Facebook (HTTPS) session id 或是 CSRF token (只要是有能力在中間攔截封包並修改資料的團體都可以,這邊以 ISP 為例),作法是針對 HTTP 頁面值入 script,讓你的瀏覽器對 https://www.facebook.com/ 發出大量 request,藉由觀察這些 HTTPS 的長度就有機會取得 session id (或 CSRF token)...

CERT 的 security advisory 上是寫:

With a token of length 32 and a character space of size 16 (e.g. hex), the attacker needs an average of approximately 1,000 request if no recovery mechanisms are needed. In practice, we have been able to recover CSRF tokens with fewer than 4,000 requests. A browser like Google Chrome or Internet Explorer is able to issue this number of requests in under 30 seconds, including callbacks to the attacker command & control center.

四千次就搞定了... 太!歡!樂!了!

John Carmack 加入 Oculus

上個禮拜的新聞,John Carmack 加入 Oculus:「John Carmack Joins Oculus as CTO」。

身為 id Software 創辦人 (以及電玩遊戲領域超重量級人物),另外也是 Open Source 的推廣者,近年來把心力放在 VR 技術上 (不論是軟體還是硬體),加入 Oculus VR 明顯是繼續往目前的理想邁進... (順便賺賺麵包錢),而這位大師能夠帶給 VR 領域什麼樣的刺激,接下來這幾年就很值得看看了...

喔對,每次提到 John Carmack,當然就要提 1995 年 28 吋 1920x1080 的螢幕:

FreeBSD 的 portconf 新功能...

1.5 版的 portsconf 只能處理等號形式:

lang/php5*: WITH_FPM=yes

前幾天發現這對於某些設定很難處理,所以就在 ports/181119 送出 patch,讓 portconf 可以處理 += 的用法,讓設定更彈性。

結果發現作者就順便把去年十月的 ports/172355 債也還掉... 去年十月這個 pr 早就處理 += 需求,還修正變數名稱需要支援 -+ 的問題。