只放拖鞋的鞋櫃

在日本久居的台灣人,可以直接更換日本駕照。先提醒一下,我們台灣人的駕駛習慣直接搬到日本不大好,還是多忍住踩油門的衝動,不要哪天日本取消了這個美意,是台灣人的損失。

前一陣子換了日本駕照,在這邊紀錄一下過程。

閱讀全文 >>

這兩天有白帽 Hacker 公佈了從資料庫撈出來的普通民眾對話紀錄。內容是熱愛資料的中國政府如何傾聽人民的聲音。雖然我常跟朋友說監控在技術上可以做到多麽細膩,總覺得自己會被當成瞎操心。又或著,當我臉上露出些許對隱私的擔憂時,又可能被當成反烏托邦電影看太多的阿宅。

剛好趁著這件事情,隨意說一下我自己長久以來的想法。

閱讀全文 >>

24 號的選舉過去了一週,心情也大致沈澱。趁著還沒有遺忘太多的時候,寫下這次強者我同學在這次選舉的一些小事。我們在極度缺乏資源的情況下勝選議員,在一些地方政治參與比較深的人的眼裡,簡直難以想像。

閱讀全文 >>

沒想過會需要換兩次在留卡,只為了把漢字加上去。今天既然去了第二次,就順便記錄一下怎麼做,給其他需要的人當作參考。時間是 2018 年 11 月,未來不知道會不會有變動。

一開始申請完簽證,入境的時候會拿到一張在留卡。但是那張在留卡上面的名字是英文字,如果想要加註漢字,就要到入國管理局去更換,如果在留卡仍有兩個月以上才期滿,更換就需要自費 1300 日圓。

閱讀全文 >>

這兩年來工作的主力機是 MacBook Pro,原本的 x220 比較少出動,系統的 debian testing 也因此許久沒更新。

前幾天拿出來用 aptitude 升級套件的時候,因為衝突與相依數量太多,一度讓 aptitude 不會動。同時自己又不知道在哪個地方犯了傻,有些套件只更新到一半就重開機,結果掛載家目錄的時候失敗,一直無法開機,連 tty 都沒拿到。

所幸只是小問題,以下紀錄過程,希望能給類似的苦主一點幫助。

閱讀全文 >>

開發的過程要寫程式,寫程式我們都知道要寫測試,寫測試的時候經常看見 Stub, Dummy, Mock 等等這些名詞。使用 Testing Framework 的時候,更是經常使用到看起來功能類似,不同名稱的物件。稍微理解這些名詞的概念,使用測試框架的時候會有點幫助。

閱讀全文 >>

先講結論:這些 functions 目的是希望,執行程式碼裡面的 function literal 的時候有更好的可讀性。

Function identifier return value
let it last line of literal
run this last line of literal
also it this
apply this this

Let it Run this literal, it Also Apply this

這是我背誦記憶的口訣:Let 用 it,Run 用 this,都是回傳 function literal 最後一行的值。Also 用 it,Apply 用 this,都是回傳 this

閱讀全文 >>

This function might be the most useful one in my own scripts, and I had introduced it for several times.

Let’s say you are working in a big project such as Android Framework, or your are a command-line heavy user. The change-directory-command, cd, would be typed thounsands times per day. THAT IS SO ANNOYING!.

Try adding this function to ~/.bashrc

閱讀全文 >>

長話短說,可以用 ffmpeg 做到一些簡單的影片編輯功能,好比說

把 input.mp4 裡面 00:24:32 到 00:29:34 這段時間的影像擷取出來

1
$ ffmpeg -i input.mp4 -ss 00:24:32 -to 00:29:34 -threads 2 -y clip001.mp4

從一張圖片產生一個長度 15 秒的影片,同時把尺寸轉為 1280x720

1
$ ffmpeg -loop 1 -i image.png -t 15 -vf scale=1280:720 -pix_fmt yuv420p -y image.mp4

將一個完全沒有音軌的影片,塞入 15 秒的無聲音軌,指定頻率為 48000 Hz。

1
$ ffmpeg -f lavfi -i anullsrc=r=48000 -i image.mp4 -t 15 -c:v copy -c:a aac  -y silent.mp4

接著把幾個 mp4 檔接成一個檔案,先把它們都轉成 ts 檔,最後再接回 mp4 檔

1
2
3
4
5
6
7
$ ffmpeg -i clip0.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts -y clip0.ts
$ ffmpeg -i clip1.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts -y clip1.ts
$ ffmpeg -i clip2.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts -y clip2.ts

$ ffmpeg -i "concat:clip0.ts|clip1.ts|clip2.ts" -c copy -bsf:a aac_adtstoasc -y output.mp4

$ rm clip0.ts clip1.ts clip2.ts
閱讀全文 >>
Next →