Monthly Archives: April 2018

COSCUP 2018 「帶您讀源碼」議程軌熱烈徵稿中!

我一直很想在今年的 COSCUP  推動「帶您讀源碼」議程,起因是我某天在放空時,就這麼突然想到:

在 COSCUP 這個臺灣的 F/OSS 年度盛會當中,主角之一 “source code” 反而佔不到什麼版面?大家都在談 Open Source,但是好像沒什麼人在意那個 “Source”?

我覺得這個現象蠻奇妙的,而如果我們可以讓 source code 在 COSCUP 裡多一點份量,會產生什麼效應?我自己有一些預設的想像與期望,希望透過這樣的活動,可以鼓動更多人投入軟體開發(當然,如果是開發 F/OSS 那尤其是再好不過的了),或者再講淺白一點,撒下一顆顆「程式人」的育成種子。

由於一些陰錯陽差,這個構思差點泡湯。好在貼心的 BobChao 大人幫忙,送出了議程軌申請案,最後這個議程軌也成案了。

現在這軌議程開放徵稿了,非常需要您來分享圍繞著 source code 主題的各種有趣議題!

Minikube 0.26.1 開設 Kubernetes 1.10 cluster 遇到 “failure loading apiserver certificate: the certificate is not valid yet” 的 workaround

Minikube 0.26.1 開設 Kubernetes 1.10 cluster 遇到 failure loading apiserver certificate: the certificate is not valid yet

$ minikube start
Starting local Kubernetes v1.10.0 cluster...
Starting VM...
Getting VM IP address...
Moving files into cluster...
Setting up certs...
Connecting to cluster...
Setting up kubeconfig...
Starting cluster components...
E0424 09:10:22.557702 22820 start.go:276] Error starting cluster: kubeadm init error sudo /usr/bin/kubeadm init --config /var/lib/kubeadm.yaml --ignore-preflight-errors=DirAvailable--etc-kubernetes-manifests --ignore-preflight-errors=DirAvailable--data --ignore-preflight-errors=FileAvailable--etc-kubernetes-manifests-kube-scheduler.yaml --ignore-preflight-errors=FileAvailable--etc-kubernetes-manifests-kube-apiserver.yaml --ignore-preflight-errors=FileAvailable--etc-kubernetes-manifests-kube-controller-manager.yaml --ignore-preflight-errors=FileAvailable--etc-kubernetes-manifests-etcd.yaml --ignore-preflight-errors=Swap --ignore-preflight-errors=CRI running command: : running command: sudo /usr/bin/kubeadm init --config /var/lib/kubeadm.yaml --ignore-preflight-errors=DirAvailable--etc-kubernetes-manifests --ignore-preflight-errors=DirAvailable--data --ignore-preflight-errors=FileAvailable--etc-kubernetes-manifests-kube-scheduler.yaml --ignore-preflight-errors=FileAvailable--etc-kubernetes-manifests-kube-apiserver.yaml --ignore-preflight-errors=FileAvailable--etc-kubernetes-manifests-kube-controller-manager.yaml --ignore-preflight-errors=FileAvailable--etc-kubernetes-manifests-etcd.yaml --ignore-preflight-errors=Swap --ignore-preflight-errors=CRI
output: [init] Using Kubernetes version: v1.10.0
[init] Using Authorization modes: [Node RBAC]
[preflight] Running pre-flight checks.
[certificates] Using the existing ca certificate and key.
[WARNING Swap]: running with swap on is not supported. Please disable swap
Flag --admission-control has been deprecated, Use --enable-admission-plugins or --disable-admission-plugins instead. Will be removed in a future version.
failure loading apiserver certificate: the certificate is not valid yet
: running command: sudo /usr/bin/kubeadm init --config /var/lib/kubeadm.yaml --ignore-preflight-errors=DirAvailable--etc-kubernetes-manifests --ignore-preflight-errors=DirAvailable--data --ignore-preflight-errors=FileAvailable--etc-kubernetes-manifests-kube-scheduler.yaml --ignore-preflight-errors=FileAvailable--etc-kubernetes-manifests-kube-apiserver.yaml --ignore-preflight-errors=FileAvailable--etc-kubernetes-manifests-kube-controller-manager.yaml --ignore-preflight-errors=FileAvailable--etc-kubernetes-manifests-etcd.yaml --ignore-preflight-errors=Swap --ignore-preflight-errors=CRI
.: Process exited with status 1

目前試出來的 workaround 是指定 bootstrapper 為不知何時會棄用的 localkube(被 kubeadm 取代):minikube start --bootstrapper=localkube

把 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,沒有一個人是高興的,但是大家都還是恪守本分,上頭說要進辦公室,我們就進辦公室,我也拖著疼痛無比的背部與手臂,每天通勤,且通勤與午餐的支出立即狂失血。大家延續年前的進度,該修的東西就修,該做的功能就做,只是,計畫到底在哪裡?

言盡於此。