好習慣難維持,壞行為無法改掉,除了藉口很大的原因是因為用錯方法,我將教大家用更科學化-「跨理論模式」,來讓改變更容易成功,放心課程中沒有艱深晦澀的科學名詞,我給大家的是實際可以執行的技巧。
好習慣難維持,壞行為無法改掉,除了藉口很大的原因是因為用錯方法,我將教大家用更科學化-「跨理論模式」,來讓改變更容易成功,放心課程中沒有艱深晦澀的科學名詞,我給大家的是實際可以執行的技巧。
朋友有要開公司的疑問,我才發現「原來開業能有這麼多內心掙扎」,結合「老婆家專業」與「我過去心得」,並集結一些「公司命名、資本額、營業項目、商標、記帳」心得與資源,分享給「偉大的開創者們」。
WIN11新版的設定找不到幫不同螢幕設定不同桌布的地方,又不想裝第三方軟體,上網找了一下原來舊版設定就做得到,只是藏得太深,紀錄並分享一下,以免AI幫我做太多帥圖,沒得顯示太可惜了

要開啟舊版桌布設定最簡單的方式是用
Win按鍵 + R 叫出 執行 視窗

然後貼上
shell:::{ED834ED6-4B5A-4bfe-8F11-A626DCB6A921} -Microsoft.Personalization\pageWallpaper
按下 確定 就可以到舊版的桌布設定頁面,對 想要的桌布 按下 滑鼠右鍵,就可以選要在哪個螢幕顯示了!

非常簡單又安全,不用裝其他程式員生最好,真不懂為何這麼基本的需求WIN11要藏這麼隱蔽XD
最後分享一下AI幫我做的帥圖,實在太帥拉!兩個螢幕兩張都能顯示不同桌布實在太開心了!

最後我是看這網頁找到方法的,他還有其他方法可用,如果上面這招沒效的話,可以參考這個網頁,我這次用的是[Option Two]

最近Codex更新很快,之前Win11 PowerShell 7可以用「Codex update」更新cli版本最近但我兩台Win11都不約而同更新就噴錯誤,後來找到用這指令忽略Get-FileHash 的錯誤即可,我想OpenAI自己之後會修,但還不行時就先用下面這個指令直接下載執行即可
powershell -ExecutionPolicy Bypass -c '$env:CODEX_NON_INTERACTIVE=1; irm https://chatgpt.com/codex/install.ps1 | iex'

