Tuesday, April 4, 2017

Migrating from dropbox public folder

Dropbox recently removed its public folder feature, which was used to host my blog's images. I have to figure out a solution to host and fix the paths to these images…

Dropbox announced that As of March 15, 2017 the Public folder in your Dropbox account has been converted into a standard folder. Sad, all my previous links are hosted on Dropbox, and they all become invalid URLs.

I figured that I have to use another image hosting service. After some searching online, Cloundinary seems to be a good option. One design of my hosted images are that they are organized in sub-folders under a 'blog' folder. This means that if I want to seamlessly convert the links, I need to preserve the folder structure too.

Cloudinary seems to suggest they support auto-creating folders. Unfortunately that does not quite work for me.

settings
settings

In fact, I wrote a small script to do this.

Upload a folder to cloudinary
1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  
import os  import cloudinary  import cloudinary.uploader  import cloudinary.api    # Upload the folder in rootdir to cloudinary, preserving the file structure    cloudinary.config(    cloud_name = "<name>",    api_key = "<your key>",    api_secret = "<your secret>"  )    rootdir = 'blog'  for root, subs, files in os.walk(rootdir):      for file in files:          cloudinary.uploader.upload(              os.path.join(root, file),              folder=root, use_filename=True,              unique_filename=False, resource_type='auto')  

With that, I did a simple sed run on all my post sources:

Upload a folder to cloudinary
1  
sed -i '' 's/<dropbox base url>/<cloundinary base url>/' *.markdown  

then rake preview. Boom! All the images are shown again!



via

Monday, April 3, 2017

在美國換輪胎的經歷

最近給車換了輪胎,發覺學問非常大,決定把經歷記錄下來。

背景

我開的車是 MB-C300。買完後才發現,自己的輪胎是所謂的 "runflat"。這東西的好處是,即使是爆胎了,它的 sidewall1 足夠堅硬,所以可以支持已經失去氣壓的輪胎在 50mph 的速度以內再走 50 miles。而壞處就是…… 幾乎沒法修,一旦損毀,基本上只能馬上趕去修車店,而且由於算是比較新的技術,不一定馬上有貨;而且造價一般也比較貴。由於 sidewall 硬,一般也會使得駕駛非常 bumpy (這點我深有同感,車子開起來非常顛簸,感覺一直在抖,但是好處是感覺非常敏感抓地,飆起來時很有 sporty 的感覺)。最後,一般帶了 runflat 的車子,都不會再配給備胎,所以如果爆胎了,那麼只能乖乖去修車店了,當然,好處就是少帶了一個備胎,trunk 可以省出很多空間。除了以上這些,根據我對我自己輪胎的觀察,還發現一到冬天,胎壓降得特別快,基本上2個月就要去打一次氣。

上面說的那些,在我開了五年的舊車上從來沒有體驗過,因爲一般我都定期半年保養,而胎壓什麼的都應該在保養時搞定了。這也間接導致了我對輪胎非常小白,因爲舊車的輪胎似乎非常耐擦,我只是在買回來後換過一次,接下來五年關於輪胎的問題真的一次沒遇過。

Runflats

說起 runflat,可真是多牢騷。由於我的車買的是運動版,配了 19' 的 wheel 以及 Pirelli P-Zero Summer runflats。開車至今一年半,我的左前胎就壞過兩次[^flat tire]。好在都在保修期內,所以基本上只花了幾十塊免費換新胎2。但是這一來一去也是非常花時間的,還不能開車上班。

最近,我發現我的右前胎的外側基本上已經磨平了。剛發現那會非常震驚,因爲我的車才開了 15k miles 不到,竟然就快掛了。後來經過種種網上的研究,這款胎的確壽命就是很短!因爲 Pirelli 是意大利專給跑車做 performance tires 的…… 所以比較 prestigious,而這一款又是特別的薄,所以網上很多人都說甚至不到 10k 就要換了。

選擇新輪胎

