2026年9月3日 星期四

預測2031/1/1可能 TWCA 憑證 IOS會出現不信任

緣由:
TWCA CYBER Root CA
有兩張、兩個效期 (2030、2047年到期)

推測TWCA 預計 2030年12月會停用:

  • TWCA CYBER Root CA (2030 年到期)
  • TWCA Global Root CA

改用啟用:
TWCA CYBER Root CA (2047 年到期)

IOS系統可能還會抓到2030年那張,
但是效期已過,判斷為不信任

解法:

果斷停用

  • TWCA CYBER Root CA (2030 年到期)
  • TWCA Global Root CA

啟用或匯入

  • TWCA CYBER Root CA (2047 年到期)

最後祝大家,
2031/1/1新年快樂,
我的解法有問題不要找我XD
當天沒發生問題也恭喜大家有個好年可以過~!

2025年11月20日 星期四

[AI 小說]冬陰功:躬身入局

 

片名:《冬陰功:躬身入局》 (Tom Yum Kung: The Bow)

核心隱喻:

  • 冬 (Tom): 煮沸、翻滾(熱血/陽剛)
  • 陰 (Yum): 攪拌、混合(調和/陰柔)
  • 功 (Kung): 蝦(本體/肉身),音同「功」(功夫/修煉)

​第一幕:問拳 (The Question)

場景: 破曉前的湄南河畔,霧氣未散。嚴師傅的移動河粉船。

嚴師傅正在磨刀,刀聲霍霍。

阿亮站在船頭,急躁地問:「師傅,我練拳三年,拳風剛猛,為什麼你總說我『味』不對?到底什麼是上乘武功?」

​嚴師傅停下磨刀,指著招牌上的泰文:Tom Yum Kung

「阿亮,你知道這三個字怎麼解嗎?」

​阿亮不屑:「三歲小孩都知道。『冬』是煮,『陰』是拌,『功』是蝦。煮拌蝦湯,有什麼好解的?」

​嚴師傅冷笑,眼神如電:「錯。這不是菜名,是心法。你只懂『冬』的狂熱,不懂『陰』的調和,更看不見『功』的姿態。今日,為師讓你看看真正的——冬、陰、功。」

​第二幕:冬之烈 (Tom: The Boiling Fury)

​爐火暴起。嚴師傅單手提起高湯桶,猛力注入鐵鍋。

嘩啦! 水聲如巨浪拍岸。

【特寫】

水瞬間沸騰。嚴師傅抓起一把南薑香茅

冬(Tom),是激盪!」

​他沒有切菜,而是用內勁將南薑震裂,香茅折斷。

啪!啪!

佐料入水,在沸水中瘋狂翻滾。這就像阿亮的拳法,剛猛、直接、充滿熱能。辣氣蒸騰,那是毫無保留的釋放。

​「這是你的拳,只有火氣,沒有餘地。」嚴師傅大喝。

​第三幕:陰之柔 (Yum: The Mixing Harmony)

​突然,嚴師傅撤火。鍋中狂暴的沸騰瞬間平息。

阿亮一愣:「氣洩了?」

​「蠢材。這叫陰(Yum),是接納。」

​嚴師傅此時動作變得極慢,如太極推手。

他擠入青檸汁,倒入魚露,最後淋上椰奶

酸與辣本是仇敵,魚露的腥與椰奶的甜本不相容。但在「陰」的手法下,嚴師傅用勺背輕輕旋轉,將這些衝突的元素強行揉合。

​湯色從狂暴的清紅變成了溫柔的橘白。

「剛不可久,柔不可守。懂得『陰』的攪拌,才能化解『冬』的暴戾。」

​第四幕:功之變 (Kung: The Transformation)

​「最後,是功(Kung)。」

嚴師傅指向那隻通體青灰的大頭蝦(River Prawn)。

​「蝦活著的時候,是直的,身披硬甲,就像現在的你,寧折不彎。」

嚴師傅將蝦拋入滾燙的湯中。

【超微距慢動作鏡頭】

蝦入湯。

高溫(痛苦)襲來。

蝦殼在熱力下迅速變紅(覺醒)。

緊接著,蝦身開始劇烈收縮。它不再直挺挺地對抗,而是順著熱力,將頭與尾向內捲曲。

​嚴師傅聲音低沉:「看清楚了。蝦熟透的那一刻,是什麼姿勢?」

​阿亮盯著鍋裡。

那隻紅透的蝦,頭尾相接,身體彎曲成一個完美的圓弧。

那樣子,像極了一個人在深深地鞠躬,又像是一個緊握的拳頭。

​第五幕:迴響 (The Echo)

​嚴師傅將湯盛出。

那隻紅蝦,如同朝聖者般,躬身臥在橘紅色的湯汁中央。

​「喝。」

​阿亮端起碗,一口飲盡。

酸、辣、鹹、甜、香,五味在口中爆炸,卻又完美平衡,沒有一絲突兀。這股暖流直衝丹田,讓他原本緊繃的肌肉瞬間放鬆。

​他看著碗底剩下的那隻蝦。

原本青灰僵硬的「直」,經過水火試煉,變成了鮮紅美味的「曲」。

阿亮猛然抬頭,眼神中的戾氣消散了。

他終於明白了師傅開頭的問題。

​「師傅,我懂了。」

阿亮後退一步,雙手抱拳,身體緩緩下彎,脊背捲曲的角度,竟然與碗中的那隻熟蝦一模一樣。

​「是歷練的火,是包容的心……」

阿亮抬起頭,看著嚴師傅:

「而功(Kung),不是蝦,是懂得低頭。只有熟透的強者,才懂得鞠躬。」

【鏡頭拉遠】

嚴師傅微微一笑,將一碗冬陰功遞給鏡頭(觀眾)。

「趁熱,修煉去吧。」

(畫面定格在碗中那隻躬身的紅蝦,與阿亮鞠躬的背影重疊)

2025年8月27日 星期三

Lit 元件強制刷新 Lit Web Component forced refresh

    @state() forceUpdate: boolean = false;
    render() {
        if (this.forceUpdate) {
            return nothing;
        }
    }
    /** 強制刷新 by mowei */
    async forceRequestUpdate() {
        this.forceUpdate = true;
        this.requestUpdate();
        await this.updateComplete;
        this.forceUpdate = false;
    }

2025年6月29日 星期日

編譯 Lit bundle js

package.json

{
  "name": "lit-bundle-build",
  "type": "module",
  "scripts": {
    "build": "rollup -c"
  },
  "dependencies": {
    "lit": "^3.3.0"
  },
  "devDependencies": {
    "@rollup/plugin-commonjs": "^28.0.6",
    "@rollup/plugin-node-resolve": "^16.0.1",
    "@rollup/plugin-terser": "^0.4.4",
    "rollup": "^4.44.1"
  }
}

rollup.config.js

import { defineConfig } from 'rollup';
import resolve from '@rollup/plugin-node-resolve';
import commonjs from '@rollup/plugin-commonjs';
import terser from '@rollup/plugin-terser';

export default defineConfig({
  input: 'entry-bundle.js',
  output: {
    file: 'dist/lit-all.bundle.js',
    format: 'esm',
    sourcemap: false,
    plugins:[terser({
      format:{
        comments:false
      }
    })]    
  },
  plugins: [
    resolve({ browser: true, exportConditions: ['default', 'module'] }),
    commonjs(),
    terser(),
  ],
  treeshake: true
});

entry-bundle.js

export { LitElement, html, css, svg } from 'lit';
export {  customElement,  property,  state,  query,  queryAll,  eventOptions} from 'lit/decorators.js';

編譯指令

npm install lit
npm install --save-dev rollup @rollup/plugin-node-resolve @rollup/plugin-commonjs @rollup\plugin-terser
npm run build

import

import { LitElement, css, html } from './lit-all.bundle.js'
import { customElement } from './lit-all.bundle.js'

2024年12月20日 星期五

蘑菇蘑菇咕咕雞

夢中,我的旅程開始於一個神秘的印度轉機站,目的地卻不明。飛機上,我遇到了一個像 Kobo Kanaeru 的女孩。她活潑可愛,說話帶著印度口音,但又像在模仿網紅般的風趣。她用英語向我介紹當下的景點,提到了一座超長的橋或峽谷,說長達 "1 million"(一百萬?),但我完全聽不懂,想表達你好厲害,但完全不知道英文該怎麼說,只能尷尬地微笑點頭。