用完就能成功更新了,如果上面指令不行就不用糾結浪費時間了,直接重裝Codex cli就好
npm install -g @openai/codex
我補充一下遇到的錯誤是這個,希望對遇到同樣問題的朋友有幫助
codex update
Updating Codex via `powershell -ExecutionPolicy Bypass -c '$env:CODEX_NON_INTERACTIVE=1; irm <https://chatgpt.com/codex/install.ps1> | iex'`...
==> Updating Codex CLI from 0.142.5 to 0.144.3
==> Detected platform: Windows (x64)
==> Resolved version: 0.144.3
==> Downloading Codex CLI
iex : 無法辨識 'Get-FileHash' 詞彙是否為 Cmdlet、函數、指令檔或可執行程式的名稱。請檢查名稱拼字是否正確,如果包含路徑的
話,請確認路徑是否正確,然後再試一次。
位於 線路:1 字元:75
- ... EX_NON_INTERACTIVE=1; irm https://chatgpt.com/codex/install.ps1 | iex
- `~~~`
- CategoryInfo : ObjectNotFound: (Get-FileHash:String) [Invoke-Expression], CommandNotFoundException
- FullyQualifiedErrorId : CommandNotFoundException,Microsoft.PowerShell.Commands.InvokeExpressionCommand
Error: `powershell -ExecutionPolicy Bypass -c '$env:CODEX_NON_INTERACTIVE=1; irm <https://chatgpt.com/codex/install.ps1> | iex'` failed with status exit code: 1
這時還是先用NPM版本吧
npm install -g @openai/codex@latest
codex --version
但很高機率,出來的會是舊版本,這是因為你已經有兩套不同安裝方式的Codex,然後環境執行順序的關係,你會一直執行到舊的,這邊提供安全的做法
這個結果已經確認:你目前有兩套 Codex CLI。
1. Standalone 版
C:\Users\***\AppData\Local\Programs\OpenAI\Codex\bin\codex.exe
2. npm 版
C:\Users\***\AppData\Roaming\npm\codex.ps1
C:\Users\***\AppData\Roaming\npm\codex.cmd
C:\Users\***\AppData\Roaming\npm\codex
後面三個檔案都是同一套 npm 安裝產生的啟動器,不是三套不同安裝。官方文件目前同時提供 Windows 與 npm 安裝選項。(OpenAI 開發者)
PowerShell中執行:
& "$env:LOCALAPPDATA\Programs\OpenAI\Codex\bin\codex.exe" --version
& "$env:APPDATA\npm\codex.cmd" --version
預期很可能是:
Standalone:0.144.3
npm:0.144.4
因為 Standalone 更新器現在遇到 Get-FileHash 問題,最穩妥的方式是先將 npm 版設為主要版本。
先確保 npm 版更新完成:
npm install -g @openai/codex@latest
& "$env:APPDATA\npm\codex.cmd" --version
執行:
function codex {
& "$env:APPDATA\npm\codex.cmd" @args
}
然後驗證:
Get-Command codex
codex --version
此時 Get-Command codex 應顯示 Function,而版本應為:
codex-cli 0.144.4
這只影響目前的 PowerShell 視窗,關閉後會失效。
請用一般使用者身分開啟 PowerShell,不需要系統管理員,依序執行以下指令。
$npmPath = "$env:APPDATA\npm"
$standalonePath = "$env:LOCALAPPDATA\Programs\OpenAI\Codex\bin"
$npmPath
$standalonePath
應顯示:
C:\Users\***\AppData\Roaming\npm
C:\Users\***\AppData\Local\Programs\OpenAI\Codex\bin
$userPath = [Environment]::GetEnvironmentVariable("Path", "User")
$userPath | Set-Content `
-Path "$env:USERPROFILE\Desktop\user-path-backup.txt" `
-Encoding UTF8
備份會放在:
C:\Users\***\Desktop\user-path-backup.txt
整段貼上執行:
$npmPath = "$env:APPDATA\npm".TrimEnd("\")
$standalonePath = "$env:LOCALAPPDATA\Programs\OpenAI\Codex\bin".TrimEnd("\")
$userPath = [Environment]::GetEnvironmentVariable("Path", "User")
$otherPaths = @(
$userPath -split ";" |
ForEach-Object { $_.Trim() } |
Where-Object { $_ } |
Where-Object {
$current = $_.TrimEnd("\")
-not $current.Equals(
$npmPath,
[System.StringComparison]::OrdinalIgnoreCase
) -and
-not $current.Equals(
$standalonePath,
[System.StringComparison]::OrdinalIgnoreCase
)
}
)
$newUserPath = @(
$npmPath
$standalonePath
$otherPaths
) -join ";"
[Environment]::SetEnvironmentVariable(
"Path",
$newUserPath,
"User"
)
這會:
永久設定只會自動套用到之後開啟的程式。若要讓目前視窗立即生效,執行:
$env:Path = @(
[Environment]::GetEnvironmentVariable("Path", "User")
[Environment]::GetEnvironmentVariable("Path", "Machine")
) -join ";"
Remove-Item Function:\codex -ErrorAction SilentlyContinue
Remove-Item Alias:\codex -ErrorAction SilentlyContinue
然後關閉目前 PowerShell/Windows Terminal,重新開啟一個新視窗。
Get-Command codex -All |
Select-Object CommandType, Name, Source
npm 版應排在 Standalone 版前面,例如:
ExternalScript codex.ps1 C:\Users\***\AppData\Roaming\npm\codex.ps1
Application codex.cmd C:\Users\***\AppData\Roaming\npm\codex.cmd
Application codex C:\Users\***\AppData\Roaming\npm\codex
Application codex.exe C:\Users\***\AppData\Local\Programs\OpenAI\Codex\bin\codex.exe
再確認實際執行版本:
codex --version
以及 Windows 搜尋順序:
where.exe codex
第一筆應該是:
C:\Users\***\AppData\Roaming\npm\codex.cmd
改用 npm 更新,不再執行 codex update:
npm install -g @openai/codex@latest
codex --version
若 PowerShell 因執行原則拒絕執行 codex.ps1,可固定呼叫:
codex.cmd --version
或設定目前使用者允許本機腳本:
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned
到這裡就理論上已經能使用。
目前官方文件只有安裝/更新指令,尚未提供 Windows standalone 的正式解除安裝命令;OpenAI 官方 GitHub repo 也有一個專門要求補上 uninstall 流程的 issue。因此現階段需手動移除 standalone 的 PATH、啟動入口與套件快取。(OpenAI 開發者)
以下操作會:
Standalone CLI 使用:
%LOCALAPPDATA%\Programs\OpenAI\Codex
%USERPROFILE%\.codex\packages\standalone
Codex Desktop 的本機 runtime 則主要位於:
%LOCALAPPDATA%\OpenAI\Codex
兩者不要混淆。(GitHub)
先完全關閉:
然後開啟一個新的普通 PowerShell,不需要系統管理員。
$npmCodex = "$env:APPDATA\npm\codex.cmd"
if (-not (Test-Path -LiteralPath $npmCodex)) {
throw "找不到 npm 版 Codex:$npmCodex,停止移除 standalone。"
}
& $npmCodex --version
確認有正常顯示版本後再繼續。
整段複製到 PowerShell 執行:
$standaloneRoot = "$env:LOCALAPPDATA\Programs\OpenAI\Codex"
$standaloneBin = "$standaloneRoot\bin"
$standalonePkg = "$HOME\.codex\packages\standalone"
# 確認 npm 版仍存在
$npmCodex = "$env:APPDATA\npm\codex.cmd"
if (-not (Test-Path -LiteralPath $npmCodex)) {
throw "找不到 npm 版 Codex:$npmCodex,已停止操作。"
}
Write-Host "npm Codex 版本:" -ForegroundColor Cyan
& $npmCodex --version
# 備份目前的使用者 PATH
$userPath = [Environment]::GetEnvironmentVariable("Path", "User")
$desktop = [Environment]::GetFolderPath("Desktop")
$backup = Join-Path $desktop (
"user-path-before-codex-standalone-removal-{0}.txt" -f
(Get-Date -Format "yyyyMMdd-HHmmss")
)
Set-Content -LiteralPath $backup -Value $userPath -Encoding UTF8
Write-Host "PATH 備份:$backup" -ForegroundColor Green
# 從使用者 PATH 移除 standalone bin
$targetPath = $standaloneBin.TrimEnd("\")
$newUserPath = @(
$userPath -split ";" |
ForEach-Object { $_.Trim() } |
Where-Object { $_ } |
Where-Object {
-not $_.TrimEnd("\").Equals(
$targetPath,
[System.StringComparison]::OrdinalIgnoreCase
)
}
) -join ";"
[Environment]::SetEnvironmentVariable(
"Path",
$newUserPath,
"User"
)
Write-Host "已從使用者 PATH 移除:$standaloneBin" -ForegroundColor Green
# 安全移除 standalone 的 bin 入口
# 某些版本的 bin 是 junction/reparse point,不應遞迴進入目標目錄
if (Test-Path -LiteralPath $standaloneBin) {
$binItem = Get-Item -LiteralPath $standaloneBin -Force
if (
($binItem.Attributes -band
[System.IO.FileAttributes]::ReparsePoint) -ne 0
) {
& $env:ComSpec /d /c "rmdir `"$standaloneBin`""
if ($LASTEXITCODE -ne 0) {
throw "無法移除 standalone bin junction:$standaloneBin"
}
}
else {
Remove-Item `
-LiteralPath $standaloneBin `
-Recurse `
-Force `
-ErrorAction Stop
}
Write-Host "已移除 standalone bin。" -ForegroundColor Green
}
else {
Write-Host "standalone bin 已不存在。" -ForegroundColor Yellow
}
# 移除剩餘的 standalone command root
if (Test-Path -LiteralPath $standaloneRoot) {
Remove-Item `
-LiteralPath $standaloneRoot `
-Recurse `
-Force `
-ErrorAction Stop
Write-Host "已移除:$standaloneRoot" -ForegroundColor Green
}
# 只移除 .codex 下的 standalone 套件
# 不刪除整個 .codex
if (Test-Path -LiteralPath $standalonePkg) {
Remove-Item `
-LiteralPath $standalonePkg `
-Recurse `
-Force `
-ErrorAction Stop
Write-Host "已移除:$standalonePkg" -ForegroundColor Green
}
else {
Write-Host "standalone 套件快取已不存在。" -ForegroundColor Yellow
}
# 讓目前 PowerShell 立即使用更新後的 PATH
$env:Path = @(
[Environment]::GetEnvironmentVariable("Path", "User")
[Environment]::GetEnvironmentVariable("Path", "Machine")
) -join ";"
# 清除可能存在的同名函數或別名
Remove-Item Function:\codex -ErrorAction SilentlyContinue
Remove-Item Alias:\codex -ErrorAction SilentlyContinue
Write-Host ""
Write-Host "Standalone CLI 移除完成。" -ForegroundColor Cyan
執行:
$standaloneBin = "$env:LOCALAPPDATA\Programs\OpenAI\Codex\bin"
$machineMatch = @(
[Environment]::GetEnvironmentVariable("Path", "Machine") -split ";" |
Where-Object {
$_.TrimEnd("\").Equals(
$standaloneBin.TrimEnd("\"),
[System.StringComparison]::OrdinalIgnoreCase
)
}
)
$machineMatch
正常應該沒有任何輸出。
若有輸出,表示 standalone 路徑也被寫入系統 PATH。此時用系統管理員 PowerShell執行:
$standaloneBin = "$env:LOCALAPPDATA\Programs\OpenAI\Codex\bin"
$machinePath = [Environment]::GetEnvironmentVariable("Path", "Machine")
$newMachinePath = @(
$machinePath -split ";" |
ForEach-Object { $_.Trim() } |
Where-Object { $_ } |
Where-Object {
-not $_.TrimEnd("\").Equals(
$standaloneBin.TrimEnd("\"),
[System.StringComparison]::OrdinalIgnoreCase
)
}
) -join ";"
[Environment]::SetEnvironmentVariable(
"Path",
$newMachinePath,
"Machine"
)
不要只開新分頁,請將所有 Windows Terminal/PowerShell 視窗完全關閉後重新開啟。
然後驗證:
Get-Command codex -All |
Select-Object CommandType, Name, Source
where.exe codex
codex --version
正確結果中應只剩 npm 版:
C:\Users\***\AppData\Roaming\npm\codex.ps1
C:\Users\***\AppData\Roaming\npm\codex.cmd
C:\Users\***\AppData\Roaming\npm\codex
不應再出現:
C:\Users\***\AppData\Local\Programs\OpenAI\Codex\bin\codex.exe
不要刪除整個:
C:\Users\***\.codex
其中包含 npm CLI 與 Desktop 可能共用的設定、登入資訊、工作階段、plugins、skills 和資料庫。只刪除:
C:\Users\***\.codex\packages\standalone
也不要刪除:
C:\Users\***\AppData\Local\OpenAI\Codex
這是 Codex Desktop 使用的 runtime/輔助程式位置之一。(GitHub)
Codex cli更新蠻快的,最近沒兩天就會更新,之前以為官方standalone Cli方式比較穩,但看來Win11上暫時問題多多
我決定不糾結改回NPM安裝,等哪天NPM有問題再改standalone Cli,反正都是官方維護的,能馬上更新不出錯的,就是最好的方式。
2024更新版來了!用易了解的說明,提醒 公司/小規模營業人 2024年一般會用到的各項稅務申報繳納期限,會依政府公告更新,祝大家生意興隆。


https://drive.google.com/file/d/1lS-EIBFPoHe7GzkprraX85CEcq16lbL9/view?usp=sharing
========
FB聊聊 https://www.facebook.com/hsinkenfans
YT頻道 https://www.youtube.com/@hsinkengo
Tiktok頻道 https://www.tiktok.com/@hsinken
歡迎請信賢Hsinken喝杯咖啡
https://ko-fi.com/hsinken
不知不覺我們擁有與喝過的燒酎,已經要來到150隻,這個資料表整理了,我們到處蒐集的燒酎資料,包含他的麴、原料、蒸餾方式 與 特點,只要能找到的我們都盡量納入,如果實在不確定的,就會空下來
心得與我們在哪購買,和我所知台灣是否買的到等資訊,我也有整理在表格中,希望對各位燒酎同好 想找特定麴種 、原料或喜歡燒酎,能有所幫助
目前大概有個75%的完成度,資料和心得部分我們還會再慢慢地補充,銘柄的部分,隨著補貨日或參加活動,會逐步增加
台灣還有不少隻可買到的燒酎,但因為空間與小資預算有限,我們收藏到或多喝幾次後會再補上,大家有喝到不錯的燒酎,也請多推薦嚕,謝謝
祝大家都能找到喜歡的燒酎🥰
==H2P燒酎開就喝 燒酎泡盛清單==
這新聞在講東京都營地下鐵如何省下台幣4億2千萬,變成57萬就能完成,像台北捷運那種月台閘門系統的「職員創意神話」
不可否認,在車門上有QR CODE,然後透過月台掃描,確定車到定位後就開閘門,確實很有創意,但待過大企業或公部門的都知道
職員創意大多數時候是沒用的!
我所謂的沒用是指「不會實現的機率很高」!因為變革和採用新方案,伴隨而來的挑戰是很多:
相信這些問題,內部都會討論得很激烈,因為曠日廢時爭執不下,除非一定要改不然最終通常會維持原狀
現實世界中難有絕對最佳方案,只有存在「主事者認可的方案」,這個方案還是職員原本的想法嗎?其實通常是被加油添醋過的版本吧,為了這版本可能又開了幾十次會與花了大量驗證可行的成本
但最可怕的是,這種「創意神話」都「刻意忽略了 溝通與驗證成本」!
我相信20億日圓的絕對是成熟的解決方案,而所謂的270萬(台幣57萬)方案,則明顯拿來付5個人開會的薪水都不夠,更別說投入驗證
不管 研發創新 或 推動執行 都很燒錢,把這些實際發生但又可隱藏的成本 刻意忽略後,就會打造出「職員創意神話」,即使那並不真實,但卻是很好對外宣傳的故事
而後別家企業或機關主管看到後,就會覺得「人家員工有用,我家的只會燒錢動作又慢」很氣
殊不知其實大家都差不多,只是自己對外的神話包裝時刻還沒到而已,外國月亮沒有比較圓,看清內部現狀穩定去做
別傻傻的以為群祖傳這些神話會激勵到員工,誰細算都會發現水分有多少,反而打擊士氣得不償失
神話當茶餘飯後話題笑笑就好😄
這幾天更新Github發現他們的Host Identification換了,導致不能GIT PULL/PUSH,以下是我實測PC/MAC可用的解決方法。
到PowerShell執行
ssh-keygen -R github.com
看到 C:\Users\{你的username}/.ssh/known_hosts updated. 就OK了。
開Terminal,用下面指令執行時有缺套件的用Homebrew裝即可。
我是先處理MAC當時沒試只用ssh-keygen -R github.com,可能可以,建議可以先試試。
ssh-keygen -R github.com
sed -i.github-removed '/AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa/d' ~/.ssh/known_hosts
$ curl -L https://api.github.com/meta | jq -r '.ssh_keys | .[]' | sed -e 's/^/github.com /' >> ~/.ssh/known_hosts
HOST IDENTIFICATION功用簡單說就是:在第一次連對方機器時「記住對方的機器指紋」,之後連線前都會比對一下「避免人家冒名頂替」,Github換了這個所以Git pull/push會失敗,處理方法其實就是清掉舊的,紀錄新的機器指紋,不難就是得找下指令與做法。
Has GitHub changed his remote host key ? https://github.com/orgs/community/discussions/50878#discussioncomment-5419030
========
FB聊聊 https://www.facebook.com/hsinkenfans
YT頻道 https://www.youtube.com/@hsinkengo
Tiktok頻道 https://www.tiktok.com/@hsinken
歡迎請信賢Hsinken喝杯咖啡
https://ko-fi.com/hsinken
因為2024 台灣統一編號可能就要配發完,因此要改驗證規則讓號碼擴增成2倍,但到底有多少組可用,我真的很好奇,因此就用Python寫個簡單程式來計算。

我先簡單寫了一個「統一編號的驗證函式」,他可以支援用10或5來當基數,這樣就新舊制都能利用,回傳1或0是方便算可用的統一編號總數。

今年為何宣布可以資產重估價,有時又沒有?而且其實可以早知道會發生。

原因是:
有時1月中或底會宣布「資產重估」的理由是物價指數累計超過25%,111年回推到69年,漲幅達25.99%,同理因去年物價很高,所以有宣布宣布幾個區間可以資產重估,分別是:
物價指數 會在隔月第五工作日宣布,因此可以提早自己算出來。
不過之前都是用 躉售物價指數(WPI)算的,2023 WPI退場,明年會用什麼物價指數來算值得觀察。

========
FB聊聊 https://www.facebook.com/hsinkenfans
YT頻道 https://www.youtube.com/@hsinkengo
歡迎請信賢Hsinken喝杯咖啡
https://ko-fi.com/hsinken
用易了解的說明,提醒 公司/小規模營業人 2023年一般會用到的各項稅務申報繳納期限,會依政府公告更新,部分項目也會拍攝短片提醒,希望對大家有幫助。

大家期待的影片簡報檔來了!歡迎下載瀏覽,有什麼想法歡迎到Youtube影片留言討論。

下載連結在此
https://drive.google.com/file/d/1cWTmK_VWImbS46qJZ7tIXGRppAlLUmEu/view?usp=sharing
複習影片傳送門