2017年8月12日星期六

在Mac OS X 10.10以上以BASH指令作SHA比對

假設SHA256的結果(Message Digest)檔案名以sha256作結尾。 以下指令是比對本路徑底下(`pwd`)的所有m4a檔,使用時請因應情況改動。


製作:
for f in *.m4a; do openssl sha256 "$f" > "$f.sha256"; done
比較:
for f in *.m4a; do diff <(openssl sha256 "$f") <(cat "$f.sha256"); done

2015年2月6日星期五

Mac OS X 10.10(Yosemite)上使用ZTE MT820上網




升級到Mac OS X 10.10 Yosemite後,ZTE MF820的連接程式無法在Yosemite版本偵察出硬體。


在網上找到有類似情況的用家在Lion版本已程無法使用ZTE MF820了。但他卻提供了方法繼續使用。使用Mac OS X自帶的連接設定可以把ZTE MF820連接上網。


首先進入網絡設定。


然後在左邊的連接設定清單中選擇ZGUSBMdoem。但跟據情況,名字可能有所不同,有機會是ZTEUSBModem。如果沒有的話,請在下面按+新增一個。

然後在左邊的電話號碼欄輸入:*99#
還在下面的「於選單上顯示數據機狀態」上打勾。

再到「進階設定」。在型號上挑選ZTE USB MODEM。



然後把這些改動全都確認並儲存,在桌面的選單就會多了一個電話圖案。點下去再按連線就能用這個USB LTE modem上網了。





資料來源:http://walternaeslund.com/how-to-run-telia-zte-mf820d-4g-modem-on-lion/

2012年11月17日星期六

預設開啟VIM的語法功能(syntax on)

以下方法是給用戶修改各自的vim設定

指令:
$ vim ~/.vimrc

若裡面有內容,在首行加上:
syntax on

2012年10月6日星期六

解決IE沒有min-width和min-height問題

由於IE(Internet Explorer)不支援min-width這個CSS屬性,如在大部份瀏覽器上做到最小寬度這個效果,可用以下小技巧。

min-width: 1000px; /* 在Firefox,Chrome,Opera有效 */
width: expression(document.body.clientWidth < 1000? "1000px": "auto" ); /* 在IE有效 */


請注意,document.body.clientWidth是Javascript Object。他對整個版面有效,所以使用時請因應情況看如何使用,例如改為document.getElementById('something').width使用。

2012年10月5日星期五

替Blogger上張貼的原碼加上CSS樣式

許多系統開發者或工程師也會在blog上分享自己的經驗和技巧,像小弟一樣。
但在Blogger上文章編寫器並沒有專為顯示原碼(source code)而設的樣式,大家也只能夠使用<code>來把原碼包括其中。

但這樣只能做到把原碼以mono風格字體顯示而已,像這樣:


這樣不夠突出和不利閱讀。

現在Blogger可以讓用戶自己修改CSS風格,也可加上自己額外的CSS碼。小弟利用了這個功能,為<code>這個HTML標籤加上CSS風格,以後所有被<code></code>包圍著的原碼都有特別的風格了。像這樣:

要加上自訂CSS的方法,在編輯Blogger版面,先選「範本」。
再在範本頁內的網誌即時狀態,按下「自訂」按鈕。


再在編輯範本的控制上選「進階」,再在其旁邊選最底的「新增CSS」。旁邊就會有一個文字輸入框可以自行加上CSS了。


小弟的CCS如下:

/* Start – Code Snippet */
code {
background: grey;
border: solid black;
border-width: 1px 1px 1px 10px;
font: 13px 'Courier New', Courier, monospace;
line-height: 16px;
margin: 5px 5px 5px 5px;
padding: 5px 5px 5px 5px;
color: white;
display: block;
}
/* End – Code Snippet */


這就會把所有<code>包圍著的原碼都會變成上面一樣,原碼都帶在灰框內,字體是mono的風格了。

閣下也可因應自己的Blogger風格編輯自己的CSS。

在Linux上使用支付寶

淘寶上有許多在街上難以找到的貨品,他們提供運送服務。Linux用戶也會想在淘寶找東西買吧?但使用淘寶買東西才要使用支付寶,而支付寶桌面版非得要先安裝其插件(plugin)才能使用他來付費。

幸好,支付寶已經有Mac跟Linxu版的插件,支援Firefox,Chrome,和Opera。
http://help.alipay.com/lab/help_detail.htm?help_id=251848#21



Linux版的支付寶插件其實是一個shell script並在最後的位置附帶其已壓縮的二進制文件(binary file),打開其shell script(aliedit.sh)可以看到像下圖的內容。




一般就是解壓後執行這個aliedit.sh就完成。但由於我使用的Arch Linux在運行這個shell script時失敗了,所以我做了一些手動。


剖悉:
在__ARCHIVE_BELOW__下面亂七八糟的就是已壓縮的支付寶插件,shell script就是把在用戶的home建一個.aliedit/install資料夾,把這串夾在shell script裡的插件內容讀成二進制(binary),然後馬上解壓並儲進~/.aliedit/install。

 解壓後會得出以下檔案:
install.sh
lib/
lib/libaliedit32.so
lib/libaliedit64.so
README

在lib/裡面有:
libaliedit32.so
libaliedit64.so

其實只要因應自己的系統是32位元(bit)還是64位元(bit),然後把相應的library檔用install -D指命複製到/usr/lib/mozilla/plugins/就OK了。


以我的系統為例子。

下載aliedit.sh到系統。

用以下指命取出哪一行是插件壓縮檔的開始:
$ awk "/^__ARCHIVE_BELOW__/ {print NR + 1; exit 0; }" aliedit.sh

我這裡得出的是第95行。請留意下面解壓指令的行數。

建立一個資料夾:
$ mkdir alipay_plugin

把壓縮檔取出同時解壓:
$ tail -n+95 aliedit.sh | tar xzvm -C alipay_plugin

解壓後看看alipay_plugin裡的lib資料夾,應該有libaliedit32.so和libaliedit64.so兩個檔。

若是用Firefox或Chrome/Chromium的話,依照自己系統的位元是library複製到Firefox插件庫:(我的系統是64 bit的)
$ install -D -m644 lib/libaliedit64.so /usr/lib/mozilla/plugins/libaliedit64.so
請注意!以上指命是把支付寶插件安裝給此電腦的所有用戶使用。若果只想給自己的話,請用以下指命:
$ install -D -m644 lib/libaliedit32.so ~/.mozilla/plugins/libaliedit32.so



大家各自的系統情況皆有不同,若無法直接執行aliedit.sh作安裝的話,大可留言一起研究。但請在留言時,請同時留下閣下的系統詳細資訊,最起碼留下系統屬哪個Linux發行本(Debian、Ubuntu、Gentoo之類),版本號碼,屬x32還是x64,等等…

2012年10月4日星期四

在sql*plus使用SID連接Oracle Database

一般在使用sql*plus連接Oracle Database前,必需要先設定tnsnames.ora並為要連接的資料庫加上SID或Service Name。

這個實在是很麻煩的一個設定。而且自己也不一定是系統管理員。所以要有辦法不用設定tnsanames.ora也能用SID經sql*plus連接到資料庫。只要在sql*plus指令內使用connection string就能直接用SID連接了。


$ sqlplus username/password@"(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=IP or hostname)(Port=port))(CONNECT_DATA=(SID=sid)))"