2012-09-22

使用 Visual Studio 建立 Windows Service (Create a Windows Service with Visual Studio)

打算設置一個開機自動啟動程序,使用者通常會將檔案或其捷徑存放至自動啟動目錄
在 Windows 自動啟動目錄存放於 開始 > 所有程式 > 啟動

但不同的使用者會有不同設定,以另一個使用者帳戶登入 Windows,他未必會啟動同一個檔案

Windows 能夠觸發在起動時執行背景程序
這些程序在使用者登入前已經執行,它們稱為 Windows Service

2012-09-20

不要再使用 WinRAR

不少電腦使用者,尤其在亞洲地區,甚至主要是中國、香港,若果要壓縮文件都會使用 WinRAR
但問題是 WinRAR 只是共享軟件,不是自由,更不是免費軟件
而且根據官方描述,共享試用版只有 40日,當超過 40日
當開啟 WinRAR Achieve Manager 時,WinRAR 便會發出購買提示 (直接在以右鍵解壓縮不會顯示)
雖然過期,但仍能解壓縮
這意味著 WinRAR 已經過期,但以商業機構角度而言,過期的軟件若果不購買,可構成法律問題……

2012-09-02

讓 Linux 進行桌面現場廣播

以往透過電腦進行廣播,都是使用 FME (Flash Media Encoding) 進行
問題是,FME 只能安裝在 Windows 及 Mac
雖然 Linux 有替代品 - WebcamStudio,但正如其名,WebcamStudio 是使用 Webcam 進行廣播
在本篇文章並不適合

2012-07-13

Linux 簡單檔案批次設定權限

Linux 是一種對於檔案管理非常嚴格的系統,雖然嚴格,但設定上卻很簡單
透過 +/- r, w, x 或 八進制數值 控制權限
普遍地,利用
chmod -R 0777 /var/www
便可以將整個 /var/www 改變成 0777 權限

2012-07-09

Linux 切換 Java 環境設定

Java 允許使用者在同一作業系統中安裝不同版本的 Java 環境
而不需要移除不適用的版本便可以立即切換
若果你每次都會使用絕對路徑這篇文章可以對你作用不大
以 Windows 來說,由於 Java 環境只會透過 PATH 來切換,若果需要切換 Java 環境只要更改 PATH 的變數即可
可是大部分 Linux 發行版大都預裝了 OpenJDK 這個 Java 環境
當使用 java 等 Java 環境執行指令時,即使已經設定 PATH,但仍會以 OpenJDK 為預設 Java 環境

安裝 Whitespace

Whitespace 是一種非常有趣的程式語言
一般程式語言,不論直譯器或編譯器
都不將 [space] (空格)、[tab] (製表符)、[newline] (新行) 為程式語言的閱讀範圍
但 Whitespace 卻相反,只閱讀它們,其他字元全都當成註解

2012-07-07

於 Debian 及基於 Debian 的 Linux 發行版上安裝 Picasa

Picasa 是一種免費 (被 Google 收購後) 而且使用簡單的圖像整理軟件
原本 Picasa 只有 Windows 版,但可以透過 WineHQ 調用 Windows API 來安裝於 Linux 系統中
後往亦推出 Mac OS X 版本及與 WineHQ 一拼整合的 Linux 版本
但完整的 Picasa 功能只能在 Windows 版本中運作,Linux 與 Mac OS X 版本均沒有全面功能

2012-07-03

Linux 簡單檔案批次重新命名

為了電腦檔案易於保管,不少情況都會使用數值來指定檔案名來限制檔案排列的次序
Windows 有一種簡單的方法,只需要選取需要的檔案,於第一個檔案重新命名,輸入指定的文字
就會將選取需要的檔案順次序改名,但這種改名方法的結果就不太理想
當然 Windows 上還有其他批次重新命名軟件
Linux 上亦有一種稱為 rename 的指令,一次過將大量檔案重新命名
但要讓檔案順著某個編號開始排列,rename 又好像不太適合

2012-06-24

Linux Kernel 編譯前置的 make *config 分別

編譯 Kernel 是一件非常神聖,亦非常艱巨的任務
編譯 Kernel 前一大堆選項,若要認真選擇 Kernel 的功能
單是查看選項,都已經要一小時或以上,編譯也有機會用上一小時
即使譯編成功,更新新的 Kernel 也不代表重新開機後 Kernel 能夠正常運作
因此編譯 Kernel 前必須審慎選擇每一個項目

