發表文章

加州考汽車駕照紀錄(路考篇)

上一篇提到去 DMV 的筆試的經驗還不錯,無論是遇到的工作人員還是整個效率上都相當令人滿意(也有可能一開始期望值就不高),沒想到去考路考的經驗就把我完完整整地拉回了現實。 跟考筆試一樣,也是 100% 建議一定要先 預約 。但跟考筆試不一樣的是,這個預約只是你報到的時間,並不表示你能在那時候就能考試。舉例來說,我預約的時間是下午 2 點 40 分,但最後我等了接近兩個半小時才等到考官坐上我的車... 上一篇在講考筆試的時候有提到,在你考完筆試之後會得到一張 Instruction Permit,而有這張 Permit 並不代表你可以獨立上路,只代表在副駕駛座坐有一位有合格加州駕駛執照的人時你才能合法地開車上路。因此,去 DMV 考路考時,你也需要找一位有駕照的人陪你經歷這整個過程,而且在你報到時他們就會跟你要這位駕駛的駕照。 一般來說是會找已經有駕照的朋友一起去,變通方法則是花錢找駕訓班的教練。另外也有聽到部份的案例是跟 DMV 表示他還在入境的 90 天內,以國際駕照可以合法在加州開車,以這樣的身分自己開到 DMV 去路考。不過最後這種方法有點灰色地帶,因為加州對國際駕照的態度有點模糊,如果找得到一位有駕照的朋友還是建議找朋友一起去吧。大家同樣作為在這裡生活的人,都知道跟 DMV 打交道的麻煩,所以一般都能理解跟配合。 加州的路考流程跟台灣很不一樣,不是在一個固定的駕訓班場地考試,而是直接開上路!因此,你不但要找到一位有駕照的朋友,你還得有一台車。同樣的,蠻多人都會跟朋友借車考試,也一樣有人花錢找教練用駕訓班的車,還有人會選擇租車。只不過如果要用租賃車考試的話,記得你的名字必須要在租賃合約中,並且合約中不得載明說不得以該車進行路考。雖然我不知道是不是真的會有租賃契約這樣寫,但既然 DMV 的 handbook 中都有這樣提到了,那就還是注意一下吧。另外,該車一定要有保險,去考試時也得帶著保險單。 進行路考的時候,DMV 的考官會坐在你的副駕駛座,一路上針對你開車的技巧以及安全性評比。想要獲得滿分相當靠運氣,因為無論是行車速度、轉彎角度等各種細節都能成為扣分的原因。但好消息是,你總共可以有 15 個錯誤,所以千萬不要因為考官在路上一直作筆記就很緊張,只要注意你絕對不可以發生以下兩件事情:不禮讓行人,以及在路邊停車時撞上路緣。一旦這兩件事情發生,路考就會直接 fai

加州考汽車駕照紀錄(筆試篇)

小弟兩年前左右來到洛杉磯生活,原本是希望在第一年尾開始處理考駕照的事情,結果 COVID-19 疫情爆發,小弟也就順勢撤回台灣一年,一直到最近才回到洛杉磯,這陣子才真的開始處理考駕照的事情。 加州負責監理業務的單位稱為 DMV,Department of Motor Vehicles。以往 DMV 都被嚴重詬病效率極低、態度極差,不過以我目前筆試的經驗來說其實還不錯。 目前加州都在推行 REAL ID,你可以直接在申請駕照時直接說要申請 REAL ID。首先,先到 DMV 的 網站 上左側按 Start application 開始申請。申請的過程可以選擇用中文(而且 DMV 如果有中文選項的時候都是繁體中文喔~),接著選擇要申請身份證或駕駛執照,然後網頁會要你登入或者申請帳號。我是選擇在 ID.me 這個服務上註冊,用註冊的帳號登入,新增一個駕駛執照的申請,把該填的東西填一填、所有需要的文件準備好(網頁顯示可以先上傳讓他們審閱,雖然不是必要動作,而且也還是要把正式文件帶去 DMV,但我想說能省多少事情就省多少事吧,就有把資料先上傳上去了),完成之後就可以拿到一組 confirmation code,系統也會寄信到你的信箱,這組號碼到 DMV 現場報到的時候要用到。 在確認頁面以及系統寄的信裡面也會提供一個可以預約的 連結 。絕對!一定!要先預約! 我去的 DMV 是 Culver City DMV,現場會分兩邊排隊,左邊是有預約的,右邊則是沒有預約的。沒有預約的顯然比有預約的長,而且就在我排在有預約的那邊 10 分鐘內就有工作人員開始詢問有預約的人預約的時間是什麼時間,因此我就很快速地先進去了(我到的時間點比預約的時間大概晚個五分鐘)。進去之後大概也是等不到 10 分鐘就輪到我了,在櫃台把文件交給工作人員,同時跟他說今天除了要申請 REAL ID 外還要考筆試。途中會作超級粗略的視力測驗,接著給錢($38 美金,用信用卡或 Debit Card 的話有 2.3% 的額外費用,在意的話建議就帶個現金吧),然後工作人員會請你去拍照,拍完之後就去旁邊的電腦開始考筆試。 網路上蠻容易找到中文的題庫事先練習的,我把 這網站 (放心,題目是繁體中文)的 300 題做完之後再去考大致上都沒問題,給大家參考。 筆試可以選擇用中文。如果用中文的話,除了一般的筆試題目外,還要再考額外

