蓋索林 Gasolin

人們總是高估一年可以完成的事,卻低估十年能完成的事

0%

先記錄下來手邊使用的工具,才有機會從繁雜中歸納出簡單的使用規則。

主要裝備

  • 💻Apple Macbook Pro 13 (2020), i5 32GB RAM, 512GB SSD,作業系統:11.0.1

  • 📱Sony Xperia 10, Android 10(Q), 6", Snapdragon 630

  • 🎧 Sony WI-1000 降噪耳機 (備用:Jabra Elite 65t)

  • U2F(兩步驟驗證): Ubikey 5 NFC, Ledger Nano S

🚶外出攜帶

  • 💻筆電, 📱手機,
  • 🔌Innergie 60C 電源, 小米移動電源3高配版
  • 🎧 降噪耳機
  • USB C/Micro USB 雙頭轉接線

🏠家

  • 🔌Macbook PRO 電源
  • 🖱羅技M720滑鼠
  • 📦Synology NAS: 電影,影集,照片,資料備份, Dropbox, Google Photos
  • 第二螢幕 🖥 iPad Air v3 透過並行功能

和去年相比的改變:

今年將多數用到的重要網路服務,除了使用隨機生成的密碼外,還再加入硬體U2F保護。

使用💻Apple Macbook Pro 13 (2020)搭配🖱羅技 M720 滑鼠。

現在的工作型態比較常在家或外出到定點工作。 今年改用使用IPad當作第二螢幕,並購入 Chromecast 將螢幕放在客廳播放 Youtube 或 Netflix 影片。

由於Macbook Pro 吃 65W 電,外出以🔌Innergie 60C 和小米行動電源3高配版供電。兩者皆可充60W,可為💻筆電與 🎮Nintendo Switch 供電。並攜帶 USB C/Micro USB 雙頭轉接線,解決大部分手機/耳機的充電問題。

我也準備了一些 USB C 轉標準 USB 接頭,方便接 Macbook 使用那些仍使用標準 USB 接頭的設備(如接 Arduino 開發板,或轉接雙頭轉接線暫時幫其他裝置充電等)。

🕸網站工具

  • 🕸主要瀏覽器:Brave
  • 瀏覽器插件
    • 拼字訂正:Grammarly
    • 密碼管理:Bitwarden
    • 分頁管理:Workona
  • 瀏覽器常駐分頁

Imgur

設計工具

  • 螢幕動畫錄製: Recordit
  • 心智圖:XMind

開發工具

  • 編輯器:VS Code
    • Blank Line at the End
    • Diff Tool
    • EditorConfig for VSCode
    • Guides: more guide line
    • GitLens: more git info
    • Settings Sync
    • solidity
    • Trailing Spaces
  • 版本控制:git
  • 套件管理:brew, nvm
  • 🛎 專注工具:🍅 Marinara 廚房計時器

娛樂工具

  • 🎮Nintendo Switch
  • 🎮Steam (少用)
  • Netflix

因為攜帶便利,現在主要只玩 NS 上的遊戲。Steam 上看到喜歡的遊戲,也盡量等 NS 上出了再買。

📱Android 手機應用

  • 🕸瀏覽器:Brave
  • 🔔網頁更新通知:Web Alert
  • 📰閱讀:Pocket, Feedly
  • ✉️信箱:Gmail
  • 🗺地圖:Google地圖
  • 記事:Keep
  • 內建相機, 內建時鐘
  • 相簿:內建相簿, Google相簿, Dropbox
  • 社交:Facebook, LINE, Twitter(網頁版)
  • 待辦事項:Habitica
  • 🔐密碼管理:Bitwarden,Yubi Authenticator(2步驟認證)
  • 📺線上影片:Youtube, Netflix
  • 音樂:Spotify
  • 有聲書:Podcast Addict
  • 🚶健康:小米運動

手機瀏覽器使用 Brave 瀏覽器。記帳使用實體筆記本+Joplin紀錄。 完整的實體筆記配置

其他工具

  • 旅遊:Google翻譯, TripAdvisor(旅遊時才裝)
  • 記錄看書狀況:Joplin
  • 線上學習:PressPlay, Youtube, Udemy
  • IFTTT Pro
  • 💳 Line Pay

