Move to Logdown
2014-01-10

決定把部落格搬到 Logdown。新網站:http://swem.logdown.com

過去我採用 Octopress 來編寫技術部落格,對需要分享程式碼的人來說,Octopress 採用 Markdown 格式,並且附帶有 Syntax Highlight,程式碼放在文章中很清楚,是技術部落格很棒的選擇。但時間一久,覺得每次寫文章總要手動 rake new_post,手動 deploy 上 github ,總還是覺得麻煩了些。而且 Octopress 也是一項不斷有新 patch 的專案。有時候寫一寫部落格,還得要思考是不是該跟上新版本,把新版 Octopress Merge 進來。這些零碎的小事也讓寫部落格這件事變的不是很俐落。
最近發現 tumblr 也可以用 Markdown 來寫,而且相片與文章的連接也很順暢,每天有不少相片容量可以使用,高興之餘,卻發現程式碼的 block 功能在 tumblr 是沒有作用的,當然也沒有 Syntax Highlight 的功能。
最後找到了 logdown ,這幾天試用過幾次後,就決定把部落格搬過去了。有幾個部份是 logdown 吸引我的部份

  1. 採用 Markdown 格式撰寫文章。這是寫技術文的首要功能
  2. 與 Octopress 互通文檔。這也是很重要的部份,未來如果想要拿回來自已 host,把 Exporting 拿回來的文檔直接放進 Octopress 裡的 _post 資料夾就可以再次 deploy 出去。這項優點使得我們在切換 blog 平台的時候可以減少很多轉換痛苦。
  3. Logdown 的 theme 調整的很乾淨,畫面看起來也很清爽,也具有 Responsive Design。

目前我是使用 logdown 免費的方案,可以 host 一個部落格。進階功能則是要採用付費的方案,像是10GB的圖片上傳、同時host 5個部落格、Custom Domain對應。我想 logdown 確實是技術部落格很棒的選擇,有寫技術文的朋友一定要試試看。

2014/1/9 Front-End Developers Taiwan Party - 4 心得

今天來了3組講者,另外有一個 lighting talk。過去我參加的都是偏向技術的社群聚會,第一次來到Front-End Developers的社群活動。今天的演講內容都很精采,而且全部都是 User Experience 相關的分享。以下簡單整理

  1. 卓致遠 (Thinker Mobile co-founder) 分享了他在製作toWalk 這款離線導航軟體的過程,前期的使用者研究花了很多心力。其中一項是利用手繪prototype模擬app畫面,以這樣的 prototype 讓使用者實際在街上進行找路體驗。在這項體驗中,觀察使用者在運用 APP 找路時的情境,並且就這些觀察去設計 APP 使用流程,包含加大地圖比例、標明方向指示、運用手機擺放角度來分別呈現地圖、街景。前期運用手繪 prototype 確認需求,後期才開始真正開發 APP
    講者特別談到一件事,在改善使用者體驗的時候,要從系統面去看一件事情,而不是複製同樣的東西。例如黃色小鴨活動時,我們要設想的是整個人潮在活動中有什麼可以加強的體驗,像是可以增加食物攤位、廁所等等來滿足人的需求,而不是再多去複製一個等比例縮小的夢想鴨。

  2. HearMe 為視障朋友設計的app。 在與視障朋友訪談後,觀察到視障朋友在生活上面臨幾項問題。

    • 生活資訊難以記錄
    • 只能用聽覺回憶過往
    • 無法便利的與友人分享聲音
    • 聲音檔案整理困難 因此他們結合視障朋友已經很熟悉的 iOS VoiceOver 介面,開發運用手勢來操作的行動軟體。 就技術實作上來說,ios的VoiceOver對視障朋友很棒,可是工程師往往只寫了button1, image1 ,視障朋友很難知道這是什麼,也使得一般的 app 沒辦法發揮這項輔助視障者的功能。這是實作上需要去注意的部份。
      開發者也談到他們挖掘視障者的使用需求,與視障朋友反覆確認、並轉化出適合的使用模式。這裡有關於 HearMe 團隊的訪談及報告
  3. 台灣UX設計的軟實力~Hear Me金獎團隊專訪

  4. HearMe Final Face-to-face Presentation

  5. DITT 作品設計報告

  6. DITT 需求分析與設計驗證報告

  7. Akane 分享了她去東京迪士尼的時候,上到官方網站時的用戶體驗。可以看的出來這個官方網站十分用心,操作動線很清楚,也包含了各項所需資訊(地圖、FP券,排隊時間、餐點資訊、設施介紹、表演情報)
    東京迪士尼度假區官方網站 東京ディズニーリゾート・オフィシャルウェブサイト

  8. 陳怡靜 分享了(那些訪談/測試的問話小技巧)
    其中幾項訣竅

  9. 用戶訪談時避免反客為主,以 「嗯,你覺得呢?」等等的方式讓使用者主動說出他們的看法

  10. 盡可能黑白分明,清楚的表達

  11. 訪談在可能脫離主題時要適時拉回主軸,單刀直入的切入問題點。

“韓國引擎”遇挫 三星電子業績下滑 - 朝鮮日報中文網 不少人提出,要重新研究沒有三星電子也能支撐下的韓國經濟。

這句話是關鍵。 產業轉型就是這樣來的。技術在進步,過去的解決方案就讓它停留在過去,把力氣花在對未來更有幫助的事物。

