分類彙整: 網路科技

雲端檔案同步意外的教訓:即時雲端同步不能作為備份之用

話說 Dropbox 一直是我拿來當作備份硬碟資料使用的重要雲端服務

慘事是這麼發生的:

  1. 首先是我的某顆存放 Dropbox 同步資料夾的硬碟出了點問題
  2. 但是硬碟的狀況並不是開機找不到硬碟,而是開機時看起來都正常,但存取某個資料夾時會卡住無法載入
  3. 然後 Dropbox 不知為何以為我把那個資料夾砍掉了,所以就幫我把雲端的備份也一併刪除那個資料夾

幸運的是:

  1. 只有我嘗試去打開的那幾個資料夾不見了
  2. Dropbox 有30天內的版本紀錄,然後我提早發現,把檔案救了回來

其實我還有使用其他公有雲以及自己 NAS 作即時同步,但也非常有可能因為 Dropbox 的誤刪,導致全部都一併被刪除了。

得到的教訓是:即時雲端檔案同步,不能拿來當作重要資料備份的唯一方式,還是需配合定時的非同步備份,否則還是可能發生資料無法回復的慘劇

中華電信 MOD 會影響 100M 光世代用戶的網路速度

家裡是使用 VDSL2 Bonding 的方式供裝光世代的,速度是 100M/40M

過去中華電信在 ADSL 線路同時供裝 MOD 時,都會適度調高線路速度,讓 ISP 端的網路速度不受影響。【以中華電信來說,光世代線路(last-mile)及 MOD 部分是屬於中華電信各區分公司的業務,而網路部分(ISP)則是屬於數據分公司(HINET)的業務】

但由於我家的 VDSL2 Bonding 100M/40M 的網路速度已經幾乎達到設備極限了,因此推測若使用 MOD 勢必一定會影響到網路的速度,所以心血來潮就來測看看。以下測速使用 speedtest.net 的測速工具,利用的是是方電訊(Chief Telecomm)的測速節點。

這是我家 MOD 待機時,網路部分的測速:
(VDSL2 Bonding 100M/40M)

然後這是開啟 MOD 53 台 SD 畫質的《台視財經台》時,網路部分的測速:
(VDSL2 Bonding 100M/40M with MOD SD channel)

然後這是開啟 MOD 56 台 HD 畫質的《壹電視新聞台》時,網路部分的測速:
(VDSL2 Bonding 100M/40M with MOD HD channel)

從上面的數據可以看到,上傳速度幾乎都不受影響,但是下載速度如果是開啟 SD 畫質的頻道,會佔用約 3 Mbps 的頻寬,如果開啟 HD 畫質的頻道,則會佔用約 10 Mbps 的頻寬。

中華電信 100M/40M 另外一種供裝方式是使用 EPONGPON 供裝 FTTH 光纖到府的線路,由於速度可以到 1 Gbps 以上,所以理論上中華電信應該有辦法讓 MOD 的頻寬不會佔用到網路速度。

噗浪的辦公室的網路就是採用 EPON (或 GPON,不是很確定) 方式供裝的,而且也有裝 MOD,所以也順便來測一下速度到底會不會受影響。

這是公司 MOD 待機時,網路部分的測速:
(FTTH 100M/40M)

這是公司 MOD 開啟 56 台 HD 畫質的《壹電視新聞台》時,網路部分的測速:
(FTTH 100M/40M with MOD HD channel)

這邊可以看到網路速度還是一樣會受 MOD 影響的,但不清楚速度是受局端設備的限制還是受到放在終端的 EPON/GPON ONU 設備限制。

之前有看到網友提到 ADSL 或光世代 50M 以上的網路速度都可能會受 MOD 影響,但不確定這是設備限制還是政策決定就是了。

台灣地區 AdSense 的電匯收款與西聯匯款比較

AdSense 於今年(2014)的三月開始在台灣地區提供 電匯收款 的服務

設定電匯收款,需要輸入幾項資料

帳戶持有人名稱 / 銀行名稱 / 電匯代碼 (SWIFT) – 銀行辨識代碼 (BIC) / 帳戶號碼

為了保險,我都是輸入英文的,其中 SWIFT 電匯代碼要向你的銀行詢問(每個分行都不一樣)

根據說明,帳戶可以是美元帳戶,就不會被換成台幣。
我第一個月決定先使用中國信託的台幣帳戶測試,第二個月用中國信託的外幣帳戶,比較看看差別。

雖然 網路西聯匯款 也很方便,但是如果可以電匯對於使用者是更方便的,完全不要做任何事情,款項會自動入帳。只是手續費就是不知道怎麼算,只好來試看看才知道。

