Playnite 真的是個很賞心悦目的遊戲啓動器,可以好好培養玩遊戲的習慣了。在注意力經濟時代,我才開始覺得能堅持玩遊戲的人很了不起。
只要把軟件的入口設計得毫無阻力,就能得到用户的喜愛,就連我自己也不例外。要把這種 UI 設計的力量用在正道上。
Playnite 真的是個很賞心悦目的遊戲啓動器,可以好好培養玩遊戲的習慣了。在注意力經濟時代,我才開始覺得能堅持玩遊戲的人很了不起。
只要把軟件的入口設計得毫無阻力,就能得到用户的喜愛,就連我自己也不例外。要把這種 UI 設計的力量用在正道上。
grill-with-docs (github) 是很好,在第一次開始做的時候就已經能得到前人的經驗,考慮所有偏門的狀況,第一次就做到完美。但是如果是在可以隨意犯錯的環境,靠自己的力量做出一個個短視的決定,然後在開發新的時候彌補過錯,才能更確實地累積經驗。
git branch 和 git merge。$$\binom{n}{0} + \binom{n}{1} + \cdots + \binom{n}{n} = 2^n$$
這個定理原來是這麼顯而易見的!這是因為我在研究 Stenograph Keyboard 的按鍵組合:
Stenograph Keyboard 鍵有四個元音鍵 AOEU,可以同時按下,總共能代表多少種元音組合?
如果是為了計算答案,就會用「每個按鍵有兩個可能的狀態,所以是二的四次方」這種作弊的方法思考。
但真的需要使用 EU、AO 這種組合鍵代表不同輔音的時候,真的要把所有組合列出來的時候,我就完全忘記了這回事,而是會用「n 個鍵的組合有多少」來思考。
自然就會從 $C_{1}^{n}$ 開始一路數到 $C_{n}^{n}$
得出結論,總組合數就是
$C_{1}^{4} + C_{1}^{4} + \cdots + C_{4}^{4}$,這個是帕斯卡三角形第四層的總和減一。
等到我突然想起還能用二次方計算的時候,這個定理也就重新被我發現了。明明學離散數學的時候完全不明白。
特別是我根本不會去考慮 $C_{0}^{4}$ 的情況,因為什麼都不按根本不能用來代表一個元音。所以是 $\binom{n}{1} + \binom{n}{2} + \cdots + \binom{n}{n} = 2^n - 1$。乾脆把三角形的左邊的一排 1 劃掉好了。
不工作跑去研究工具是沒有好下場的。不過 Super Productivity 和 ActivityWatch 用起來都不錯。要怎樣運用徹底監控電腦使用時間得到的數據,才能把生活變成數值管理遊戲?不過總之先記錄,其他問題以後再想。
我想破頭之後總算明白了,我手上的時間管理工具在功課上派不上用場。
待辦清單適合處理繁瑣的工作,但我通常只有四五份功課,根本不需要特意記下來,每一份又要花幾天才能做完,一定要先拆成一個個簡單的步驟,才能放進待辦清單,但沒做過,又怎麼知道任務能不能拆開?空泛地亂拆又沒有用。
這樣一來,似乎根本不需要用什麼時間管理工具,埋頭苦幹一天做完就行了。但「埋頭苦幹一天」太嚇人了,結果只會拖着,永遠不會開始。而且,一天做完的作業質量肯定不好。和寫文章一樣,要每過幾天重新看一次,不斷修改才可以。
靠軟件幫忙安排工作,一邊做一邊分拆任務,把拆開的任務分成很多天處理,每次只做一小部分,減輕內心的恐懼,是最好的做法。但是軟件的排程不會理會截止日期,沒法保證一定能在規定的時間內完成。
説到底,截止日期這個概念本來就是想當然的產物。如果能明確地預測工作時間的話,就直接用那個時間好了。但工作時間當然是無法預測的,只能設一個過分充裕的期限,讓人變得拖拖拉拉。
我理想的時間管理工具該有的要素:
有了會很好:
雖然把一大堆工具合併起來用就能滿足上面的所有要求,但如果還是要奢望有一個萬能的合體機器人的話,就只會走上 emacs 的不歸路。怎麼辦,好像很吸引人……
又不小心研究了一會 emacs,因為 orgdown 的語法好像比 markdown 好。練習快捷鍵除了輸入的時候比較爽快沒有什麼意義。我很滿意 vim。過早的優化是萬惡之源。有些人連盲打都不會呢,照樣能寫出好的程序。
記錄行動的目的不是獲得數據,而是用記錄作為行動的開關,有意識地「浪費」時間。逃避結束的時候同時結束記錄,作為切換狀態的訊號。計時是讓無意義的按按鈕儀式變得有意義的把戲,順帶能了解自己的習慣,知道自己真正需要多少逃避的時間。主動搞清楚自己的娛樂有多少是需求,多少是逃避,多少是無意識的習慣。
被動地用軟件記錄,或者記錄不會重複的事件都是沒有意義的。
正正是因為這是個沒有意義的儀式,才有了能不讓人反感地堅持的機會。
逃避行為:
思考抽象宏大的問題
學習不迫切的知識
觀看流行的新聞和娛樂影片
搜尋新的音樂
發呆、踱步
無目的地聊天和抱怨
寫反省的文章
研究新項目
重温喜歡的故事
沉溺幻想
無限滾動是沒有辦法抵抗的
另一方面,按鈕也可以當作像番茄鐘一樣的啓動器。面對不想面對的事情,只要自己確定了要去做,就按下去。和番茄鐘不一樣的是,沒有強制要做多久。只要誠實地確認行動的開始和結束就可以。
不是所有時間都是需要記錄的,像是通勤時間和上課時間一樣,無法避免的不受控時間沒有必要記錄。不過還是看自己的感覺能不能掌控。
爲了讓系統不會失敗,還有一個逃脫按鈕,當你確認自己不想確認自己的行動的時候,就按下去。要是連逃脫按鈕都按不下去的話,無論處於什麽狀況,都毋庸置疑是不受控的時間,所以也不用愧疚。
做了輔助工具,但輔助工具本來會帶來更多的工作量的時候,就有應該先做哪個的問題
如果不用別人寫好的工具,到底要怎麼做出有圖形界面的程序呢?簡單的編程練習總是在純文字的界面打轉。需要用到圖形界面的時候,就要導入一些神奇的函式庫。
只是自己寫給自己用的話,軟件根本不需要有圖形界面,在終端裏輸入命令就足夠了。
要和操作系統交互才能畫出窗口,所以需要導入函式庫和用 C++,Python 本身是做不到的。
how to make gui in python without tools (stackoverflow)
瀏覽器是最通用的渲染引擎,所以用網站做 UI 應該是最簡單的……
UI 也算是數據可視化的一種吧?
UI 是狀態機,所以應該用狀態機圖來設計。Construct User Interface with Statecharts 這本書説明了,最基礎的狀態轉移圖 (State Transition Diagram) 根本不可能用來描述複雜的軟件,一定要使用帶有層級、記憶、分離等常見模式的符號的 Statechart,才能把狀態數量壓縮到可理解的狀態。
我覺得這本書太着重符號的定義了,對於個人開發來説是過度工程。而軟件沒有實體,定義狀態本身就不容易,狀態轉移式的代碼也和 JavaScript 的 event action 設計模式不太適配。
AI 寫代碼看似是無本生利,但確實是有代價的。本質是用學習動機和創作欲望作爲抵押,借來馬上得到的成果和能完成事物的信心,只是一般人不把這些當作是代價而已。你真的能利用這些預支的資產,繼續產生動機和知識嗎?
當你以為自己完成了 90% 的工作的時候,距離能正式交付其實還差 50%。這是讓自己滿意和讓別人滿意的差距。AI 拿走了前 90% 的成就感,還要接着完成剩下 50% 的工作。當然這剩下的工作也可以讓 AI 來做,但是因為自己對工作沒有投入任何感情,所以不會容忍任何不符合自己預期的地方。
2026-06-11
「僅僅想要讓事物誕生,不是自己做的也沒關係。」要有這種想法,才適合在項目裏面應用 AI。
對了,可以直播!和博客的異步邏輯是一樣的!只需要宣告存在,不知道有沒有人在看,不需要互動和評價的社交方式!
但是應該播什麼呢?我很不喜歡被監視的感覺。
培養習慣的時候,不要期望有太完美的紀律。自己的習慣的意義,是敵不過外部要求的意義的。如果習慣的意義依賴紀律,一旦被外部壓力打亂節奏,就很難重拾回來。
無論在什麼時候中斷習慣,過程的記錄和成果都要有獨立的意義。這樣無論過了多久以後,都不是從零開始。