落地後,我和這個女孩在一個戶外咖啡廳的座位上聊天。她興奮地提到一家名為「MoKumoku bukubuku」的碳烤餐廳,還說這是她最愛的地方之一。我們聊了許多,她提議晚上六點半一起逛街。我提到我的姐姐也一起來到這個城市,或許可以一起同行。回到飯店後,我果然看見姐姐正在辦理入住,我跟她說了這個計畫,她也爽快地答應一起去。

到六點半時,我、姐姐和女孩碰面,開始愉快地聊天。

談話間,女孩突然拿出一張照片,是當年我當兵的一位組長照片。她沒有多說什麼,只是微微一笑,把照片放在桌上。我看著那張照片,腦海中開始浮現各種可能性,這張照片和我有什麼關聯?她似乎在暗示什麼,讓我不禁聯想到我前女友。我的前女友正是我們組長的姐姐,而這個女孩的年紀和模樣,讓我開始懷疑她可能與我前女友有關,甚至可能是她的女兒。但她並沒有明說,一切都只是我的猜測。


氣氛變得微妙,女孩忽然說她要離開,匆匆跑去找一位男子。姐姐看著她的背影,低聲提醒我:「她可能有別的企圖,小心點。」不久後,女孩果然帶著那位陌生男子回來,試圖說服我們去另一間他們推薦的飯店住。男子信誓旦旦地說,那邊免費且服務更好,但他們的態度讓人感覺不對勁。

我不禁心生警惕,試探地問女孩:「這到底是什麼意思?為什麼非要我們去那間飯店?」女孩含糊其詞,只說那裡環境更適合我們,還暗示有其他驚喜。我直接回絕了她的提議,表示不需要任何免費服務。女孩的表情瞬間變得複雜,但沒有繼續勉強。

最後,女孩與那男子無奈離開。姐姐在旁邊冷笑道:「看吧,我就說是個陷阱。」

我望著他們的背影,心中思緒翻湧,最後忍不住嘀咕:「這是什麼最新的詐騙手段嗎?」



2024年11月6日 星期三

Ollama AMD GPU 支援

AMD Radeon RX 6300(gfx1034)為例
本次為官方不支援 LLVM Target

參考

ollama-for-amd

安裝ROCmLibs for HIP SDK 6.1.2

AMD HIP SDK for Windows
官方支援GPU

下載ollama

https://github.com/likelovewant/ollama-for-amd/releases

執行Ollama

於資料夾執行ollama:

ollama serve

AMD Radeon RX 6300 為gfx1034 LLVM Target
回應不支援GPU:

msg="amdgpu is not supported (supported types:[gfx1030 gfx1100 gfx1101 gfx1102 gfx906])" gpu_type=gfx1034 gpu=0 library="C:\\Program Files\\AMD\\ROCm\\6.1\\bin"

下載gfx1034 ROCm

https://github.com/likelovewant/ROCmLibs-for-gfx1103-AMD780M-APU/releases/tag/v0.6.1.2

將rocblas.dll及library 備份後刪除

C:\Program Files\AMD\ROCm\6.1\bin\rocblas.dll
C:\Program Files\AMD\ROCm\6.1\bin\rocblas\library

將下載後的gfx1034 ROCm解壓後放置於
C:\Program Files\AMD\ROCm\6.1\bin\rocblas.dll
C:\Program Files\AMD\ROCm\6.1\bin\rocblas\library

重新執行

執行ollama:

ollama serve

本次已找到適應版本

msg="inference compute" id=0 library=rocm variant="" compute=gfx1034 driver=6.1 name="AMD R

2024年6月14日 星期五

Visual Studio Installer Projects 管理員權限安裝

 View -> 啟動條件->加入啟動條件

Condition:Privileged

Message:[ProductName] requires administrative privileges or elevated privileges.  Setup will now exit.

預測2031/1/1可能 TWCA 憑證 IOS會出現不信任

緣由: TWCA CYBER Root CA 有兩張、兩個效期 (2030、2047年到期) 推測TWCA 預計 2030年12月會停用: TWCA CYBER Root CA (2030 年到期) TWCA Global Root CA 改用啟用: TWCA CYBER ...