利用 pt-online-schema-change 同步 master 與 slave 的資料

在「Syncing MySQL slave table with pt-online-schema-change」這篇看到 master 與 slave 的資料不同步時,強制性同步的方法:

pt-online-schema-change --alter 'ENGINE=INNODB' D=dbname,t=tblname

由於 pt-online-schema-change 的作法是建一個新的表格,然後把舊表格的資料寫過去,而這些行為會被 replicate 到新機器上,於是就同步了…

這招有趣 XDDD

Posted in Computer, Database, Murmuring, MySQL, Software | Tagged , , , , , , , , , , , | Leave a comment

HiNet (Colocation) 對 CloudFlare 的速度

昨天才找人做完 CloudFlareSmokePing 資料,今天看到資料的時候覺得還蠻特別,跟一般預想的情況不太一樣…

CloudFlare 在台灣使用的人應該是 Plurkimages.plurk.com (透過 CNAME 指過去,應該是企業付費用戶) 以及一堆 Content Farm。

上面的圖是我們家在 HiNet 三重重新機房端 (203.69.67.x) 對 www.cloudflare.com.cdn.cloudflare.net 做出來的資料,這種 pattern 很上班時間用的網站的感覺?

多觀察幾天看看好了…

Posted in CDN, Cloud, Computer, Murmuring, Network, WWW | Tagged , , , , | 2 Comments

EMR 對 S3 Consistency 的補強

今年一月的時候,Netflix 曾經寫過一篇關於對 S3 的 Eventually Consistency 的問題:「Netflix 對 S3 的 Eventually Consistency 的補強…」,當時 Netflix 的作法是實做 s3mper 以確保一致性。

過了半年,AWS 的人在 EMR 上實做了類似的功能:「Consistent View for Elastic MapReduce’s File System」。

看文章的說明,應該是用到 DynamoDB 負責 S3 上資料的狀態,而 DynamoDB 的資料並不會砍掉,所以在使用時要注意這點 :o

Posted in AWS, Cloud, Computer, Murmuring, Network, Software | Tagged , , , , , , , , , , , , , , , | Leave a comment

YAML 的地雷

因為碰 SaltStack,而官方建議用的格式是 YAML (雖然也支援 JSON,但文件幾乎都是 YAML),所以被迫要學一堆奇怪的 YAML hack,在官方文件上甚至寫了一篇「YAML Idiosyncrasies」讓大家參考,用 Idiosyncrasies 這個詞彙比較中性,但需要專文來寫就可以想像 YAML 有多 !@#$%^…

然後文章裡面也發現 SaltStack 在亂搞,於是就快起笑了…

首先是建議 indent 為 2 spaces,另外禁用 tab,這些到是沒什麼好抱怨的。但 dict 的設計就讓人崩潰,像是這樣的結構:

foo:
  - bar:
    baz1: abc
    baz2: def

你以為對應的 JSON 是:

{
  "foo": {
    "bar": {
      "baz1": "abc",
      "baz2": "def"
    }
  }
}

但實際對應的 JSON 中,bar、baz1、baz2 視同一層:

{
  "foo": {
    "bar": null,
    "baz1": "abc",
    "baz2": "def"
  }
}

因為其實對應的 YAML 是:

foo:
  - bar:
  - baz1: abc
  - baz2: def

你就不能把最上面的 YAML 定義成 syntax error 嗎… =_=

接下是 SaltStack 的惡搞時間,因為 YAML parser 會把 644 當作數字傳進去,所以這樣的設定:

/etc/vimrc:
  file:
    - managed
    - source: salt://edit/vimrc
    - mode: 644

SaltStack 會收到 644 (十進位),而如果你寫成 0644 時,就會被讀成八進位,也就是 420 (十進位):

/etc/vimrc:
  file:
    - managed
    - source: salt://edit/vimrc
    - mode: 0644

我覺得後面這個是比較正確的寫法,所以應該要會動,但 SaltStack 對這部份 workaround,會變成 chmod 420 /etc/vimrc,然後就噴飯了…

另外 2013_01_12 這種字串會被解讀成 20130102 (十進位),這會不會太歡樂…

反正用下去後應該會再踩更多地雷,繼續看下去吧…

Posted in Computer, Murmuring, Software | Tagged , , , , | 2 Comments

Microsoft 以 25 億美金買下 Mojang


Minecraft,出自「File:Beta.png」。

