GitHub 的 chatop (2016)

Velocity 2016 裡面,GitHub 分享了如何用 Slack 為平台,建立機器人來輔助開發流程(如 CI、Deployment、Monitor等等)。

對於開發者來說,可以一邊討論就一邊把事情完成,整合了 README 等文件撰寫的工作;對於 Operator 來說,由於討論的過程在 Slack 上,也可以設計一個流程,當有事件發生時就 Alert OP,這樣可以讓 OP 在開發過程中也被告知,獲得必要資訊。

缺點就是資訊流通太快了,可能開完一個一小時會議之後,事情跟前一個小時差距就變得很大 XD 這點是需要團隊成員適應的地方。

Google 贊助的 uProxy

uProxy/ (( 由 University of Washington 與 Brave New Software 開發,Google 贊助。 ))是一個 Firefox 和 Chrome 的擴充套件,安裝之後,可以讓透過同樣安裝了 uProxy 的朋友電腦瀏覽網站。自己與朋友中間的連線是加密的。只要你信任朋友不會偷聽你的資料,就可以避免在公共場所使用 WiFi 的安全性問題。

不過在我看來,uProxy 會大大的降低 Proxy 架設與使用門檻。以後只需要在家中的電腦安裝 uProxy,在外面就能夠使用加密的連線,透過家中網路上網。就算不信任朋友不會惡搞你,自己在家裡放電腦(或是到 AWS 上開一台 Windows 跑瀏覽器 XD)就可以增強使用公共場所 WiFi 的安全性,避免被竊聽。

另外,如果在中國需要翻牆,或是某些日本限定的網站,也可以很簡單的透過這個套件來規避限制了。

最後我覺得這個專案的挑戰是,怎麼讓 uProxy 在行動裝置(智慧型手機、平板之類的)上面可以簡單的安裝與使用。我不確定 Firefox 的情形,但是 Chrome 與 Safari 都沒有擴充套件的機制…… 另外蘋果的 Walled Garden 也增加了很多不確定性,說不定連上架都會被拒絕。

目前這個專案還在 Closed Beta 階段,就等之後的發展了。

security/pam_google_authenticator: Two Factor Authentication PAM Module

security/pam_google_authenticator 是 Google 推出的 Open Source PAM Module,提供 RFC 4226 (HOTP: An HMAC-Based One-Time Password Algorithm) 的 OTP 功能。

只要使用 Android 手機(未來會支援iOS裝置),安裝 Google  提供的 App,開啟並設定 pam_google_authenticator,之後的 ssh 連線就可以使用 OTP 登入。

Linux 上的安裝方法可以看 @gasol 寫的替主機上第二道鎖 – Google Authenticator,這裡介紹的是 FreeBSD 上的安裝方法:

  1. 先安裝 security/pam_google_authenticator
  2. 執行 google-authenticator ,設定 secret key。螢幕上會出現一個 QR Code,用手機 App 掃描之後就會把 secret key 存到手機內。接著按照螢幕上指示把 secret key 存到 ~/.google_authenticator 裡。記得要 chmod 600。
  3. 設定 /etc/pam.d/sshd,在 auth pam_unix 下面增加一行:

auth required /usr/local/lib/pam_google_authenticator.so

這樣就生效了。要注意的是,這不會影響使用 Public/Private Key Pair 登入的使用者。另外,PAM設定完成之後,如果沒有設定 secret key 的使用者,就不能用帳號密碼登入了。

測試前記得請留下一個連線的 terminal,避免設錯導致人得跑到 console 前去處理。

支援超多技術的 Multiple File Uploader

這年頭上傳檔案要是沒辦法一次選很多個檔案上傳,可能會有很多人幹樵;從最老牌的swfuploadHTML 5 File API都支援,不過Flash吃資源,而且swfupload的更新速度老實說不快;HTML 5則不是每家瀏覽器都支援。於是,TinyMCE的作者們就寫了plupload,只要瀏覽器支援Google Gears、Flash、Sliverlight、Yahoo Browser Plus,或是HTML 5 File API的其中任何一項,就可以一次選擇很多檔案上傳!

看看支援的功能,除了Multi Threading和Pipeline以外,包括事先縮圖和Drag&Drop都實做出來了,看起來非常exciting啊……

不過我有預感bug應該也會很多就是。

用 USB 隨身碟安裝 Windows 2008 Server 與 Windows 7

今天打算把閒置不用的機器灌成 Windows 2008 Server 來玩,結果不管怎麼試,DVD 就是不能開機。最後火大直接找有沒有辦法用 USB 隨身碟來安裝,結果果然找到了這篇文章:Q: Can Windows 2008 install from USB Key?

必須注意,這個作法只能在 Windows Vista 下作才能成功,Windows XP 的 diskpart.exe 版本不同。

  1. 執行 diskpart.exe
  2. list disk 找出 USB 隨身蝶的 ID
  3. select disk <id>
  4. clean
  5. create partition primary
  6. select partition 1
  7. active
  8. format fs=fat32 quick
  9. assign
  10. exit
  11. 接著執行 robocopy.exe D: I: /s
    (D:為放有 2008 DVD 的光碟機代號,而I: 為USB隨身碟的代號)

copy 完了以後,放到想安裝的機器上用 USB 隨身碟開機就可以了。在文章的 Comment 有人提到也可以用同樣的方法安裝 Windows 7,我自己是沒試過,試過的朋友可以另外寫一篇 Blog 來看看有沒有需要注意的問題。

好用的launchy

WWW: http://www.launchy.net

昨天語小慧推薦給我用,一用之下果然好用,特此撰文推薦之。

裝了 launchy 後,它會去開始功能表與快速啟動列找目前安裝的軟體。接下來只要按 Alt-Space (預設的快速鍵) 就會跳出一個小窗,在這個窗裡輸入你想執行的程式。舉例來說,如果你想執行 FireFox, 只要打 firefox [enter] 就會幫你執行了。

如果符合一個關鍵字的程式有很多筆,按下向下的方向鍵,或者等待一秒以後 launchy 會將他們顯示在下方選單中,可以用方向鍵或滑鼠選取。

如果你的軟體是綠色軟體,這樣 launchy 抓不到。不過有兩個方法可以解決:
1. 在開始功能表裡面開個子目錄,建立這些軟體的捷徑
2. 用 Runner Plugin:options->plugins->runner
然後輸入這個軟體的名稱 (ex. putty), 位址, 參數
執行的時候打 putty [tab] bsd1.cs.nctu.edu.tw 就可以連到 bsd1.cs 了。

另外利用 weby plugin, 可以快速的開啟網頁。例如:
google [tab] 神棍網 => 開 google 找神棍網
mailto: [tab] xx@yy.zz => 寄信給 xx@yy.zz

作者也提供了 API 讓大家開發各種 plugin,相關資訊可以到官網查詢。

相關閱讀: