分類: General

  • 把 Panasonic CQ-JB121AA 汽車音響改家用

    從家人車子汰換下來的 Panasonic CQ-JB121AA 汽車音響主機,放在角落很久了,這次舊曆年節花了一點時間把它改成家用。

    這台主機比較麻煩的地方,是汽車音響改裝店家當初拆卸時,手法有點暴力,把後方的接線都用剪的,於是剩下很短的導線可用。

    準備材料:

    • 書架型喇叭。雖然這台主機可以接兩對喇叭(前+後),但是我沒打算搞這麼麻煩,就只拉出一對喇叭的線出來接。然後去找了一對便宜的喇叭來用。
    • 電子線,拉出連接喇叭的線來。
    • 熱縮管,做出比較美觀的絕緣。
    • 鱷魚夾,用來與上面的電子線接合,做出一個便利的介面來接喇叭。再強調一次,我並沒有打算把這組音響弄得多高端大器上檔次,一切以便利為優先,所以並沒有用「正規」的音響連接接頭。
    • 12V 10A 變壓器,安培數我是查網上資料說為了電路安定著想,最好是大於 8A,所以才選了這個規格。
    • 變壓器轉接線,接音響主機拉出一個電源介面,方便接變壓器。
    • 開關,模擬車鑰匙啟動電門的作用。
    • 天線,給收音機用。

    各接點腳位定義,我是拆開主機,查看電路板上印刷的字樣才確定的,網上雖然有資料,但是畢竟不是出於官方,且 Panasonic 網站上也找不到相關手冊,所以我就只好拆開來看。

    找到電源正、電源負、電門、前左正、前左負、前右正、前右負這幾個接點,把線接出來,就差不多了。

    後續因為主機運作時仍有不小的發熱,所以在底部貼了腳墊,讓它騰空,能有空氣對流來散熱。大致上是這樣。

  • 更新「Arch Linux 臺灣社群」網站的一些元件

    昨天更新了「Arch Linux 臺灣社群」網站的一些元件:

    • Twitter Bootstrap 不再使用常常會炸到自己的 Git submodule 來引入,改從 CDN 直接拉。少了一個隱藏地雷,應該也會提升不少人在自己電腦裡 host 一份 copy、幫忙貢獻的意願(吧?)
    • Twitter Bootstrap 從 2.3.1 大升級(20180417 補註:我已經記不得當下是用 2.3.1 還是 3.0 了,總之很久沒升級就是了),直接跳到行文當下最新版 4.1.0。改動的地方雖然不能說不多,但是比起舊版的用法,我覺得新版比較有 sense 一點,像是那個 navbar 的「漢堡選單」圖示,舊版的實作方式我覺得實在很阿雜。
    • 捨棄 Compass,直接用 SCSS/Sass 寫 CSS3,不想管那些舊版瀏覽器相容的問題了,且 Jekyll 本身可以處理 SCSS/Sass,少了一個相依的元件,也更精簡了些。
    • 因為新版 Bootstrap 已經不搭 icon font 了,所以從 GLYPHICONS 改用 Font Awesome。
  • 離開 KKTIX

    2018.03.30 這天,我離開了 KKTIX。

    舊曆年前,慣例要有年度的 1 on 1 考核面談,02.07 面談的尾聲,我被主管通知 KKTIX 團隊要「暫停」遠端工作型態,要搬進原 KKTOWN 租用、現今的華娛辦公室,要拚「短期衝刺雪恥計畫」,主管還表示,體恤我與另外一位一樣住的遠的同事,所以提早跟我們透露這件事,但是希望我(們)先保密。

    那時候,我的身體狀態已經因為痼疾有好一陣子很不舒服了。舊曆年前,又是華人職場一個很微妙的時間點,那時候,我想,既然這樣,原本打算再撐一陣子(才辭職)的,但是在這微妙的時間點有著微妙的調動,別的都不講,光是這樣每天通勤,我的身體只會更加感覺不適,算了吧,就到此為止。

    02.14 我公開在 Twitter 表示即將請辭,選擇在 SNS 先講,不是為了耍什麼技倆,只是既然已經和家人討論好,我就接著想跟朋友分享我這個決定,而我最多技術圈朋友在用的 SNS,就是 Twitter。同一天,主管也和其他同事 1 on 1 告知這項決策。附帶一提,這天是除夕前一天。

    02.21 舊曆年後第一天上班,我正式向主管提出辭職。但是當一天和尚,敲一天鐘,自爆之後,我還是繼續和同事一起打包,準備搬辦公室。

    03.01 ~ 03.30 搬進華娛辦公室幾乎一整個月,我都不知道要「衝刺」什麼,怎麼「雪恥」,所謂的「計畫」在哪裡?雖然同事被取消 remote,沒有一個人是高興的,但是大家都還是恪守本分,上頭說要進辦公室,我們就進辦公室,我也拖著疼痛無比的背部與手臂,每天通勤,且通勤與午餐的支出立即狂失血。大家延續年前的進度,該修的東西就修,該做的功能就做,只是,計畫到底在哪裡?

    言盡於此。

  • Android KTX,Google 官方對 Kotlin 在 Android 底下更簡潔易用的包裝

    幾天前的公告:[Android Developers Blog: Introducing Android KTX: Even Sweeter Kotlin Development for Android]

    一卡車的人都在說 Kotlin 是 Android 底下的 Swift,不過我覺得這句話應該是直到 Android KTX 這個「增補套件」出現之後才算比較中肯些,讓 Kotlin 在 Android 底下的程式寫起來更精簡、更不囉唆。

    也因為看到這東西出現,讓我眼睛為之一亮,沉睡好久好久的 Android App 開發魂又甦醒過來。

    除了官方公告列的幾個範例,還可以參考 [Exploring KTX for Android – Exploring Android – Medium] 這篇,挖出了更多目前 Android KTX 能夠做到更方便的事。

    當然這套東西還在很早期的階段,不過我想假以時日,它肯定會被扶正。

  • Android Studio 下管理原始碼授權條款的方法

    我打算把我 Android 專案中的「主要、原創」程式原始碼都宣告為採用 GPLv3 授權,所以:

    1. [File] -> [Settings] -> [Editor] -> [Copyright] -> [Copyright Profiles] 新增一組名為 GPLv3 的 profile,Copyright text 當然就複製自 GPLv3,再自己簽署一下後存檔。這邊有個地方要記得,就是 Default project copyright 要維持 “No copyright”,不然 Android Studio 自動生成的有些檔案,像是 SVG 格式的圖示,我覺得授權上有些灰色地帶,如果不小心無差別都套上了 GPLv3,應該會成為潛在地雷與日後的相罵本…。
    2. [File] -> [Settings] -> [Appearance & Behavior] -> [Scopes] 新增一組名為 Codes 的 scope,針對 Project 遞迴選擇 (Include Recursively) “src/androidTest/java”, “src/main/java”, “src/main/res/values”, “src/main/res/xml”, “src/test/java” 底下的檔案。
    3. [File] -> [Settings] -> [Editor] -> [Copyright] 針對 Codes scope 套用 GPLv3 copyright (應該說是 copyleft 比較正確?)
    4. [Code] -> [Update Copyright] 套用授權。
  • Android emulator 遇到 libGL error: unable to load driver: i965_dri.so 錯誤的處理方法

    在 Arch Linux 底下遇到太多次,神煩,今天索性找出雖不是終極、但至少是中級不低級的解。

    主因其實是 Android emulator 與系統裡的 libstdc++ 版本打架,解法參考 [Start the Emulator from the Command Line | Android Studio] 有二:

    • 用 command line 啟動 emulator,後面補上 ‘-use-system-libs’ 參數
    • 設定環境變數 ‘ANDROID_EMULATOR_USE_SYSTEM_LIBS=1’

    第二種方法比較不反人類,不過還是要記得放對地方,如果從 desktop environment 啟動 Android Studio,這個時候吃的環境變數設定是從 ~/.xprofile 這邊載入(假設圖形環境使用的是 X Window System),如果是從 terminal 下的 command line 啟動,就是 ~/.zshrc 之類。

    搞定之後就不用跟 command line 搏鬥了…。