(2014/9/25 補充)

在連續幾個月使用電匯接收 AdSense 的款項之後,發覺台灣地區使用電匯收取 AdSense 的收益,並不是全額到付的匯款方式,還是有可能會被中間行收取手續費。

整理最近幾個月使用西聯及電匯的經驗,推算匯差、手續費詳細資訊如下:

2014/2/24 西聯匯款,匯入京城銀行台幣帳戶 – 匯率使用京城銀行網路上公告的 國際快捷匯款 匯率

2014/3/25 電匯,匯款帳戶:中國信託台幣帳戶 – 美元收益扣掉12美元的手續費後,依據即期匯率換算成台幣匯入台幣帳戶

2014/4/23 電匯,匯款帳戶:中國信託外幣帳戶 – 原有美元的收益會被扣掉12美元的手續費後,匯入外幣帳戶

2014/5/22 電匯,匯款帳戶:國泰世華外幣帳戶 – 原有美元收益扣掉折合300元台幣(=9.98美元) 的手續費後,匯入外幣帳戶

2014/6/22 電匯,匯款帳戶:匯豐銀行外幣帳戶 – 沒有扣任何手續費

其中京城銀行的西聯匯款匯率(國際快捷匯款)與一般美元匯率的 匯差 約 0.18 台幣,也就是每一百美元,就會損失約18元新台幣的匯差
而使用中國信託帳戶電匯收取 AdSense 收益,會被收12美元的手續費。去信去 AdSense 支援小組詢問,得到的回信如下:

另外,銀行的朋友給我的說明如下:

「匯費通常係由匯出金額決定,郵電費則是會依全額到付或非全額到付收取不同的費用,若 Google 選擇非全額到付,則 Google 可付出較少的郵電費,但匯款本金可能會被中間銀行扣除相關費用,而使本金產生損失;若 Google 選擇全額到付,則 Google 需付出較高的郵電費,但保證本金全額到付,中間行不會再扣取費用」

另外,我公司使用國泰世華的外幣帳戶電匯收取 AdSense 收益,被扣的手續費則是 6 美元,另外網路上甚至看到有網友使用華南的台幣帳戶,被收取了20美元 + 200台幣的手續費,等於差不多800元台幣的手續費!每家銀行的手續費都不太一樣。

測試好幾個月,到最後決定改用匯豐,因為完全不用手續費

參考資料: Adsense電匯與西聯比較 – 以京城銀行為例 – 阿榮隨筆

AdSense 的彈出式視窗影片廣告

第一次看到 Google AdSense 的 (非主動) 彈出式視窗影片廣告,體驗還不錯,不會太干擾

剛開始網頁廣告長下面這樣(最下方的那個 Scientology 廣告):

當滑鼠移過去後,會出現載入的進度列 (progress bar),如下:

然後跑完後就會開一個彈出式視窗秀影片廣告,直接播放:

想體驗一下這個廣告的人可以到下面這個網址看看,但不保證還會秀這個廣告:

http://cdict.net/?q=nato

家裡的光世代升級為 100M/20M

過年前從木柵搬家到新店安坑郊區,將光世代移機,中華電信說我家距離光化箱太遠,所以 50M/10M 要降成 20M/5M 才連得起來,要等附近光化箱建設好才可以恢復,那時候我還在噗浪臉書上分別罵了中華電信一下

沒想到過年後,中華電信行銷人員打電話來說我家已經可以升級成 100M 了,問我要不要參加優惠專案升級,雖然心中存疑,想說應該是他們搞錯了,建設哪有這麼快,不過還是同意讓他們來試看看了

今天一早師傅來裝了,他說我家是這附近第一個升級為100M的,改用合勤的 VDSL2 P883 小烏龜,雖然內建無線網路,但是沒有天線:

2013-03-05 10.59.47

還是採用 VDSL 技術,我本來以為是會像噗浪辦公室的光世代一樣直接拉光纖進來。不過比較特別的是,這台小烏龜是採用 VDSL 雙線合併 (VDSL Bonding) 的技術,所以後面有兩個 VDSL 電話線孔

2013-03-05 10.29.35

剛開始師傅裝好時,似乎只有一線通,另一線不通,小烏龜上面的 Bonding 燈號亮橘燈,測試出來只有 50M/10M 的速率,後來查了一下線路,兩條才都通了

2013-03-05 11.00.00

Speedtest.net 測速結果為下載 96.06Mbps,上傳 18.72Mbps,PING 值為 11ms