隱藏 Apache PHP 的副檔名

不少網頁伺服器時都會將副檔名隱藏,減省了在瀏覽器的超連結長度及隱藏伺服器類型

2012-05-10

切換 Ubuntu 11.04+ 的捲軸至傳統風格

Ubuntu 11.04+ 的捲軸預設使 Overlay 風格
這種風格最大好處理是將捲軸縮小,節省圖像界面空間
當浮標移向 Overlay 風格的捲軸時,才顯示捲軸狀態的上下箭咀
雖然都頗方便,但部分使用可能並不習慣這種風格
另外垂直捲軸可以使用大部分滑鼠都有提供的垂直捲動移動,但大部分滑鼠都沒有提供水平捲動
若果每次都要在 Overlay 捲軸顯示捲軸狀態顯得有點廢時失事……

2012-05-06

phpMyAdmin: Connection for controluser as defined in your configuration failed

不少人在 Linux 架設 LAMP 時,為了方便設置 MySQL 都會使用 phpMyAdmin
另外在大部分 Linux 發行版中亦可以下載由發行版所提供的 phpMyAdmin
如 Fedora 的 yum
yum install phpmyadmin
及 Ubuntu 的 apt-get
apt-get install phpmyadmin
雖然由發行版所發佈的 phpMyAdmin 大都有完整的設定
但當使用者進行核心升級或系統升級後,便需要手動進行設定

2012-04-26

批次形式上載檔案至 FTP 伺服器

有不少軟件如 FileZilla 都提供 FTP 檔案上載功能,而且能跨平台應用,非常方便
雖然現在不少 Linux / Unix 都會具備 GUI ,但仍然有大量 Linux / Unix 沒有安裝 GUI
尤其以作為伺服器的 Linux / Unix 大多數都不會安裝 GUI
那麼,當需要上載大量檔案時應該怎樣處理 ?

2012-04-19

XML I18N

不少電腦語言都各自有自己專用的 I18N (Internationalization) 寫法,例如
PHP 通常會用 gettext 或 intl
Java, JSP, Servlet 通常會用 Locale + ResourceBundle 配合 Properties file
另外還有各種 Framework 都各自有一套 I18N 寫法

但是若果由一種 I18N 寫法至另一種 I18N 寫法顯然是需要一點點時間學習……

2012-04-11

安裝及使用 GIMP Resynthesizer

進行圖像處理時,不少人第一時間都會想起 Adobe Photoshop
但 Adobe Photoshop 只能在 Windows 及 Macintosh 中安裝,沒有 Linux 版
而且 Adobe Photoshop 並非免費,若果自己並非熟識圖像處理,不會故亂購買 Adobe Photoshop 吧 ?
那麼 GIMP 是一種替代軟件
GIMP 不單免費,而且能夠跨平台操作,還有一種叫 Resynthesizer 的人工合成工具,協助不熟識圖像處理的使用者

2012-04-07

Linux 中使用 Skype 語言通話功能問題

Skype 是一種跨平台即時通訊軟件,同時具備即時視像及聲音通訊功能
只要用戶設置視像攝錄鏡頭及聲音輸入裝置,便可以進行視像及聲音通訊功能
Windows 與 Mac 用戶由於原本在設計上已經具有成熟的視像及聲音驅動程式
於 Skype 選項中選取合適的裝置,便可以進行視像及聲音通訊
在 Linux 中雖然視像及聲音驅動程式已經有足夠的支援,不少硬件都有提供 Linux 版的驅動程式
但 Linux 中使用 Skype 語言通話仍有些微問題

2012-04-05

經典遊戲 - R-Type

R-Type 是 1987 年由 IREM 公司製作的遊戲,以 R-Type 的質素在當時的遊戲科技可算是超水準的作品

2011-12-29

在 MySQL 計算年齡 (Calculating Age in MySQL)

儲存個人資料時,由於年齡是一種跟隨時間而變動的資料,因此合理情況上不會儲存年齡
取而代之會以出生日期為儲存資料,便可以透過日期相減計算出年齡
When recording an user data, age is an dynamic data. Generally, you should not store it.
So you store the date of birth, then calculating the age from date of birth.

2011-12-07

讓 SciTE 顯示中文字

SciTE 是一個強勁的文字編輯器,其跨平台性被人稱為 Linux 版 Notepad++
另外由於它同樣使用文字文件作為配置文件,可以非常簡單修改設定,基本 SciTE 本身便可以修改自身的設定