網上做了大量功課,發現原配 runflat 的車裝 non-runflat 也是可以的。想起之前的種種麻煩,斷然決定還是入手 non-runflat。在 tireack 上做了功課,基本上瞭解了有幾個考慮:

  • Summer vs. All season: summer tires。 適合在溫度不低於結冰的地區使用,在乾溼的路上,防滑與操縱都很好。其實,基本上就是加州這種地方。但是,在雪地上會非常危險。All season 顧名思義,犧牲了在普通路面行走的性能,使得可以在雪地上行走。
  • 壽命。根據 UTQG3 的定義,我原車胎的 treadwear 才 220! 而大衆喜聞樂見那些輪胎,則一般都能上到 500,也怪不得我以前那部車開了那麼就一點問題也沒有。
  • 價格。這個其實問題不大,因爲我原裝的輪胎一個要上 $400 … 基本上任何輪胎都會比它便宜。

tirerack 的界面做得很好。在它的幫助下,我基本上鎖定了以下這幾款:

  • MICHELIN PILOT SUPER SPORT (PSS)。這是大家有口皆碑的 performance summer tires。基本上對車有追求的都會推薦這款。缺點是可能太 sporty,並且 treadwear 比較低。
  • MICHELIN PILOT SPORT A/S 3+。根據網上評論,跟 PSS 其實差別不大,會稍微舒適一點。而且很 tricky 的一點是,雖然評級是 all season,但是性能跟 summer tire 很接近。最大的優點是,treadwear 非常好。
  • Continental EXTREMECONTACT DWS 06。也是評價很不錯的,但是比起上面那兩款來說則是比較中規中矩沒有太多兩點。

優劣很明顯了,我很快就決定了入手 PS3+。這裏要再表揚一下 tirerack,線下功能也做得非常好。選好了 tire 後,還能寄到指定的 tire shop 進行安裝,並且價格也是有保證的。根據它的推薦,我很快發現了 Nielsen Automotive。這家店在 yelp 是100+的五星級review。而且後來也證實,他們的服務非常靠譜!(見下節)

網上購買輪胎與比價

tirerack 給定的價格還是非常好的。我一套輪胎下來,才不到 800 刀。相對來說,costco 的價格更低,但是仔細研究後發覺,他們的 service 口碑非常差。這也是我最終決定選擇 tirerack 的原因。

一切準備就緒後,我就在網上下了 order,讓他們寄到 Nielsen Automotive。這裏有兩個小插曲:

  1. 我的車原配輪胎是 front 225 rear 255 的 (tire width),而這款輪胎的推薦配置是 225 + 245,或 235 + 255。tirerack 的 salesagent 電話專門跟我確認後,決定還是要 225 + 255 的
  2. 電話裏,sales rep 還跟我提到如果我 hold order 兩天,那麼將會 qualify 原廠的一個 rebate,價值 $70 的 prepaid card。tirerack 又再次立功了,這點我非常感激。

安裝輪胎

輪胎是從 NV 寄過來的,週三寄出週四就到了。週四下午我接到 Nielsen Automotive 的電話後,約好週五下午去修。他們的報價是 $100,比 tirerack 上推薦的還要便宜 $20!

週五去到店裏,發覺是一個外表非常老舊的店。修車的也都是老頭子。但是!老頭子們都非常非常 nice & gentle,讓我感覺非常好,沒有那種普通修車店那種笑里藏刀的感覺。我一開頭還不相信,知道最後面修好車發現,他們是真真正正的 nice,一點也沒坑我。說好了一個小時最後其實花了兩個小時,修車技師 Chris 主動給我道歉並解釋說這個系列的車比較難,有一個地方他總也搞不定,所以花費了更多的時間。老先生很誠懇,我當然也不好意思多說什麼。開出去走了一圈,發現輪胎氣壓不是非常對稱,讓 Chris 再幫忙 balance 一下,也是二話不說就幫我弄好了。當我準備給他一點小費時,他還非常禮貌地拒絕了。不收小費,這我在美國還真是第一次見到。

吐血推薦這間 tire shop。地址是 888 El Camino Real, San Carlos, CA 94070。

總結

經歷過這次讓我對輪胎的維護與保養有了比較深的認識。tirerack 價錢合理並且服務也好,更重要的是上面有大量的科普文章,非常有營養。


  1. 指的就是輪胎的側面,起的支撐作用。 [^flat tire]: 當然,部份原因也是由於我保養不善……此去不表

  2. 一般輪胎都自帶 warranty,比如一年內,以及車輪磨損在接受範圍以內,遇到任何 road hazard 以及質量原因,廠家包換。

  3. Uniform Tire Quality Grade



via