然後看來家裡的分享器該換了,過了分享器只剩下一半的速率而已 😎

噗浪機器人範例程式 – 使用 Plurk API 2.0

這篇文章說明如何用 Plurk API 2.0 自己寫一個噗浪機器人

(本文同步發表於 噗浪官方部落格)

噗浪大部分的機器人仍然使用 Plurk 1.0 撰寫,甚至有一部分機器人使用的是非官方的 API,這篇文章將簡介如何使用 Plurk API 2.0 OAuth 的方式開發機器人程式,同時,這個範例也使用 Plurk Realtime API (Comet Push) 的方式來追蹤時間軸,避免給伺服器帶來過多的負擔

由於 Plurk API 2.0 使用 OAuth 方式,所以啟動機器人之前,您必須先獲得以下四個參數

  • App Key
  • App Secret
  • Access Token
  • Access Token Secret

獲得 App Key 及 App Secret 的方式很簡單,首先先註冊一個新的噗浪帳號用來跑這個機器人,然後登入新帳號後,開啟以下這個連結:

http://www.plurk.com/PlurkApp/

按下「註冊新的應用服務」,填寫關於你的程式的資料,其中 OAuth callback 保持空白即可

註冊完畢後就可以看到你的應用程式列表

然後按下「編輯」這個按鈕,就可以看到以下畫面:

這邊我們就可以得到 App Key 以及 App Secret 了

接下來要進行 OAuth 的授權驗證來取得 Access Token 及 Access Token Secret

按下「測試工具」來開啟 OAuth 的 Test Console

首先按下「Get Request Token」來取得暫時的 Request Token,
接下來按下「Open Authorization URL」來開啟授權頁面:

按下「是,我要授權」後,會得到一個認證碼:

把這個六位數的認證碼記下來,然後回到 Test Console,
按下「Get Access Token」,這時會提示您輸入認證碼

把您剛剛記下來的數字填進去,按下「確定」後,
就可以得到永久有效的 Access Token 及 Access Token Secret 了

然後你就可以開始寫程式了,下面是一個用 Python 寫的噗浪機器人,
把其中 APP_KEY, APP_SECRET, ACCESS_TOKEN, ACCESS_TOKEN_SECRET 置換掉即可

這個程式需要使用到 plurk-oauth 這個 Python library,
請把 plurk_oauth/ 這個目錄下的檔案下載回來跟你的程式放在一起就可以了

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/usr/bin/python
# -*- coding:utf-8 -*-
 
import re
import json
import urllib2
 
from PlurkAPI import PlurkAPI
 
plurk = PlurkAPI('APP_KEY', 'APP_SECRET')
plurk.authorize('ACCEESS_TOKEN', 'ACCESS_TOKEN_SECRET')
 
comet = plurk.callAPI('/APP/Realtime/getUserChannel')
comet_channel = comet.get('comet_server') + "&new_offset=%d"
jsonp_re = re.compile('CometChannel.scriptCallback\((.+)\);\s*');
new_offset = -1
while True:
    plurk.callAPI('/APP/Alerts/addAllAsFriends')
    req = urllib2.urlopen(comet_channel % new_offset, timeout=80)
    rawdata = req.read()
    match = jsonp_re.match(rawdata)
    if match:
        rawdata = match.group(1)
    data = json.loads(rawdata)
    new_offset = data.get('new_offset', -1)
    msgs = data.get('data')
    if not msgs:
        continue
    for msg in msgs:
        if msg.get('type') == 'new_plurk':
            pid = msg.get('plurk_id')
            content = msg.get('content_raw')
            if content.find("hello") != -1:
                plurk.callAPI('/APP/Responses/responseAdd',
                              {'plurk_id': pid,
                               'content': 'world',
                               'qualifier': ':' })

執行方式:

# python my-robot.py

這個範例程式作的事情很簡單,就是一個無窮迴圈,首先每次都會先接受所有成為朋友的請求,然後看看有沒有新的噗,如果有新的噗,而且內容有 ‘hello’ 字串的話,就會自動回覆一個 ‘world’ 字串

提醒大家,噗浪並不反對機器人的存在,但使用這個範例程式請注意以下幾點:

  1. 建議使用新的帳號,不要用原有的帳號
  2. 機器人請勿主動去加網友為朋友
  3. 機器人請勿去關注(追蹤)任何其他網友
  4. 請勿自動回覆未成為機器人的朋友所發的噗
  5. 請勿張貼廣告訊息
  6. 請注意回覆頻率,以不過度干擾使用者的方式為原則