在 M1 Macs 上安裝 h5py 及 pandas 的 HDF5 支援

最近因為被指派說要研究 HDF5,同時比較一下跟 SQL 的效能比較,試著在我自己的 M1 MacBook Air 上裝 h5py,果不其然又是惡夢一場(倒)。 前情提要就是目前還是有蠻多科學運算相關的 libraries 對 ARM based 的作業系統都還是支援度不佳,M1 Macs 當然也不例外。雖然隨著 Macs 全面使用 ARM 架構之後相信之後會越來越好。 總之,經過了一番折騰,終於搞定現在在 M1 Macs 上安裝 h5py 的方法。 首先,先確定你在 Terminal 中使用的 brew 是原生而非 x86 版本的 brew。測試的方式是在 Terminal 中打 which brew,顯示出來的結果應該要是 /opt/homebrew/bin/brew 確定使用的 brew 是原生的之後,以 brew 安裝 HDF5,指令當然就是 brew install hdf5 接著,確定你有安裝好原生支援的 numpy(現在最新版本的 numpy 1.20.3 確認是沒問題的)。接著我們就可以安裝 h5py。用 pip 安裝當然是第一個想到的方法,但由於 h5py 的 setup.py 沒有把判斷式寫好,導致就算系統上已經安裝好最新的 numpy, h5py 在安裝時還是去用了 1.19.3 版 。因此我們需要作一點小改動如下 python3 -m pip install --no-build-isolation h5py 這樣就搞定了在 Python 內使用 HDF5 的前置作業。不過,由於處理資料時還是很常會使用 pandas,又剛好 pandas 的 Dataframe 有 .to_hdf 函數可用,有些 libraries 就需要額外安裝。主要需要裝的其實就是 PyTables,但 PyTables 偏偏直接 pip 安裝又是各種問題,所以還是得一步一步來。 解決安裝 PyTables 的方法主要參考的是 這篇 。首先,把 PyTables 需要的 libraries 裝起來。這些包括 hdf5、c-blosc、lzo,以及 bzip2。 hdf5 前面已經安裝過了,剩下的同樣可以用 brew 輕鬆地安裝起來。 安裝完之後確定一下 hdf5 的安裝路徑在哪。你可以透過以下的指令來作這件事情 brew info -q hdf5|grep '/

MacBook Pro 2013-2015 更換 NVMe SSD 紀錄

