Skip to main content

· 3 min read

從多年前看到「夢想金字塔」一書時,就很喜歡裡面提到的概念。 書中將人生的課題分為「財務」,「家庭」,「事業」,「自我修養」,「身體健康」,「心靈健康」。「夢想金字塔」為這些課題提供了一個可參考的框架:

「財務」講的是生活中所需的金錢,擺在金字塔的頂端。當這塊出問題時,會大大影響金字塔下方的各方面。 「家庭」,「事業」是金字塔的中層,是自己與外部的觸角,影響自己,也影響其他人的生活。 「自我修養」,「身體健康」,「心靈健康」則是金字塔的基石。自我的身,心,靈狀態,是自己與所有人交流的基礎。

大部分的人不斷地在拋接這些人生課題,試圖在其中取得平衡。每個人都可以在人生的各個階段,提出自己對這些人生課題的想法(認知),或是更進一步地設定想要達到的目標。

在 2019 年的最後一日,我也試著寫下目前我認知的人生課題目標。此外,也想想是否能量化這些人生課題?

graph TD graph TD free((不用為錢煩惱)) -.-> finance(財務) happy((維持舒適且安心)) -.-> family finance --> family[家庭] finance --> career[事業] family --> health(身體健康) family --> mental(心靈健康) family --> cultivate[自我修養] career --> health career --> mental career --> cultivate influence((持續擴展影響力)) -.-> career cultivate -.-> assessibility((自由往來無礙)) health -.-> doctor_away((到老不用靠醫生)) mental -.-> confident((安定不用向外求))

2022 更新版

graph TD me(我的課題) --> finance(財務) me --> family[家庭] me --> career[事業] me --> cultivate[自我修養] me --> health(身體健康) me --> mental(心靈健康) finance -.-> free((不用為錢煩惱)) family -.-> happy((舒適且歡笑)) career -.-> influence((擴展影響力)) cultivate -.-> assessibility((自由往來無礙)) health -.-> doctor_away((到老不用靠醫生)) mental -.-> confident((安定不用向外求))

2019 原版

參考資料

[1] https://www.managertoday.com.tw/articles/view/53559

· 6 min read

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

20111年時紀錄了一次當時的個人工具箱,2016 年開始再次紀錄自己手邊工具箱的改變,後來漸漸變成了常規文章 2 3 4 5 6 7 🤹。

主要裝備

  • 💻 Apple Macbook Pro 13 (2018), i5 16GB RAM,作業系統:10.14.6

  • 📱 Zenfone 5, Android 9(Pie), Snapdragon 636, 6.2" Super IPS

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

· 3 min read

我的第二螢幕 (II)

  • [I][我的第二螢幕 - Chromecast](/make/second-screen)
  • [II] 我的第二螢幕 - Google 相簿 + 資訊面版

上一篇 中我安裝了 omxiv 讓我可以從手機控制第二螢幕,在上面播放 Youtube 影片,做到類似 Chromecast 的功能。

既然有一台開著的螢幕,在不當 Chromecast 播放影片的時候,還可以拿來做什麼哩? 不如就像 Chromecast 那樣,在不播影片時就輪播照片。最好也可以顯示時間,或是其他有用的資訊。

找了一下,發現 Magic Mirror1 也許可以滿足我的需求。Magic Mirror 的原本用途是拿來做智慧鏡子,可以在鏡子的各個角落顯示一些有用的資訊。Magic Mirror 是採用 Electron 封裝的桌面應用,可使用 Web 技術編寫擴充套件,也可以透過 CSS 修改顯示樣式。

在嘗試安裝並加入 Google Photos 擴充套件3在背景輪播,使用了一段時間後,覺得還不錯可以推薦。

以下是實機畫面:

Imgur

想要自己建立類似的第二螢幕的人,可以照著這系列 Youtube 影片2 做設定,說明的相當清楚。

以下是我的 Google Photos 設定

{
module: "MMM-GooglePhotos",
position: "fullscreen_below",
config: {
albumId: [], // your album id(s) from result of `auth_and_test.js`
refreshInterval: 1000*60,
scanInterval: 1000*60*10, // too many scans might cause API quota limit also.
sort: "random", //'time', 'reverse', 'random'
showWidth: "100%", // how large the photo will be shown as. (e.g;'100%' for fullscreen)
showHeight: "100%",
originalWidthPx: 1920, // original size of loaded image. (related with image quality)
originalHeightPx: 1024, // Bigger size gives you better quality, but can give you network burden.
opacity: 1, // target "opacity" property (https://www.w3schools.com/cssref/css3_pr_opacity.asp)
mode: "hybrid", // "cover" or "contain" (https://www.w3schools.com/cssref/css3_pr_background-size.asp)
}
},