今天看到的文章 Digital Ocean vs. Linode Digital Ocean 確實是很好的選擇。雖然是個較新的服務,但在價錢、收費彈性、管理介面、API 上都表現非常好。以我個人的使用來說,有時只是要開機器來做幾小時的試驗。在 Digital Ocean 上 instance 的啟動速度真的很好,而且以小時為單位的收費讓人可以很放心的使用。 對我來說唯一美中不足的是目前 Digital Ocean 只有在美國紐約、舊金山、荷蘭阿姆斯特丹,從台灣連線過去的 round-trip 的時間約需 200ms。

將近一年前分享的連結,在這裡也做個分享。實價登錄也進行超過1年了,資訊的公開能減少資訊不對稱,對多數人是有益的。(當然,還是不厭其煩的說一次,實價登錄只是房屋資訊的一部份,買賣任何東西都有各項資訊需要深入了解,才能讓買賣雙方有滿意的交易)

中華電信推出的「3D不動產實價查詢服務」, 目前為止看起來還不錯。 3D不動產實價查詢服務

遠傳電收 eTag 網站出包,仔細看了一下,發現遠傳電收在資訊安全上犯了很基本的錯。提供服務的伺服器通常只允許客戶端存取特定資料夾以內的檔案。如果沒有過濾好,密碼等等重要檔案很容易就外洩。這種 Directory traversal 的防範通常在資安書籍的頭幾章就可以讀到了。

遠通eTag網站被「真駭客」破解!伺服器密碼全部看光光

Hacker News outage
2014-01-06

精神、技術食糧 Hacker News 這兩天突然出現問題無法運作。連到 Hacker News 就會傳回一個頁面表示正在維修中。但仔細探究回傳的訊息,會發現其中不恰當的地方。有網友寫了一篇 HackerNews down, unwisely returning http 200 for outage message,我簡短做個摘要。

首先,維修頁面回傳了 HTTP 200 的 status code,這樣的訊息表示伺服器正常的回應。但一個正在維修的頁面,不應該回傳 HTTP 200。否則,這樣的頁面會被視為資料而被快取下來。以Google 為例,他會保有一些 webpage cache。如果Google 沒有更進一步判讀這其實是維修頁面,那這個記錄就會留存。任何像 Google 這樣的搜尋服務或是第3方服務都會受到影響。比較好的做法是回傳 503 Service Temporarily Unavailable 的 status code.

第二,這個維修頁面的 expire time 太久了,設置的 expire time 到 Thu, 04 Jan 2024 13:14:48 GMT,也就是10年之後。換句話說如果一個使用者或 http proxy 沒有進行 hard refresh,即使 Hacker News 恢復運作,當使用者造訪 Hacker News 的時候,他看到的仍然會是這個維修頁面。

第二個問題其實也是因為第一個問題造成的,如果使用適當的 status code,那就不會有 expire 的 issue。

SQL practice
2014-01-02

推薦以下三個網站給想要學習 SQL 的人。他們都有線上的 interactive 練習,跟著一步一步做很容易就上手了。從最基本的 select, order, 到進階一點的 join 3 tables 都可以練習的到。

前2個是較為基本的練習,第3個則有較為複雜的練習。在做 PostgreSQL Exercises 的時候如果遇到問題,PostgreSQL Tutorial 會是一個很棒的 tutorial

想必是受到Lavabit被美國法院判決必須交出SSL private Key的影響,電子郵件服務商FastMail,今天在官方部落格上發表的文章,向使用者說明,FastMail位在美國的伺服器,對使用者來說有什麼潛在的風險。

首先,FastMail提到,他們是澳洲公司,遵守澳洲法律。若澳洲法庭簽署了執行令,則他們必須對澳洲法律當局交出特定使用者的資料。然而,這一類的海外法律互助申請是極為少見的。因為申請方必須具備許多犯罪證明,而且也必須確定使用者的行為不只違反了所屬國家法律,也違反了澳洲法律。

曾有人表示由於FastMail的伺服器位在美國,所以也受到美國的管轄權。不過這樣的說法FastMail認為並不正確。FastMail並不具有任何美國法律身分,也沒有任何在美國的工作人員。因此即使美國法院簽署批淮令要求交出使用者資料,在澳洲隱私權法律的限制下,FastMail也不能這麼做。

當然美國政府確實有可能向澳洲政府提出請求,但考慮到耗時且完全透明的過程等種種的障礙下,FastMail認為這樣的可能性很低。

我個人覺得Lavabit被要求交出SSL Private Key是美國法院對一般使用者資料滿嚴重的侵害。衡量 FastMail所述,在面對美國法院的批淮上,澳洲的服務商稍微能抵擋這類法律上的隱私侵害。

Ref:

Skype Supernode
2013-10-04

今天讀了一些關於UDP hole punching,才知道原來VOIP這一類的技術,如何穿越NAT。

位在NAT後的A,B兩方要進行通話前,必須先透過一個STUN Server,取得對方於公開網路上的IP位址及PORT埠口,然後再進行NAT Traversal

在Skype的實作中,本身具有Public IP位址的使用者,也可能擔任這個STUN server(Skype稱之為,Supernode),分擔主伺服器的工作。因此,也需要耗用一些頻寬與運算效能。關於這點,台灣的網路追追追有訪問過Skype:

這個Super Node技術用在每種P2P的服務中,已經發展了8~9年,Skype是第一個將它運用於語音服務上,Skype挑選比較好的等級以及比較大的頻寬的用戶來當Super Node,並不會讓一個配備很差的電腦,還繼續拖垮它,而頻寬與資源佔用也只是一點點,集合眾多Super Node的力量完成。

不過在Microsoft買下Skype後,架構也有了調整,使用者將不再需要擔任STUN Server的角色,完全由微軟的伺服器來完成 Hole Punching 所需的資料交換。

Ref: