把 Nexus 7 (2012) 重新整理成閱讀用平板電腦

這台 Nexus 7 2012 (nakasi/grouper),Google 官方只提供系統升級到 Android 5.1.1,且不曉得是軟體還是硬體(或是都有?)的問題,使用官方提供的 Android 5.0 以上的 factory images,效能表現異常遲鈍,跟 Android 4.4.4 不可同日而語,導致很多人寧願想方設法讓它停在舊版系統。

我也是苦主之一。但是最近對 Kindle Paperwhite 在劃記操作上的體驗愈來愈不滿意,就想回頭用平板電腦來看電子書,無奈看中意的 iPad mini (2019) 我手頭不甚寬裕,實在買不下手,所以我就回頭把這台翻出來整理。

一開始我把它刷了 OmniROM 4.4.4,但是不知道是什麼緣故,我覺得操作起來並沒有印象中 Google 官方提供的 Android 4.4.4 那樣流暢。但是如果刷了官方提供的 4.4.4,很快又會被 OTA 機制搞到,強制升級為 5.1.1,真的很無奈。

中間我也曾經試著套用 low RAM configuration,但是並沒有預想的那般表現。

所以我回頭刷了 XDA 論壇上 AndDiSa 大人提供的 7.1.2 版基於 AOSP build 的 ROM,再套用 low RAM configuration 之後,發現整個體驗竟然還不錯,雖然不比官方提供的 4.4.4 那般,但是比起 OmniROM 4.4.4 還要好,而且好很多!至少開個 Kindle app 不會有停頓十幾二十秒才看到主介面的慘狀了。更何況這版 ROM AndDiSa 大人還有跟上 Google 官方的安全更新,用起來有一定程度的安全感。

Low RAM configuration 其實就是在 /system/build.prop 裡確定 ro.config.low_ram=true(改這個檔案需要 root 權限,屬於危險操作,我不想要有人一知半解做錯了、東西壞掉還叫我出來負責,恕點到為止,請不要問我怎麼做),就會讓整個系統以 Android Go 的模式來運作,有些特效會被取消、資源配置比較嚴苛,但是若以純粹當成電子書閱讀器用途來說,這些東西被限制住無傷大雅,搾出來的資源可以換得基本流暢的操作體驗,讓原本半廢的這台平板重新活用,我覺得是值得的。

BTW,工作一個月後,我現在又回到了待業狀態,雖然無奈,但是養傷期間還是設定了學習目標。接下來會想找 Android app 的開發工作,就先做個 side project 練練手吧。

幫家裡裝了免治馬桶座

因為時間點很接近我從九州旅遊回來,所以可能會有人誤會我是去日本爆買,不過一來這台免治馬桶座是我阿爹之前還在工作時,公司不知以什麼名義送的,其實堆在我家角落已經很多年了,二來我現在根本沒有錢可以爆買、揮霍,連這次旅費都是老婆拿之前的家用基金幫我墊付的。

(大膽不怕羞的廣告字幕:我在找工作,希望靠近台北市內三間客運轉運站(南港、市府、台北),或是可以遠距上班,請參考我的 LinkedIn profile。)

總之就是,因為老婆表示免治馬桶座真的很方便,所以我就把它拿出來裝了。

安裝過程其實不是很順利,因為套件裡頭只有附上使用說明書,沒有安裝說明,所以摸索了好一陣子。配管尤其折騰了一下,為了把附的銅管截出合適的長度,我還動用到線鋸與銼刀。總之最後還是裝好了。

然後我終於解開了多次去日本旅遊時遇到的一個謎題:廁所裡總有一股我無法分辨的味道,之前我以為是臭氧除臭設備之類的產物,裝好這個免治馬桶座,我才發現原來這味道是馬桶座本身材質發出來的。

免治馬桶座真的是很方便啊!除了比較衛生,附帶效應是省衛生紙,因為在洗淨之後,衛生紙主要的功用就只是擦乾而已,所以原本也許要用多次份量的衛生紙,現在通常只需要一份就夠了,此外加溫的馬桶座,在天冷時候如廁更是覺得舒適。