參考資料

· 4 min read

Scratch3 擴充套件開發

最近應 s4a 社群許老師的邀請,在業餘時間研究了一下 Scratch 3,看看能做點什麼貢獻。

Scratch 3 是一套由麻省理工學院(MIT)發起,以兒童學習程式為目的所設計的視覺化編程軟體。Scratch 3 可使用堆疊積木塊的方式,來完成一般程式語言能完成的事情。

Scratch 3 除了程式語言的部分採用堆疊積木塊的方式,還提供了對應的整合的舞台,主角,並提供相對應的積木塊。你可以透過拖拉積木塊,直接控制這些主角在場景中的活動。

Scratch 3 的積木編程部分和我多年前玩過1Blockly 很相似。實際上 Blockly / AppInventor 的靈感來源就是來自於 Scratch。

在 Scratch 3 版本中,也已經將 Blockly 整合進去,作為它提供程式積木的方式。

我做了 JSON 抓取資料並解析,和空污 LASS 的擴充套件。透過這些積木,學生可以從網路上抓取最新的空氣污染狀況,然後用 Scratch 3 上場景可愛的人物口中說出來,或是視覺化的顯示結果。

例如透過 JSON 積木,連線到http://ifconfig.me/all.json取得對外的 IP

Imgur

或是透過填入設備代號,連到任一 LASS 設備,取得當地 PM2.5,溫度等資訊

Imgur

由於 Scratch 3 尚未完成第三方擴充套件的分享架構,因此這兩個擴充套件都放在 scratch3-internet2 專案中,想嘗試的人也可以直接連到3使用。

scratch3-internet2 專案的特色,是簡化了擴充套件開發前的設定工作,並很容易部署到 Github 網頁上。

技術上,scratch3-internet2 專案用了 git submodule 來抓取 Scratch 3 的相關專案,並透過 patch 的方式將自行開發的擴充套件加入其中,最後包裝成自己的版本3。透過這種方式最小化維護成本。

擴充套件需修改的部分如下(可在2中找到更詳細的文件):

graph TD Scratch3 --- |UI| GUI Scratch3 -.- |Blockly| blocks Scratch3 --- |core parser| VM VM --> src/extensions subgraph Extensions src/extensions -.- json[JSON blocks] src/extensions -.- lass[LASS blocks] end GUI --- |Define extension cards| x[src/lib/libraries/extensions/index.jsx] subgraph Extension Cards x -.- j[JSON card] x -.- l[LASS card] end

要啟動一個適合擴充套件開發的 scratch3 專案,只要照以下步驟即可:

  1. fork scratch3-internet 專案
  2. clonse repo git clone https://github.com/[your name]/scratch3-internet.git
  3. get and setup related projects npm run setup
  4. start the development server npm run start

要部署到自己的 Github 專案網頁,只需

  1. 編譯網站,npm run build,編譯好的檔案在 scratch-gui/build
  2. 部署到 Github 專案網站的 gh-pages 分支中 npm run deploy,即可透過 https://[yourname].github.io 存取。

參考資料

· 3 min read

我的第二螢幕 (I)

  • [I] 我的第二螢幕 - Chromecast
  • [II][我的第二螢幕 - Google相簿 + 資訊面版](/make/second-screen-2)

去年我買了一台 24 吋的桌上螢幕。原本構想的用途很美好,但就實際效果而言,其實並不常運用到。

想到最近比較常用到平板的功能,是拿來看 Youtube 或在 Youtube 中播音樂。有時候在手機上播,有時候是選了「稍後觀看」後再到平板上播。「從手機傳到另外一個螢幕播放」,這不就是 Chromecast 的用途嘛?

可惜前陣子已測試過,原來手上的 Chromecast 一代已經無法連上家中的網路。 那麼,是不是可以用放在一旁生灰塵的 Raspberry Pi 3 來代替哩?(不行就正好買 Chromecast 2019 或 Raspberry Pi 4

簡單查一下,只要在手機上安裝 Raspicast 並在樹莓派上安裝omxiv,就可以投影 Youtube,照片等內容到螢幕上。就現在的需求來說很夠用了。

先簡單這樣,試試看接下來這第二螢幕的開機率是否有提升吧。

第二螢幕有沒有搞頭?

Raspberry Pi 這樣的硬體,要拿來做主要電腦還是有些勉強。 但如果手上有一台,作為 Chromecast 代替品還是堪用的。

而除了替代 Chromecast 功能,作為工作環境中的第二塊螢幕的 OS,它還能透過安裝不同的軟體,為我帶來什麼幫助呢?

如果要設計一套適合第二螢幕使用的 OS,應該具備什麼樣的功能哩?

參考資料