y3k@home:~$

  • Github CI

    最近Github有了Actions功能,就是個CI(Continious Integration)。 之前自己在玩CircleCI,覺得還不錯,也已經在各式開源專案看人用過了;本來在考慮自己的開源專案會需要這東西做自動化,甚至考慮目前私有的專案開放出來,結果Github就自己弄出來了XDD Github的Actions也不是完全免費的,每月有固定的運算分鐘數可供使用,用超過要給錢吧..?遇到再說。 Github也提供了跟其他CI一樣的Badge功能,連結格式是這樣: https://github.com/{owner}/{repo}/workflows/{workflow_name}/badge.svg 寫成markdown的話: [![Actions Status](https://github.com/{owner}/{repo}/workflows/{workflow_name}/badge.svg)](https://github.com/{owner}/{repo}/actions) 本來有擔心這個連結外露的風險,後來發現Github有做permission check的動作,對Repo沒權限的人是看不到圖的。 紀錄一下在Android專案上遇到的一點坑: lint會需要取消abortOnError的機能,像我就遇到不明所以的package reference error,是org.apache的包搞出來的。 gradlew執行檔會需要先chmod +x再行commit給權限。Windows下則要用git update-index處理。 Update: 可以在yml裡面加一個job去chmod。 一些Note: 鄉民做的Action例,把build出的debug apk publish到github專案的Release上。https://github.com/ShaunLWM/action-release-debugapk !!重要:如果直接用master branch會導致infinite loop一直跑build,要記得將workflow對應到另一個release之類的branch接聽事件。 總之暫時先不用搞CircleCI了,爽耶XDD

  • Brainfuck to C

    剛剛看到鄉民在問,於是去找了一個看起來能跑的BrainFuck程式碼。(https://www.quora.com/What-is-the-most-complex-program-written-in-the-Brainfuck-language) 但是又懶得去弄Compiler,怎麼辦呢….,就試著去找了C轉譯器,結果還真的有,而且只是用Python寫的一個小工具。 最後轉出來的.c再compile,還真的跑出來XDDD 順便也把bftoc做fork下來。其實看轉出來的C,就不難看懂BrainFuck在玩什麼了。

  • Rapid Environment Editor

    今天打command line指令發現自己寫的node module叫不出來,這才發現Windows的PATH變數爆掉,原來我真的有幸遇得到這天…. 面對已經太長的環境變數,我查到可以用分割的方式宣告,但這樣做又怕在更新的時候出錯。 在鄉民推薦下試了這個Rapid Environment Editor,這個維護工具親身測試還不錯用,非常方便。大致說明基本使用方式,我自己目前也只用到這些步驟而已…XD 開始之前建議不知道什麼是Path變數的先去溫習一下,這是跟系統穩定性有關的設定,亂設系統會壞掉要重灌。 視窗的右半部跟左半部分別是個人變數與系統變數;如果要編輯系統變數則需要按按鈕取得權限… 開啟後先把標紅的項目刪一刪… 標紅表示那個項目在檔案系統中已不存在,如果是出現在Path以外的地方建議弄清楚是什麼再下手。 刪完之後再按右鍵Cleanup paths 最後記得要儲存,這樣基本上維護就完成了。 上面會注意到,他右鍵選單還有縮短path變數(Convert long path to short)的功能,做法就是把某些變數變成早期DOS的那種毛毛蟲~結尾的長檔名變體,但這種做法很可能導致不必要的問題,所以我沒有利用之。