同事問了一個鬼問題 - "Windows 檔名可不可以只有一個空白?" 答案是不行。測試過程我搞出一個怎麼都砍不掉的檔案,花了點時間才清掉,學到冷知識。 依據微軟文件,檔案或目錄名稱不能包含以下字元: < (less than) > (greater than) :...

我有一台有故事的 Samsung 19" 螢幕。 十年前它被丟在親戚店面的一角等待回收,因拾荒阿北爽約被當時修螢幕修上癮的我攔胡。回家拆開看到電容凸起一陣興奮,殺去光華跑遍材料行買了電容來換,幻想著用幾十塊修好一台 LCD 的成就感,但無奈事情不像憨人想的那麼簡單,有其他元件隨著爆電容一起...

話說前陣子買了 ESP32 開發板來玩,一併入手了 32x8 的 LED 矩陣顯示器,成功用 Arduino 跟 ESP8266 做出跑馬燈後,下一步當然要試試用新玩具做跑馬燈。結果,入手第二天我就摔進大坑,掙扎了十天才爬出來... Orz 依爬文查到的資料,有現成的程式範例通吃 Arduino /...

前幾天介紹如何把發展成熟的 PowerShell 小工具(.ps1) 發佈到私有 Repository 與其他成員共享,Install-Script 安裝到電腦環境,以後不必每次複製 .ps1,像內建 Cmdlet 一樣輸入 Script 名稱(不需加 .ps1,還有自動完)就能在電腦的任何角落執行...

今天遇上這幾年來數一數二有趣的詭異茶包,所幸憑藉老司機的經驗與直覺順利過關斬將,找出真相。 同事報案:某網站行為異常,起初頁面正常,執行到某幾個動作會卡住,久久沒反應。初步偵察,該環境僅有 IE 可用,且有 SSL 憑證未被信任的問題,即使一開始 IE 有忽略 SSL 憑證無效繼續的選項,但之後還是...

PowerShell 在工作環境應用日益廣泛,陸續寫了不少小工具。初期我會把工具 .ps1 複製一份作為每次作業的附屬檔案,發現問題就改進,歷經幾次改版逐漸成熟,後來變成每次都複製同一版 .ps1,代表時候到了, 可以開放其他團隊成員安裝到電腦共用,比照 PowerShell 內建指令,不用每次附上...

前幾天提到 ESP 開發板,至於開發工具則大推 VSCode + PlatformIO,我會陸續分享使用技巧與心得。 有用過 Visual Studio Code 又有 Arduino/ESP 開發經驗的同學,憑著 PlatformIO 關鍵字及直覺,應該能自己摸索出安裝及操作方式(至少我自己是如此...

前幾天分享了我的私房「網頁新手提示」懶人工具,得到不少回饋,其中有幾則是這麼說的: 這兩天,我越想越不對勁... 原本好意提醒使用者有哪些功能可用,但如果使用者不是新手,只是換電腦或清掉瀏覽器記錄,也得全程看完才能開始操作,心裡一定很賭爛吧? 我無法定義何謂「好的操作介面」,但剝奪使用者自主權的一...

試過純手工打造 ePub 電子書,寫過程式半自動轉換。前陣子試了另一種作法 - 用現成工具軟體 Pandoc 將圖文 HTML 轉成 ePub 電子書。 Pandoc 是個功能強大的文件轉換器(使用方法可參考保哥的文章:介紹好用工具:Pandoc ( 萬用的文件轉換器 )),它支援多種文件格式間的轉...

從小我就對電子有濃厚興趣,無奈自己的聯考分數不給力,唸不了電子電機。 上專科後有了第一台電腦(CPU 是 8088 4.77MHz + 640K RAM),意外地寫程式的時間比打電動多(但很多時候在寫 BASIC 程式破解遊戲 XD),有一天,我發現搖桿的 X/Y 軸其實是兩個可變電阻,推向不同角度...

寫網頁的人總夢想著自己寫的介面夠簡單夠直覺,不需說明文件,使用者模索兩下就能上手。但事與願違,網頁上一些自以為夠明顯一定會被使用者發現的得意設計,上線半年還乏人問津,常令設計者一陣鼻酸。 手機 App 有一種不錯的設計概念可供借鏡,做法是第一次開啟 App 時先跳出一段動畫展示,簡要提示新功能或操作...

今天解決掉一件糾纏近十年的困擾,敲開薰! 過去我分享過不少組件重新導向的技巧,其實十之八九都是 ODP.NET 引起的(為此我還曾研發過暴力解法、暴力解法懶人工具、核武級 ODP.NET 版號暴力破解工具,看我怨念有多深),版號衝突問題大多可藉由在 config 加入 bindingRedirect...

我做投影片喜歡修修改改,有時想講的太多時間太少,不得不跳過某幾張投影片,但常常稍後改變主意把它們加回去,此時便可善用 PowerPoint 的好用功能 - 隱藏投影片。 使用方法很簡單,如下圖所示,由左側功能窗格投影片的右鍵選單按下【隱藏投影片】即可,隱藏的投影片會淡化,編號數字則會劃上斜線作為標示...

同事分享的案例。 運行多年的文件套版服務,有用到 Word 的 docx 轉 PDF 功能。昨天起,呼叫 Word SaveAs() 轉存 PDF 會爆出 0x800A1066 錯誤: System.Runtime.InteropServices.COMException (0x800A1066):...

有讀者問到 ODP.NET CommandText 跑多行指令的花式應用,包含在 Script Block DECLARE 宣告變數以及傳回暫存資料表結果。 透過多組 PL/SQL 邏輯組裝資料存進暫存資料表再一次傳回結果的做法,實務上還蠻常見的,但大多情況會寫成 Procedure。如果能讓 .N...

前幾天分享的 Oracle 改 MSSQL 出中文亂碼問題,我想出 VB.NET Strings.StrConv 做簡繁轉換的解法,進一步實測踩到一枚小地雷。 我原以為 Strings.StrConv 只會轉換簡體中文字元,所以放心地把繁體中文內容也丟給它處理,沒想有卻有繁體字元被換掉了 - 「台」...