Reference

我目前使用的待辦事項分類

因為 Todoist 高級版 ($29/年) 即將到期, 考量到過去一年的使用狀況,和現在需要多訂閱 IFTTT Pro (至少 $24/年),所以決定找尋替代品。

我現在用如下的分類來組織待辦事項:

本週任務
下週任務
本月任務
下月任務
長期任務
- 2020
- 2021
- 2025
- 待看片單
- 待借(買)書單
- 有一天清單

這樣的分類實在簡單到不再需要 Todoist 的高級功能,所以我只需要找個簡單的 Task Manager 來搭配 Joplin 記錄即可。

遷移後的代辦事項設定

遷移後我目前的代辦事項設定是

每日/習慣:Habitica
週-月:Trello
月-年:Joplin

Habitica 提供了待辦事項,想養成的習慣,每日任務等三大功能,並提供額外的將現實生活遊戲化的樂趣 🗡。

Habitica 只提供了一個待辦事項列表,所以我只在裡面放當週預計的待辦事項,其他的目前放在 Trello 中。跑了幾週後,接下來我預期會將 Trello 拿掉,將週-月的事項也併入 Joplin 中紀錄。

繼續量化自我

比起繼續使用 Todoist,遷移到 Habitica 還有個缺點,就是原來每完成一個 Todoist 上的待辦事項後,IFTTT 會自動幫我記錄到 Google 日曆中。Habitica 則沒有這樣的整合工具。

幸好 Habitica 雖然沒有整合 IFTTT,但是它提供了 webhook,只要填入任何網址,Habitica 在完成一些動作後,將會呼叫這個網址並傳出相關資訊。 搭配 IFTTT webhook channel,就可以做到「完成待辦事項 -> 記錄到 Google 日曆」的的功能。

透過 App Script 達成 Habitica Task 轉 IFTTT

聽起來不賴,不過事情當然沒有那麼完美,中間還有個錯位的環節。 當你想這麼做時會遇到的問題,就是 IFTTT 的 webhook 只接收特定的格式,和 Habitica 透過 webhook 傳出的格式並不相容。

要解決這問題也不困難,只要架個網站,跑個簡單的腳本,將 Habitica 傳出的資料處理一下,再送出 IFTTT 相容格式即可,這樣的東西通常叫做 API 代理(Proxy)🤪。

是是是,我也知道架網站沒那麼容易。額外租用主機的錢,可能就超過 Todoist 訂閱費了,那就完全失去原本節約的目的了。

Habitica - IFTTT API 代理

因此,我透過寫一個簡單的 Google App Script 腳本,並將 Google App Script 發布成網頁 App 的方式,來簡單自架一個個人用的 Habitica - IFTTT API 代理。

Google Spreadsheet + Google App Script 實在是相當強大,卻少有人討論的免費 Serverless 工具。 對非工程師來說感覺太複雜,對初級工程師來說,覺得它就是 Google Spreadsheet 上的 VBScript 替代品。 但其實只要稍微學習一下,可以拿來完成許多生活自動化的事情。

你可以在 https://github.com/gasolin/habitica-task-to-ifttt 取用這個 Habitica - IFTTT API 代理程式。

為何要從 gitbook 遷移

以前曾在 gitbooks 發表一些電子書。 在 gitbook 發表電子書除了可以用 Markdown 語法外,也支援一些外掛如 Mermaid 圖表等。隨著 gitbook 業務調整,已經不再維護原來的平台,因此興起了遷移的想法。

選擇 Docusaurus

在一番比較後決定使用 Facebook 的 Docusaurus。Docusaurus 裝好後同時提供首頁,部落格,文件。支援 Markdown 並支援在文件中嵌入 React 元件。

Docusaurus 還有一個非常適合技術文件的Versioning功能,如 React 函式庫需要同時提供舊版本文件供參考時,相當有用。

經過設定後,Docusaurus 可以只使用文件或部落格的部分,在加入支援 Mermaid圖表後,可以滿足我的需求。

遷移的成果