很推薦大家都來安裝。

JWT 並不是頂好,但不代表 token authorization 不好

取標題時我斟酌了一下,不曉得該從眾一點,用 authentication,還是根據實際機制,用 authorization。這兩者負責的是不一樣的事情。

前幾天看到 [JWTs Suck] 這份簡報,絕大部分提到的我都認同,因為這陣子在無業之中刻自己的專案,似乎不該叫做 side project,可是又不太想稱為 toy project,當中就花了很多工夫在理解並刻出 JWT 的發券與核對的程式,可是後來我愈來愈覺得 JWT 實務上並沒有如宣傳講的那麼便利,偷工省下來的一些優點,在需要更多彈性時,反而綁手綁腳。

但是無論如何,考量到除了 Web 以外,我的專案還會有 mobile app 等場合需要呼叫 API,token 在這樣的場景下,比 session coookie 方便多了,是不爭的事實。所以雖然我決定棄用 JWT,但是我還是想要繼續採用 token,譬如說,Phoenix 本身內建的 Phoenix.Token

把我的 FILCO Majestouch 2 Ninja Cherry MX 黑軸改 Gateron 白軸

前幾天,把我在家的主力鍵盤 FILCO Majestouch 2 Ninja Cherry MX 黑軸改成 Gateron 白軸,原因是我覺得 Cherry MX 黑軸對現在的我來說,觸發力道 (60g) 負擔稍微重了點,我想要換更輕一點的,一不做二不休,乾脆選了 Gateron 白軸,這款只有 35g 的觸發力道,應該是目前市面上量產 MX 相容鍵軸當中最輕的一款。

解焊的過程…雖然我的 Ninja 是 87 鍵款,比起全尺寸的 104 鍵少,但是還是吃足了苦頭,幾乎用完了一綑吸錫線,一直要到很後面我才掌握到解焊鍵軸的訣竅:先在焊點補一點「新鮮」銲錫,讓銲錫上的松香輔助,使焊點上的銲錫加熱到適合吸錫器的工作溫度,把絕大部分的銲錫吸走,剩餘卡在接腳與電路板銅箔間的微量銲錫,再用吸錫線處理。不這樣做的話,單用吸錫線處理,太浪費了,也不見得方便。

焊上新的 Gateron 白軸後,第一印象非常滿意,打字起來非常輕鬆,但是…有些地方卻輕過頭了,很容易誤觸發,所以這幾天用下來後,我剛剛又把空白鍵與 Enter 鍵換成 Gateron 黑軸,效果讓我很滿意。會這樣再微幅調整的主因就是,我會習慣(甚至我覺得大部分人應該也是這樣)把拇指靠在空白鍵上,有點像是手掌在鍵盤上的支點,所以這裡配 Gateron 白軸對我而言太軟了。至於 Enter 鍵則是很「關鍵」,我也不希望稍不注意就誤送出一堆錯誤的資料,也一併改了。

另外有一點要特別講的,就是因為 Gateron 白軸真的太輕了,反而很容易敲到定位鐵板,整體聲響比原先的 Cherry MX 黑軸還大,想要依樣畫葫蘆改軸的人,如果噪音是個考量,可能要考慮一下連同鍵帽也加裝 O-Ring,權充鍵帽與定位鐵板間的緩衝。

自組機械式鍵盤(採用 PK60 / Play Keyboard 60 電路板)

我自組的機械式鍵盤

之所以會組這把 60% 鍵盤,起因是我在上一份工作中,為了 MacBook Pro Retina 難用到出名的鍵盤,而另外準備的「便攜式外接鍵盤解決方案」 :不能像之前在 K 社那樣,沒有固定的辦公室可以擺鍵鼠組,只好改而講求更方便攜帶的外接鍵盤。

但是更早之前,其實我就考慮過自己組一把這種小尺寸的機械式鍵盤了,那時候還是出於純粹為了趣味的動機,所以去了中國知名的電商網站上淘了 XD64 電路板與相關零組件,無奈因為店家原本的美意,附上了一隻組裝過程中很可能會用到的工具——鑷子——反而在運輸過程中被當成違禁品而退回,聯繫過程中,貨運業者、店家的皮球踢來踢去,貨運業者的線上客服介面甚至還刻意阻擋臺灣來的連線,我在日本開了一台 VPS 架 VPN 方能連上(然後繼續與客服人員鬼打牆…),這次經驗讓我非常不高興,也因此滅了興致。

那時候我還不知道我不需要如此捨近求遠,其實在臺灣就可以買到基於 GH60 的這類自組機械式鍵盤電路板。後來自己再做了功課,才知道「改裝軍團」有 AMJ60、「Play Keyboard 玩鍵盤」有 PK60 可購買,且「改裝軍團」的 Tina 姐、「Play Keyboard 玩鍵盤」的 Barry Huang 人都很好,Tina 姐不厭其煩地回答了我不少問題,雖然後來我應該是因為材料的緣故選擇在「Play Keyboard 玩鍵盤」一次購足,但是之後遇到有人有採購、客製鍵盤的需求,我還是會推薦他們「改裝軍團」;而 Barry Huang 則是看了我在他賣場下的採購清單,隱約察覺到我是想組整把鍵盤,很好心地提醒我不應該用「平衡桿&龍船龍豆組」而是該用「衛星平衡軸」才對。這兩位業者的服務都很棒,真心推薦給大家。

我就這麼前前後後買了這些零組件,把這把鍵盤組起來:

  • 60% 陽極鋁定位板
  • Play Keyboard60 DIY 60%鍵盤 PCB 電路板
  • 台灣太豪 Tai-Hao ABS 104-key 黑同刻 & 1.75U Shift + 1U @R1 Blank 增補鍵(後來我才知道,其實以我組 60% 的鍵盤,不需要買到完整的 104 顆鍵帽,買 61 顆主鍵位區的就可以了,反而是「1.75U Shift」與「1U @R1 Blank」這兩顆增補鍵更是建議買足,多一個切換功能的 Fn 鍵,用起來方便多了。)
  • Gateron機械軸 黑軸
  • 衛星平衡軸(PCB mounted專用)
  • 60% PCB 塑膠外殼

焊接的時候,雖然有定位板的輔助,鍵軸排列不至於太過歪七扭八,但是實務上,還是不免會偏差一點,雖然這可能不到 1mm 的偏差,乍看沒什麼、不怎麼嚴重,但是卻會導致最後安上鍵帽後,看起來會很明顯,我的建議是遵循網上有人提供的作法,用直尺之類的工具輔助,確認沒有焊歪,且先確實整齊焊上四角的鍵軸,再一排一排地、每焊一顆都要再三確認是否焊接整齊地,把鍵軸焊上電路板。

再者就是,電路板與鍵軸、平衡軸組好之後,先接上電腦,測試每顆按鍵都有正常運作,沒問題的話,在鎖上底殼前,再次確認「平衡軸」有沒有確實安裝好,這個零件很容易在手持電路板的時候誤把卡榫鬆脫,導致依賴平衡軸的按鍵無法正常回彈。

這類基於 GH60 的自組鍵盤,就硬體面來說,可以完全自訂想用的鍵軸與鍵帽,所以如果想要「混軸」,取得最符合自己想要的觸擊體驗,也是輕鬆簡單就能做到;就軟體面來說,可以透過修改韌體原始碼,完全自訂想要的鍵盤配置,符合自己想要的鍵盤輸入方式,更是我之所以想要組一把這類鍵盤的最大理由。

我目前就將這把鍵盤的配置,幾乎 1:1 對照 HHKB,哪天我想再調整,甚至弄成 Dvorak 還是 JIS 配置,都只要改我自己維護的配置程式碼就好。