Browse Category

Programming

在 Windows 上用 PyInstaller 打包 cx_Oracle

最近準備要把手邊用 python 做的小工具交給別人使用,如果可以直接給 code 是最簡單的,但有執行上的難度,所以用 PyInstaller 包成一個執行檔,避免一些安裝、環境、dependency 等等的問題,但 script 裡有用到 cx_Oracle,所以打包的方式有點不同,筆記一下。

Keep Reading

以 AutoHotKey 自訂 ShuttlePro v2 功能

ShuttlePro v2 通常是影音工作者在用的輸入工具,不過用在放射科醫師的閱片工作上也蠻不錯的,主要是它有個可以設定不同速率的外環, 扳著旋鈕就可以依照設定的速率滾動 CT 之類的影像,減少重複滾動滑鼠滾輪這個動作造成的職業傷害,但官方的設定程式其實有限制,重複的頻率沒辦法設得很細(如下圖),例如每秒兩次的下一級就是五次,再來就是十次,變化有點大,時間久了當然也習慣了,但總覺得不能細調有點可惜(我就想要每秒滾 2.5 次不行嗎?)

Keep Reading

PopClip Extension – Markdown Table Formatter

最近因為又寫了比較多一些的 blog,有時候會用到表格來呈現,而 markdown 格式的表格要對齊也是有點麻煩,所以通常會用一些小工具來輔助,譬如有 online 的 table generator,而我之前多是在 Atom 裡面編輯文檔,所以用的是 markdown-table-formatter 這個 package 來輔助,但如果不是在 Atom 裡編輯,就會麻煩一些,所以拼裝了一個 PopClip extension 來幫我處理這部份。

Keep Reading

好久沒用的 Perl script – 反轉檔名

今天去拿了幾卷沖掃好的底片回來,果然又有幾卷被掃錯了方向,也就是說應該由前往後掃的,卻被由後往前掃,當然在 Lightroom 裡,只要在檢視裡把依檔名排序改成降冪就可以解決顯示順序的問題,但如果是從資料夾裡直接看,順序不對看得就很痛苦,好久以前就有這樣的困擾,所以用 Perl 寫了一個 script,可以把檔名編號反轉。例如:

錯誤的順序: 76320001.jpg 76320002.jpg 76320003.jpg 76320004.jpg
              ↓            ↓            ↓            ↓
正確的順序: 76320004.jpg 76320003.jpg 76320002.jpg 76320001.jpg

看了一下檔案最後編輯的日期是 2011-5-28,已經是快六年前的事了,因為也好久沒有沖掃底片了,有點忘了上次執行它是什麼時候,但沒想到這個 script 還可以正常運作,系統可能都更新好幾次了,也是讓我有點訝異的地方,為了怕以後電腦重灌還是資料不見之類的,放一份到 Gist 上,順便做個記錄。

話說我現在根本完全看不懂 Perl 究竟是在寫什麼鬼了啊! XD

用 AutoHotKey 偵測 Smart Card 讀卡機狀態

放在 Smart Card 讀卡機裡的醫事人員卡

因科內最近在注意報告的 24 小時簽章率,這個 KPI 要求正式報告發出後,在 24 小時內使用醫事人員卡做簽章動作的完成率。目前科裡最常遇到的情形是假日沒有帶卡回家,或是家裡電腦沒有讀卡機、沒有安裝背景簽章程式等等,導致未及時簽章。

有一個妥協的方式是,把報告先發成「初步報告」,臨床可以看到報告內容,而又不會造成 24 小時未簽章,等進辦公室可以正常簽章時,再改為正式報告。所以我在會議中便提議,是否直接在報告系統中去偵測,如果沒有插卡,便不讓使用者發正式報告,無奈遭到主管的反對,反對理由是「不可能!簽章系統不是我們做的,無法整合」,但真的一點辦法也沒有嗎?

Keep Reading

小小的改了一下 PTTChrome

PTTChrome Website
▲ PTTChrome 本身是一個架在 GitHub Page 上的網頁,必須搭配 Chrome extension 才能運作

PTTChrome 是一個 Chrome 的 extension,基本上是用瀏覽器的 javascript 來實現 telnet 或 SSH 的連線,好處是在不同平台都可以支援,一套 Chrome 跑天下,自從慢慢把瀏覽器重心從 Firefox 轉到 Chrome 上後,就一直是用這個來上 PTT 了。

Keep Reading