遷移的成果可參考 http://gasolin.idv.tw/learndapp/

Imgur

原始碼在 https://github.com/gasolin/learndapp

後續行動

現在我的部落格用的 Hexo 要升級模板有點複雜。以後考慮把部落格也改成Docusaurus。

在前篇發布後至今一個月,以太坊官方的 Modalla 測試網已經啟動,ETH 2 的驗證者啟動頁面(launchpad)也首次就緒。雖然尚未有新版的 EthereumOnARM ROM,但做完以下設定後,我也順利遷移到了新測試網。

Imgur

0. 準備

照著前一篇 的教學安裝好樹莓派,按照設定驗證者 (Validator) 資訊 一節做完後,跟著本篇做 Modalla 測試網的設定。

接著打開 https://medalla.launchpad.ethereum.org 網頁,我們將跟著一步步完成驗證者的設定 (使用 prysm 客戶端)。

Imgur

1. 存入 32 (test) ETH

Imgur

https://faucet.goerli.mudit.blog/ 取得 > 32 goerli (測試網) ETH

Imgur

請及早準備好 32 ETH,從存入到完成遷移 ETH 2 網路,預計需要花8小時以上。

2. 設定樹莓派

ssh 登入樹莓派,確認相關的軟體都升級到最新版本

$ sudo apt update && sudo apt upgrade

3. 產生驗證者所需檔案

下載並執行 eth2.0-deposit-cli 命令,以產生驗證者所需檔案3

cd ~
sudo apt-get install python3-pip
git clone https://github.com/ethereum/eth2.0-deposit-cli.git
cd eth2.0-deposit-cli
sudo ./deposit.sh install
./deposit.sh --num_validators 1 --chain medalla

將產生的檔案(/eth2.0-deposit-cli/validator_keys)從樹莓派複製到本機4

scp [email protected]://home/ethereum/eth2.0-deposit-cli/validator_keys/deposit_data-1596511852.json deposit_data-1596511852.json

將檔案上傳到 Launchpad https://medalla.launchpad.ethereum.org/upload-validator

Imgur

4. 設定 validator

在樹莓派上,將產生的驗證者檔案匯入 prysm

$ /usr/bin/validator accounts-v2 import --keys-dir=$HOME//eth2.0-deposit-cli/validator_keys
Enter a wallet directory (default: /home/ethereum/.eth2validators/prysm-wallet-v2):

Directory where passwords will be stored (default: /home/ethereum/.eth2validators/prysm-wallet-v2-passwords):

[2020-08-04 12:14:33] INFO accounts-v2: Successfully created new wallet wallet-path=/home/ethereum/.eth2validators/prysm-wallet-v2
New wallet password:
Confirm password:
Enter the password for your imported accounts:
Importing accounts, this may take a while...
Importing accounts... 100% [===========================================================================================================================================] [36s:0s]
Successfully imported 1 accounts, view all of them by running accounts-v2 list

可以使用 $ /usr/bin/validator accounts-v2 list 命令查看是否成功匯入。

5. 啟動 beacon 服務

如果你和我一樣有跑之前的測試網,需要先清空之前測試網的資料庫紀錄,才能順利啟動 beacon 服務。

/usr/bin/beacon-chain --force-clear-db

接著啟動 beacon 服務 (用的是 EthereumOnARM ROM 提供的 service)

sudo systemctl start prysm-beacon

運行順暢後,再啟動 validator 服務。

啟動 validator 服務

先建立 password.txt 檔案,並將密碼寫入其中

touch ~/.eth2validators/prysm-wallet-v2/password.txt
vi ~/.eth2validators/prysm-wallet-v2/password.txt

編輯 /etc/ethereum/prysm-validator.conf 檔案,將內容改為

ARGS="--wallet-dir /home/ethereum/.eth2validators/prysm-wallet-v2 --wallet-password-file /home/ethereum/.eth2validators/prysm-wallet-v2/password.txt"
sudo systemctl start prysm-validator

要查看各服務的狀態,可以用以下命令

sudo systemctl status prysm-beacon
sudo systemctl status prysm-validator
sudo systemctl status geth.service

參考資料