其實我有點懶得重寫,所以我只打算把之前自己在 MacRumors 上的留言整理一下 XD,有興趣的人不好意思就得麻煩你爬一下原文啦。 首先,基本上所有需要的資訊都在 原始討論串的第一則貼文 (目前已轉為一篇 wikiPost,並且有在持續更新)。這篇討論串大概是 MacRumors 上關於 Mac 討論度最高的一篇了。除了 MacBook Pro 2013-2015 的機型之外,還有部份的 MacBook Air,以及 MacBook Pro 2016-2017 只有 2 孔 ThunderBolt 孔的機型可以更換。 我有在這篇討論串裡面分享我 轉移到 NVMe SSD 的紀錄跟心得 。不過,有幾件事情從那之後有一點改變,在參考上述連結的流程時請注意到以下的事項,包括:     1.  當時 MacBook Pro 2013-2014 機型有睡眠後無法正常喚醒的問題。      原本 Apple 一直沒有讓 2013-2014 機型拿到 2015 機型可以正常處理 NVMe SSD 睡眠跟喚醒的韌體(其實就只是個更新問題),直到 2020 年年底一次安全性更新後韌體版本號 (Boot Rom version) 大躍進,我記得我的 MacBook Pro 2014 那時候的韌體版本號從 1XX 跳到 429 開頭,在那時候大家就發現再也不需要做特別的設定來處理睡眠喚醒問題,更換成 NVMe SSD 的 MacBook 可以直接正常使用。所以更換成 NVMe SSD 之前建議先作一次作業系統更新(不一定要更新大版,繼續留在 Mojave 也是可以的,只要確定有把安全性更新裝到最新就可以了)免去處理睡眠喚醒的問題,你也就可以跳過我上面連結中寫的 Step 4 了。      2.  當時我的硬碟並沒有用 FileVault 加密。      最近一次把整顆硬碟複製回原本內建 SSD 的過程讓我發現,如果 FileVault 有開的話,一定要先解掉再複製還原才會成功。     3.  當時我的作業系統是 High Sierra、硬碟格式是 HFS+,現在作業系統則是 Mojave、硬碟格式是 APFS。 最後一點比較麻煩。這件事情的差異在於,直到 High Sierra 使用者都還是可以在安裝時選擇硬碟格式使用 HFS+(雖然得靠 command line,有興趣的話請參

在 M1 Mac 的 VS Code 執行 R

2021/03/11 Updated: 最近 VS Code 更新為 1.54.1 之後原生支援了 M1。照理說原本是應該開心的,但... 因為有許多東西目前還是得在 Rosetta 2 底下才能正常運作,因此像這篇所說的設置在 VS Code 更新之後就完全修不好了。即便我在 r.rterm.mac 中加了 arch -x86_64 作為前綴,還是出現了錯誤訊息說它找不到 R client,真的是見鬼。目前也不太知道是該等 R extension 的作者修,還是該等 Radian 以及 R 原生支援 M1 才能修好了。 ===== ===== 最近買了一台搭載了好香 M1 的 MacBook Air(TSMC's 5nm inside!),有一些心得但簡單來說就是超快、超省電,然後依然有一些軟體跟外接硬體的相容性問題。不過,對於得(部分)靠寫程式吃飯的我來說,最頭痛的事情其實是開發工具們非常混亂地同時存在著 ARM 以及 x86 兩種版本。 比方說,brew 在安裝的時候如果沒有特別處理,就會裝在 /opt/homebrew/bin/ 底下(ARM 版本);如果讓 Terminal 在 Rosetta 2 底下執行的話,就會裝在 /usr/local/bin/ 底下(x86 版本)。類似的情況在處理各種 library 的時候層出不窮,就算想要盡量裝可以有原生效能的 ARM 版本,也有可能裝到一半的時候發現 library 需要的 dependencies 有的就是只能在 x86 模式底下執行而得整個換成在 Rosetta 2 的環境底下安裝。 最近因為上課需要用到 R 而試著在 M1 上安裝看看。以往雖然聽過 R 在統計上非常泛用,但因為自己已經很習慣用 Python 所以一直沒有去學,這次因為課堂需求就不得不用了。R 在 M1 上的安裝沒有什麼問題,問題出在當我想要在 VS Code 可以直接執行 R 的時候就撞牆了。 我主要參考了  A fresh start for R in VSCode  這篇,但問題在於我實在不曉得 R executable 到底路徑在哪。原本猜想可能跟 MATLAB 一樣要直接到 R.app 的 Package Contents 裡面找,結果是找到了,但只會在 VS Code 打開的時候把 R.app 開起來,還是沒辦法在

Pixel 3a - 規格不等於 Android 的一切

圖片
來講一下最近在黑色星期五各種特價中我覺得最值得買的東西 - Pixel 3a - 吧。 我原本的手機是 Samsung Galaxy S7,從帳面規格來說,Pixel 3a 幾乎「一切」都比不上它 [1]。3a 用的 Snapdragon 670 [2] 跟 S7 的 Exynos 8890 [3] 相比效能也只能說是相當[4],而且記憶體兩者都一樣是 4GB。考量這兩隻手機推出的時間差異超過三年,3a 的規格實在是非常不怎麼樣。但實際使用上,Pixel 3a 整體的順暢感卻是遠遠超過 S7,我甚至還不時覺得「也太快了吧!」不管是觸控延遲還是 App 切換等都順到我覺得完全不是這種規格的手機會表現出來的樣子,想必負責主要開發的台灣團隊真的下了很大的功夫[5]。 三星一直以來都會被戲稱有祖傳的 S-lag,這點連我從 HTC M8 換到 S7 的時候都有感覺(HTC 其實在減少觸控延遲這點上做得非常好)。S-lag 可能得歸咎於三星在每隻手機上都安裝了 Knox。與其說 Knox 是一系列的 App,不如說他像是整合在作業系統裡面的一個大架構,主要用途是讓企業可以快速部屬企業專屬的各項功能,對絕大多數的使用者來說,這些功能都像是 bloatware(預載的垃圾軟體),一方面拖慢裝置速度、佔據儲存空間,也無故增加了耗電量。除了三星以外,其他品牌的 Android 手機也通常有各自的預載軟體,甚至跟不同電信商綁約的手機也會預載該電信商相關的軟體。這也是為什麼我決定要換到 Google Pixel 的主要原因。 材質上雖然 3a 用的是塑膠[6],但質感超好,也做出了 Pixel 系列背面兩截式的標誌性設計[7],同樣的原料但有不同的質感。跟現在旗艦機普遍使用玻璃作為背蓋相比,塑膠的莫氏硬度比較低,容易刮傷[8],但彈性遠比玻璃來得好,也永遠不會像玻璃碎裂。對我來說,其實塑膠一點也沒有比較不好,反而有點讓我想起以前塑膠手機當道時我拿的 Moto Atrix [9]。我差點就買了碳纖維背貼來致敬了勒。 3a 為了降低成本當然還是做了一些妥協,其中我覺得最可惜的莫過於沒有防水功能,畢竟這幾乎是當前許多手機的標準配備,把手機帶進浴室已經像是理所當然、沒有問題的事情了。除了這點以外,我覺得 3a 絲毫沒有任何缺點(雖然我還是嫌它太大了點,但已經是市場上會被

[macOS High Sierra] 避免High Sierra將檔案系統升級為APFS

隨著macOS Mojave的釋出,Apple也停止了對El Capitan的維護,因此我也在最近將系統更新到了High Sierra(我跳過了Sierra,主要原因是 Sierra不支援外接螢幕HiDPi )。 屏除你在官方介紹就能看到的東西以外,High Sierra有幾個非常值得提出來的優點。第一是安裝完就會立刻發現的是作業系統佔的容量比El Capitan小了很多,對於當時買MacBook時選了比較小容量機型的人應該是一大福音;另外整體的速度也比El Capitan快... 當然也有可能是因為硬碟容量清出來了所以比較快啦。 第二個優點非常重要,那就是High Sierra原生支援NVMe (Non-Volatile Memory Express) SSD。假如你的MacBook是2015年(包括)以前的機型,其實主機板上的PCIe SSD是可以更換的。然而PCIe SSD規格非常混亂,加上Apple自己又喜歡搞特規,所以以往MacBook即使可以更換SSD,你也只能買特殊規格的SSD來換,像是OWC,或是臺灣就是找創見。當時能夠更換的稱為AHCI (Advanced Host Controller Interface) SSD ,這種SSD非常昂貴,而且你能找到的AHCI SSD通常速度跟品質都不如Apple原廠的(Apple原廠的AHCI SSD一般為SanDisk或Samsung),使得當時自己更換MacBook內的SSD非常不划算。 相較於AHCI,NVMe SSD就便宜許多了,當然價格還是不可能跟SATA SSD相比啦,但NVMe SSD有著超越AHCI的超高速度,如果機器完整支援PCIe 3.0的4條通道,讀寫速度可以到3000MB/sec這麼爽快的速度啊!而且也有廠商做出了轉接頭,所以想買個可以負擔的SSD替換MacBook的內建硬碟再也不是夢想啦! 不過因為我還沒有時間處理轉移的問題,而且雖然硬碟空間是有點拮据,但也還夠用,因此暫時沒有要對更換SSD一事做更多的著墨,但就先提供一個可能性,附上一些連結讓有需要的人可以自己嘗試看看。一如以往,話先說在前頭:Use at your own risk. HOW TO: MACBOOK PRO RETINA M.2 SSD STORAGE REPLACEMENT AND UPGRAD