作者: 少年ウィンド☆

  • 20260417

    現在手上有三種 OS:Windows 11、MacOS 15 跟 LinuxMint。

    因為跑公司的專案,MacOS 完全不敢升上去,但我也不知道最新是什麼版本,反正就是拿到之後永遠都不跑更新,它現在有外接裝置有機率在登入前沒有作用的問題,不知道更新會不會解決。

    然後 Windows 11 可以更新到商店軟體打不開,小算盤跟 HDR 校正完全沒辦法跑,直到我重設系統。

    LinuxMint 不知道為什麼,VS Code 開超級慢,還好有 Vim 能用,但我最常用的那段時間大概是13年前了,現在不太熟悉。

    但反正,大概十幾年前會覺得 Linux 上手難,現在覺得付錢的系統特別坑,花錢搞自己的概念。

  • 用英國的計程車司機類比程式開發

    之前看到一個文章,印象中說是英國有種高級的計程車司機考試非常的難考,幾乎是把國家所有的地圖記在腦中。後來 Uber 崛起,本來還在說線上地圖的導航跟本無法比上這些考試出來的人,時至今日將被打敗的卻是老司機。

    那個文章用這個故事類比程式開發人員,說明我們遲早被 AI 取代。

    我也只能說,我早就說過了。雖然我當時的理由是,老闆根本不在意程式碼品質,但事實上那個品質差不到哪去,尤其是你先寫好文件載明用什麼架構、用什麼框架的時候。

    我現在接手的專案,有各種不同團隊接手過的痕跡,圖片載入一種 library 就可以完成的事,專案用三種不同的 library 來解決,比 AI 寫的差多了。

    現在連 Linus Torvalds 都在用 AI 寫程式了,我實在不覺得我害怕被取代到底哪邊不對,但總有人想說服其他人 AI 就是垃圾。

  • riverpod 3.0

    不知不覺就更新了。

    當初它還在 dev 的時候我就有試過一些東西,今天也把我直播畫面上的聊天室給更新上去了。

    在我的聊天室專案中最主要被影響到的應該是 StateNotifierProvider 被移到 legacy 了,基本上這一升級就會跑紅線出來,很容易找到。

    偷懶的做法,就是引用 legacy 的檔案,這樣程式碼本身就不用改。

    勤勞一點的話,就改用 NotifierProvider,如果是像我一樣沒有使用程式碼生成情況,要把 (ref) => Notifier() 中的 ref 給拿掉,Notifier 則要實作它的 build()。

    另外就是 StateProvider 也被丟到 legacy 了,這個比較煩,因為我覺得這個沒要做什麼的話,一行就能寫完還是比較輕鬆的。

    有用程式碼生成的是我在公司寫的範例專案,但現在公司有去限制套件庫得用公司內部的, riverpod 的升級還得申請,那邊的話就先放著吧……。

  • 16KB Memory page size

    記錄一下。

    所有提交至 Google Play 且目標為 Android 15 或更高版本的應用程式在2025年11月1日後必須支援 16KB 記憶體分頁大小,大部份的情況應該是不用做什麼調整才對,但有可能發生使用到的 library so 檔沒有做這個調整。

    這件事 Google Play Console 就有得看,進到 Test and release 分類中的 Latest release and bundles,下方 Latest app bundles 選到最新的版本,進入查看詳請,在最下方就有 Memory page size。

    點開 Show detail 就會提示有哪些檔案不符合要求。

  • 什麼大群小群的

    前陣子有個什麼日k群吵了有的沒的兩件事,一個是謊稱騷擾害人公評被害被踢群,另一個是自吹多神又多神。

    以前加過一個群,後來在裡面認識另一個小群,所以退了本來的群,所以我也沒辦法確認這個大群是不是當初那個大群。

    大群等半天才等到那個小群缺人開約,再後來大群還是等不到團,小群都開不知道幾團了。

    怎麼說,有時看到限女我就恨自己生錯性別,後來想一想反正有錢我也是自己跑去唱,當初還生氣些有的沒的真像白痴。

    話說回來,還是印證了有人地方就有江湖,只想找個團唱歌反而像是什麼難以達成的願望,總在約團以外的部份吵個沒完。

  • AI 寫程式的年代

    在公司強制使用 AI 寫程式,甚至希望我們 100% 使用 Cursor 的今天,我跟其他工程師的看法不太一樣,認為我們終會被 AI 取代的。

    為什麼?因為太方便了。

    直接跟 AI 溝通,跟我得面試一個能用的人,這邊就有時間成本上的差異了。特別是,老闆找人通常都不是只找能用,而是找高手來解決其實不需要高手就能解決的問題。

    從我進到這間公司,一直接收到跟敏捷一併宣傳的概念都是,產品要推出去才能賺錢,這個找人的時間明顯是個問題。

    其次,我在工作上也老是看其他人說要做什麼什麼彈性,以免下次要做類似的東西得花三天來重構,結果就是多花了三天把帶有彈性的功能完成,下次需求進來,這邊全部砍掉重練,花三天的彈性等於沒有彈性。你要怎麼知道你找進來的人不是這種高手?

    說到底,程式的價值不是由工程師決定,而是由賣了多少錢決定,越早開始賣,越有可能先出頭。

  • 寫程式有多少東西需要自己來?

    NPM 与 left-pad 事件:我们是不是早已忘记该如何好好地编程?

    這篇文章我久久想到就又會拿出來看一次,有時候我會覺得有個套件是省事,比方說你要在 Android 上顯示圖片,你希望它有快取、能播放 GIF ,你自己來得花多少時間?有個 Glide 省事多了。

    另外有些人注重測試,你看他下載數這麼多,這表示有很多人驗證過了。

    但有時遇到的就不是這樣。

    就一個 left-pad,寫一個能花你多少時間?有多容易寫錯?

    又比方說會遇到這個我們前團隊有用,我們寫 Flutter 應該有個狀態管理框架以方便開發,結果用下去跟官方的使用範例長的差很多,本來邏輯分離的目的全沒辦到,用 UI 元件當狀態傳出去,收到 UI 的 UI 又要寫一些邏輯來判斷該不該顯示收到的這個狀態 UI。

    這說明什麼?程式能跑就好,套件能讓你省下更多時間去思考話術,邏輯分離或設計模式講的好聽都只是為了你的官階,建議是講好一點,不要跟錢過不去。

  • 道德論

    最近劍三的古文被更新了後續。

    我問了人,為什麼別人賺錢或找砲打這麼容易?得到的回答是,你放棄道德的話你也可以。

    我一直覺得,要達到某方面的成功,出色是不夠的,實力得遠超所有的人,不然就是運氣說話。這顯然太重視道德了?

    我總在懊悔過去犯過的錯,對比沒有道德而成功的人顯得很傻。但與其為了這個放棄道德,我更希望自己從一開始就有足夠的實力不犯錯。

    人非聖賢,又如何,我總想是那個聖賢。

    後來看到「做人最基本的誠信這年頭要拿錢來換了」這句話顯得十分諷刺。

  • 啟動 Android Studio 就跑 build_runner watch

    記錄一下,因為很煩。

    這東西經常會忘記跑,尤其是產生出來的東西明明不會動到 hashcode 會變這點更煩。

    到 File -> Settings -> Tools -> Startup Tasks 新增一個 Execute 選 Script text,指令是 dart run build_runner watch,有用 fvm 的話記得加在開頭。

  • 14年

    有時候就是你也沒有很想要相信,甚至這個社會會教你一些傳統美德,努力會出頭天啊、先累積實力啊之類的。

    沒有,你運氣好就能做14年工作才被開除。

    搞不好運氣再好一點,法官還能判一個做不到新人做三個月能做完的工作的大佬復職。

    再厲害一點的話,大概就是工作18年,不會民國轉西元,但當到資訊室副主任吧。

    希望我昨天教了我的上級工程師怎麼在建構式用 super 能累積我的功德、讓我中樂透頭獎。