X/Twitter 在惡搞外部連結結果被抓包玩陰的

這算一個歷史記錄,現在已經改回來了...

Hacker News 上看到 X (前 Twitter) 惡搞他們不喜歡的外部連結,然後被抓包,以及恢復的故事:「Tell HN: t.co is adding a five-second delay to some domains」。

有人發現 t.co 指到 nytimes.com 或是 threads.net 的連結會有很固定的五秒 delay:

Go to Twitter and click on a link going to any url on "NYTimes.com" or "threads.net" and you'll see about a ~5 second delay before t.co forwards you to the right address.

Twitter won't ban domains they don't like but will waste your time if you visit them.

I've been tracking the NYT delay ever since it was added (8/4, roughly noon Pacific time), and the delay is so consistent it's obviously deliberate.

然後就被 Washington Post 報導出來了:「Elon Musk’s X is throttling traffic to websites he dislikes」,在報導後沒多久,這個機制就被取消掉了。

居然玩陰的 XDDD

Amazon EMR 也以秒計費了,回朔切齊 10/2 生效

Amazon EMR 從改成以秒計費了:「Amazon EMR now supports per-second billing」。

Amazon EMR is now billed in one-second increments in all AWS Regions. There is a 1 minute minimum charge per instance in your Amazon EMR cluster, and per-second billing is applicable to clusters that are newly launched or already running. The Amazon EC2 instances in your cluster, including On-Demand, Spot, and Reserved instances, and Amazon EBS volumes attached to these instances are billed in per-second increments effective October 2. Pricing is still listed on a per-hour basis, but bills are now calculated down to the second and show times in decimal form. Please visit the Amazon EMR pricing page for more information on per-second billing.

來看看 RDS 什麼時候要生效... (不過實際的意義不大)

Cloudflare 因為閏秒炸掉...

Cloudflare 這次閏秒炸掉:「How and why the leap second affected Cloudflare DNS」,影響範圍包括了 DNS query 與 HTTP request:

At peak approximately 0.2% of DNS queries to Cloudflare were affected and less than 1% of all HTTP requests to Cloudflare encountered an error.

主要的原因在於 Gotime.Now() 不保證遞增:

RRDNS is written in Go and uses Go’s time.Now() function to get the time. Unfortunately, this function does not guarantee monotonicity. Go currently doesn’t offer a monotonic time source (see issue 12914 for discussion).

修正的方式是針對時間回朔時處理:

In this patch we allowed RRDNS to forget about current upstream performance, and let it normalize again if time skipped backwards.

應該是因為 Cloudflare 這段程式還沒遇過 leap second 造成的...

Google 的 time.google.com

看到這張圖在講不同 server (service) 如何處理今年的 leap second (UTC 的跨年,台灣時間早上八點),出自 leap smear 這邊:

在很早前就有 time.google.com 這個 domain,但是當時 Google 的人有跳出來說明這個服務不是公開服務 (當時),不保證這個服務的正確性與穩定性:「timeX.google.com provide non standard time」。

不過一個月前公佈出來的 Google Public NTP 服務算是把整個系統搞定了。

其中在 Configuring Clients 這邊直接推薦用 iburst 參數,不愧是家大業大的 Google XDDD:

When the server is unreachable and at each poll interval, send a burst of eight packets instead of the usual one. As long as the server is unreachable, the spacing between packets is about 16s to allow a modem call to complete. Once the server is reachable, the spacing between packets is about 2s. This is designed to speed the initial synchronization acquisition with the server command and s addresses and when ntpd is started with the -q option.

回到原來的 leap smear 的比較圖,可以看出 Google 對 leap second 的解法是往前十二小時與往後十二小時各拉緩衝時間來避開,有些是沒在管,另外有些有種來亂的感覺 XDDD

Twitter 還真的玩 140 秒的規格啊...

前幾天 gjtaiwan 的這則 tweet,看到的時候本來只是笑一笑而已:

結果剛剛看到「Twitter and Vine now support videos up to 140-seconds long」,雖然不是 SoundCloud,但還真的 140 秒啊... @_@

AWS 處理這次的 Leap Second...

2015/06/30 到 2015/07/01 會有 Leap Second (閏秒),而這次 AWS 處理的方法也公告出來了:「Look Before You Leap – The Coming Leap Second and AWS」。

EC2 由於每個 instance 有自己的 clock,所以需要自己實作:如果對閏秒不會有問題的系統就放著,而對閏秒敏感的系統可以自己跑 ntpd 之類的程式校正。

而其他 AWS 的系統會用 24 個小時攤平多出來的閏秒,從 2015/06/30 的中午 12:00:00 開始,到 2015/07/01 的中午 12:00:00 結束 (都是 UTC):

也就是說不會出現 23:59:60 這種時間,而在這 24 小時調整區間內的誤差最多 0.5 秒。