How iOS *keyboard works

iOS3 以前所有的輸入界面都是受限於系統,因此除了內建的輸入方式之外,無任何方式可以使用其他輸入法,當然 jailbreak 不在這篇要談的範圍。 iOS3 在 UITextField, UITextView 加入了 inputAccessoryView 及 inputView ( ...

Posted by Ethan Liu on March 20th, 2017

Let’s Encrypt + Certbot + Nginx

Let’s Encrypt 現在的工具已經很完善,不像之前需要比較多的手續,主流平台 Certbot 也都支援,使用方式也很簡單, certbot 的說明也很清楚。 以 Ubuntu 16.10 + Nginx 為範例 在開始產生憑證之前,先確定相關的域名與 DNS 都已設定完成,才能夠進行 ...

Posted by Ethan Liu on March 18th, 2017

Vultr speed tests

抓幾個 Vultr 提供的機方測試,分別是 ping 及 100MB 檔案的下載速度

中華電信測速 (非機房)

  
PING hinet-hp.cdn.hinet.net (210.71.222.134): 56 data bytes  
64 bytes from 210.71.222.134: icmp_seq=0 ttl=58 time=5.236 ms  
64 bytes from 210.71.222.134: icmp_seq=1 ttl=58 time=7.129 ms  
64 bytes from 210.71.222.134: icmp_seq=2 ttl=58 time=7.008 ms  
64 bytes from 210.71.222.134: icmp_seq=3 ttl=58 time=7.676 ms  
64 bytes from 210.71.222.134: icmp_seq=4 ttl=58 time=7.231 ms  
64 bytes from 210.71.222.134: icmp_seq=5 ttl=58 time=7.446 ms  
64 bytes from 210.71.222.134: icmp_seq=6 ttl=58 time=7.426 ms  
64 bytes from 210.71.222.134: icmp_seq=7 ttl=58 time=10.068 ms  
64 bytes from 210.71.222.134: icmp_seq=8 ttl=58 time=7.240 ms  
64 bytes from 210.71.222.134: icmp_seq=9 ttl=58 time=17.252 ms  
  
--- hinet-hp.cdn.hinet.net ping statistics ---  
10 packets transmitted, 10 packets received, 0.0% packet loss  
round-trip min/avg/max/stddev = 5.236/8.371/17.252/3.159 ms  
  
  
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current  
                                 Dload  Upload   Total   Spent    Left  Speed  
100  100M  100  100M    0     0  6664k      0  0:00:15  0:00:15 --:--:-- 8053k  

Singapore

  
PING sgp-ping.vultr.com (45.32.100.168): 56 data bytes  
64 bytes from 45.32.100.168: icmp_seq=0 ttl=51 time=91.461 ms  
64 bytes from 45.32.100.168: icmp_seq=1 ttl=51 time=90.319 ms  
64 bytes from 45.32.100.168: icmp_seq=2 ttl=51 time=91.947 ms  
64 bytes from 45.32.100.168: icmp_seq=3 ttl=51 time=92.217 ms  
64 bytes from 45.32.100.168: icmp_seq=4 ttl=51 time=91.695 ms  
64 bytes from 45.32.100.168: icmp_seq=5 ttl=51 time=92.687 ms  
64 bytes from 45.32.100.168: icmp_seq=6 ttl=51 time=90.677 ms  
64 bytes from 45.32.100.168: icmp_seq=7 ttl=51 time=95.832 ms  
64 bytes from 45.32.100.168: icmp_seq=8 ttl=51 time=92.007 ms  
64 bytes from 45.32.100.168: icmp_seq=9 ttl=51 time=92.967 ms  
  
--- sgp-ping.vultr.com ping statistics ---  
10 packets transmitted, 10 packets received, 0.0% packet loss  
round-trip min/avg/max/stddev = 90.319/92.181/95.832/1.441 ms  
  
  
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current  
                                 Dload  Upload   Total   Spent    Left  Speed  
100  100M  100  100M    0     0  4895k      0  0:00:20  0:00:20 --:--:-- 6091k  

New York (NJ)

  
PING nj-us-ping.vultr.com (108.61.149.182): 56 data bytes  
64 bytes from 108.61.149.182: icmp_seq=0 ttl=43 time=253.978 ms  
64 bytes from 108.61.149.182: icmp_seq=1 ttl=43 time=429.036 ms  
Request timeout for icmp_seq 2  
64 bytes from 108.61.149.182: icmp_seq=2 ttl=43 time=1010.707 ms  
64 bytes from 108.61.149.182: icmp_seq=3 ttl=43 time=313.185 ms  
64 bytes from 108.61.149.182: icmp_seq=4 ttl=43 time=537.873 ms  
64 bytes from 108.61.149.182: icmp_seq=5 ttl=43 time=454.388 ms  
64 bytes from 108.61.149.182: icmp_seq=6 ttl=43 time=373.173 ms  
64 bytes from 108.61.149.182: icmp_seq=7 ttl=43 time=294.522 ms  
64 bytes from 108.61.149.182: icmp_seq=8 ttl=43 time=219.287 ms  
64 bytes from 108.61.149.182: icmp_seq=9 ttl=43 time=436.969 ms  
  
--- nj-us-ping.vultr.com ping statistics ---  
10 packets transmitted, 10 packets received, 0.0% packet loss  
round-trip min/avg/max/stddev = 219.287/432.312/1010.707/214.490 ms  
  
  
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current  
                                 Dload  Upload   Total   Spent    Left  Speed  
100  100M  100  100M    0     0  2243k      0  0:00:45  0:00:45 --:--:-- 3285k  

Tokyo, Japan

  
PING hnd-jp-ping.vultr.com (108.61.201.151): 56 data bytes  
64 bytes from 108.61.201.151: icmp_seq=0 ttl=50 time=97.360 ms  
64 bytes from 108.61.201.151: icmp_seq=1 ttl=50 time=87.504 ms  
64 bytes from 108.61.201.151: icmp_seq=2 ttl=50 time=98.334 ms  
64 bytes from 108.61.201.151: icmp_seq=3 ttl=50 time=92.966 ms  
64 bytes from 108.61.201.151: icmp_seq=4 ttl=50 time=103.641 ms  
64 bytes from 108.61.201.151: icmp_seq=5 ttl=50 time=89.665 ms  
64 bytes from 108.61.201.151: icmp_seq=6 ttl=50 time=98.118 ms  
64 bytes from 108.61.201.151: icmp_seq=7 ttl=50 time=92.235 ms  
64 bytes from 108.61.201.151: icmp_seq=8 ttl=50 time=93.268 ms  
64 bytes from 108.61.201.151: icmp_seq=9 ttl=50 time=98.122 ms  
  
--- hnd-jp-ping.vultr.com ping statistics ---  
10 packets transmitted, 10 packets received, 0.0% packet loss  
round-trip min/avg/max/stddev = 87.504/95.121/103.641/4.584 ms  
  
  
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current  
                                 Dload  Upload   Total   Spent    Left  Speed  
100  100M  100  100M    0     0   814k      0  0:02:05  0:02:05 --:--:--  831k  

Seattle, Washington

  
PING wa-us-ping.vultr.com (108.61.194.105): 56 data bytes  
64 bytes from 108.61.194.105: icmp_seq=0 ttl=49 time=162.603 ms  
64 bytes from 108.61.194.105: icmp_seq=1 ttl=49 time=163.509 ms  
64 bytes from 108.61.194.105: icmp_seq=2 ttl=49 time=163.297 ms  
64 bytes from 108.61.194.105: icmp_seq=3 ttl=49 time=163.957 ms  
64 bytes from 108.61.194.105: icmp_seq=4 ttl=49 time=164.445 ms  
64 bytes from 108.61.194.105: icmp_seq=5 ttl=49 time=165.403 ms  
64 bytes from 108.61.194.105: icmp_seq=6 ttl=49 time=164.259 ms  
64 bytes from 108.61.194.105: icmp_seq=7 ttl=49 time=171.378 ms  
64 bytes from 108.61.194.105: icmp_seq=8 ttl=49 time=164.199 ms  
64 bytes from 108.61.194.105: icmp_seq=9 ttl=49 time=164.242 ms  
  
--- wa-us-ping.vultr.com ping statistics ---  
10 packets transmitted, 10 packets received, 0.0% packet loss  
round-trip min/avg/max/stddev = 162.603/164.729/171.378/2.327 ms  
  
  
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current  
                                 Dload  Upload   Total   Spent    Left  Speed  
100  100M  100  100M    0     0  3996k      0  0:00:25  0:00:25 --:--:-- 4747k  

Silicon Valley, California

  
PING sjo-ca-us-ping.vultr.com (104.156.230.107): 56 data bytes  
64 bytes from 104.156.230.107: icmp_seq=0 ttl=51 time=131.030 ms  
64 bytes from 104.156.230.107: icmp_seq=1 ttl=51 time=133.122 ms  
64 bytes from 104.156.230.107: icmp_seq=2 ttl=51 time=132.985 ms  
64 bytes from 104.156.230.107: icmp_seq=3 ttl=51 time=133.115 ms  
64 bytes from 104.156.230.107: icmp_seq=4 ttl=51 time=133.232 ms  
64 bytes from 104.156.230.107: icmp_seq=5 ttl=51 time=133.056 ms  
64 bytes from 104.156.230.107: icmp_seq=6 ttl=51 time=132.944 ms  
64 bytes from 104.156.230.107: icmp_seq=7 ttl=51 time=133.353 ms  
64 bytes from 104.156.230.107: icmp_seq=8 ttl=51 time=133.033 ms  
64 bytes from 104.156.230.107: icmp_seq=9 ttl=51 time=134.070 ms  
  
--- sjo-ca-us-ping.vultr.com ping statistics ---  
10 packets transmitted, 10 packets received, 0.0% packet loss  
round-trip min/avg/max/stddev = 131.030/132.994/134.070/0.724 ms  
  
  
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current  
                                 Dload  Upload   Total   Spent    Left  Speed  
100  100M  100  100M    0     0  3886k      0  0:00:26  0:00:26 --:--:-- 3961k  

Los Angeles, California

  
PING lax-ca-us-ping.vultr.com (108.61.219.200): 56 data bytes  
64 bytes from 108.61.219.200: icmp_seq=0 ttl=50 time=144.026 ms  
64 bytes from 108.61.219.200: icmp_seq=1 ttl=50 time=144.362 ms  
64 bytes from 108.61.219.200: icmp_seq=2 ttl=50 time=144.005 ms  
64 bytes from 108.61.219.200: icmp_seq=3 ttl=50 time=144.423 ms  
64 bytes from 108.61.219.200: icmp_seq=4 ttl=50 time=144.096 ms  
64 bytes from 108.61.219.200: icmp_seq=5 ttl=50 time=148.838 ms  
64 bytes from 108.61.219.200: icmp_seq=6 ttl=50 time=144.211 ms  
64 bytes from 108.61.219.200: icmp_seq=7 ttl=50 time=146.007 ms  
64 bytes from 108.61.219.200: icmp_seq=8 ttl=50 time=142.544 ms  
64 bytes from 108.61.219.200: icmp_seq=9 ttl=50 time=144.382 ms  
  
--- lax-ca-us-ping.vultr.com ping statistics ---  
10 packets transmitted, 10 packets received, 0.0% packet loss  
round-trip min/avg/max/stddev = 142.544/144.689/148.838/1.591 ms  
  
  
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current  
                                 Dload  Upload   Total   Spent    Left  Speed  
100  100M  100  100M    0     0  3761k      0  0:00:27  0:00:27 --:--:-- 5197k  

Sydney, Australia

  
PING syd-au-ping.vultr.com (108.61.212.117): 56 data bytes  
64 bytes from 108.61.212.117: icmp_seq=0 ttl=48 time=295.905 ms  
64 bytes from 108.61.212.117: icmp_seq=1 ttl=48 time=520.829 ms  
64 bytes from 108.61.212.117: icmp_seq=2 ttl=48 time=211.618 ms  
64 bytes from 108.61.212.117: icmp_seq=3 ttl=48 time=213.624 ms  
64 bytes from 108.61.212.117: icmp_seq=4 ttl=48 time=289.710 ms  
64 bytes from 108.61.212.117: icmp_seq=5 ttl=48 time=214.779 ms  
64 bytes from 108.61.212.117: icmp_seq=6 ttl=48 time=424.617 ms  
64 bytes from 108.61.212.117: icmp_seq=7 ttl=48 time=341.948 ms  
64 bytes from 108.61.212.117: icmp_seq=8 ttl=48 time=257.989 ms  
64 bytes from 108.61.212.117: icmp_seq=9 ttl=48 time=216.696 ms  
  
--- syd-au-ping.vultr.com ping statistics ---  
10 packets transmitted, 10 packets received, 0.0% packet loss  
round-trip min/avg/max/stddev = 211.618/298.771/520.829/98.692 ms  
  
  
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current  
                                 Dload  Upload   Total   Spent    Left  Speed  
100  100M  100  100M    0     0   431k      0  0:03:57  0:03:57 --:--:--  333k  

不消說日本還是反應最快的,但頻寬成本也比其他機房高,而且那下載是怎麼回事啊 😂
新加坡看起來也還不錯,線路仍是會經過香港,不過頻寬以往有不穩定的問題,不知道現在狀況如何。
美西狀況差不多,澳洲...我選來亂的。

Posted by Ethan Liu on March 2nd, 2017