如同前幾天的傳言,Microsoft 將會以 25 億美金買下 Mojang:「Yes, we’re being bought by Microsoft」。

Microsoft acquired Mojang for a smooth 2.5 BILLION dollars.

不過更重要的是創辦人 Markus Persson (@notch) 選擇離開的公開信,裡面敘述了選擇賣掉並且離開的原因:「I’m leaving Mojang」。

主要的原因還是想要尋找更多有趣的事情,做更多嘗試,但 Mojang 變成沉重的負擔,所以決定讓出去…

Posted in Computer, Game, Murmuring, Recreation, Software | Tagged , , , | Leave a comment

Linkedin 幹的好!XDDD

Twitter 上看到的:

雖然是 machine learning 算出來的結果,但看到還是很好笑啊 XDDD

Posted in Computer, Murmuring, Programming, Software | Tagged , , , | Leave a comment

3D 列印車的第一次試行

在芝加哥 IMTS 2014,參考「Local Motors’ 3D Printed ‘Strati’ Car Has Just Taken Its First Test Drive」這篇報導,以及影片:

警車在前面開道?XD

Posted in Murmuring, Science | Tagged , , | Leave a comment

freenode 要求使用者更換密碼

有 server 被摸進去了,參考「Server issues」:

Earlier today the freenode infra team noticed an anomaly on a single IRC server. We have since identified that this was indicative of the server being compromised by an unknown third party.

因此建議大家更換 channel key 與密碼:

Since traffic may have been sniffed, you may also wish to consider any channel keys or similar secret information exchanged over the network.

Posted in Computer, Murmuring, Network, Security | Tagged , , , | Leave a comment

JPEG 用 AES-CBC 加密後變成 PNG,用 3DES-CBC 解密後變成 PDF…

直接練出一份 PoC 讓大家看:「a JPEG that becomes a PNG after AES encryption and a PDF after 3DES decryption」,這是原始檔:(這邊直接引用 Google Code 上的 image)

透過 AES-CBC 加密後會是這樣的圖片:

透過 3DES-CBC 解密後則是這樣的 PDF:

Posted in Computer, Murmuring, Security | Tagged , , , , , , , , , | Leave a comment

介紹 Tails:Privacy for anyone anywhere

來介紹 Tails 這個以隱私為重點而設計出來的環境。

Tails 是一個獨立的作業環境,以 Debian 打造,並且使用 Tor 保護隱私,另外透過調整過的 Firefox (在 Debian 裡叫做 Iceweasel) 確保連線的安全。

設計上,整個系統利用 iptables 保護,只允許 Tor 的流量連出去,而其他的程式都是透過環境變數與 proxy 設定連外,所以用 curl (透過環境變數設定 proxy) 可以通,但用 nc 直接連卻不會通:

要注意的是,由於這是使用 Tor 作為隱私保護,所以非 HTTPS 的連線都應該被視為會被竊聽或是加料的環境,請避免使用 Tails 連上 HTTP 網站。

Tails 可以在網站上可以下載 ISO image 安裝,下載完後請務必確認 SHA256 是否正確 (網站上有 SHA256 的值,加上 HTTPS 的網址,直接看網站上的這個 SHA256 值應該還算安全)。

拿到 ISO image 後可以選擇燒成光碟後開機執行,這是官方比較推薦的方法。如果是使用虛擬機執行時,需要確認母虛擬機的主體 (Host) 是安全的。

這邊以 VirtualBox 為例子,選擇 Debian 32bits 然後直接把 ISO image 掛上去:

使用虛擬機時,記憶體開個 1GB 應該是夠用 (我是開 2GB,因為沒有掛硬碟當 crypto swap,記憶體大理論上會順一點),看個人環境而自己選擇。開機後會出現:

放著開進去或是選 Live 進去都可以,接下來會出現登入畫面:

第一次玩可以直接用預設值選 Login 就好。登入進去後可以看到這個畫面:

然後過一陣子後右上角會出現黃色的洋蔥 icon,表示已經連上 Tor:

再等一陣子後右上角的洋蔥就會變成綠色,表示已經順利連上:

瀏覽器開起來預設會連到 Tails 的官方網站:

接下來就可以開始做事了:(這是不良示範,你不應該在匿名 channel 裡面查詢與自己有關的資訊)

到這邊應該有個獨立的環境可以玩了…

Posted in Browser, Cloud, Computer, Firefox, Murmuring, Network, P2P, Security, Software, VPN, WWW | Tagged , , , , , , , | Leave a comment