跳到主要內容

發表文章

Programming Tutorial Website

Foundation is front-end framework for website, 提供網頁設計者設計各種不同 devices 的網頁,它是使用 Sass, Compass 這兩種 CSS framework 發展而成的。整個專案是採用 Ruby 的套件管理方式來運作,安裝它相當容易,使用 Ruby 的 gem install zurb-foundation 來安裝,若要調整 Foundation 的內容,需要再安裝 Sass, Compass, 網路上有介紹 Sass, Compass 的書籍,使用這兩種 CSS framework 對於寫 CSS 則更具有彈性[1]。   在安裝這些套件時,看見 Ruby 有安裝這些套件的文件,只是不知道如何從 Ruby 系統中讀出這些文件? 目前對於 Ruby 的系統不熟悉,需要找些資料來了解。在尋找資料時,找到一個不錯的教學網站,名為 Programming tutorials and source code examples 有許多教學文件及原始程式碼,其中包括 C++, HTML, Ruby, GIMP, etc ...,也有許多 free HTML templates 可以下載,可以做為做為教學時的教材。   另外, jQurey EasyUI 是另外一種開發 Website 的 framework, 是基於 jQuery UI 的基礎上,讓使用者不需要寫 Javascript 就可以容易的建立 jQuery 的 UI 介面。 --------------------------------------------------------------- [1] http://www.slideshare.net/kurotanshi/compass-sass

USB flash Partition

原本以為 USB 隨身碟(俗稱拇指碟)可以像硬碟一樣,可以分割成好幾個 partition,但是查了一下資料[1],才得知 USB 隨身碟因為有一個 Removable Media Bit (RMB),在 Windows 作業系統中不提供將此種媒體做分割,而在 Linux 系統中是可以製作分割及讀取這類媒體的分割區。   目前要在  Windows 系統中製作 USB 分割的作法,可以使用 [1] 的作法,利用 IBM 所提供的移除工具 MicroDrives(xpfildrvr1224_320.zip),將 RMB 移除。這種作法是欺騙 Windows 系統,將 USB 隨身碟當成 USB 硬碟,讓 Windows 可以製作或讀取 USB 的 partition。缺點在於只能在安裝 MicroDrives 驅動程式的系統中才可以讀取先前製作的 partition,如果沒有安裝,則僅能讀取第1個 partition。   另外, Lexar 公司有一個工具程式,名叫 BootIt,可以將某些廠牌的 Removable Media Bit 移除,但是,自己下載這個程式,在 Windows 7(64 bits) 系統中無法執行,可能只能在 XP 系統執行吧。   後來採用 [1] 所描述的方法,將 IBM 的驅動程式放在 partition 1 中,讓其他的電腦可以讀取到修改後的驅動程式,就可以讀取到其他的 partition 了。 但是經過實際的測試,無法在 Windows 7(64 bits) 中安裝 IBM 這個 driver[2]。又再 google 中找到 Win 64版本的驅動程式[3],測試以後,造成 Windows 無法開機,在修復的狀態下,切換到 cmd 的模式,將 windows\system32\drivers\cfadisk.sys 刪除,才恢復原來的開機畫面。 最終,將 USB 恢復原來的 driver 以後,先做下列的動作[4]: 1. 執行 diskpart 程式,「開始」-> 輸入 diskpart 2. list disk; select disk #       // # is where in this d...

Using Lingoes Translator

一直沒有仔細的設定 Lingoes 這個翻譯軟體,因為要使用特殊的 English-English 翻譯來瞭解英文字的使用,才特地看了一下如何設定?原來在左邊第2個小 icon (Guide) 的 Dictionary 選項中,Index Group tab 內可以設定「翻譯時使用 dictionary 的優先順序」,將 Vicon English-Chinese(T) 字典的位置調到最上層,則翻譯時會先使用英翻中(English-Chinese(T)) 這個字典。   另外,在第 3 個 icon(Appendix) 這個附加的功能中,有單位的轉換、時間的轉換、計算機功能、繁體簡體中文轉換等功能。另外,也有 MD5, SHA-1 algorithm 可以使用,也就是將字串利用 MD4, MD5, SHA-1 algorithm 轉成固定的字串;還可以到網站中下載其他的特殊功能。 常用的快速鍵: Ctrl + L: 顯示 Lingoes 。 Ctrl + K: 關閉翻譯的文字 當按 Ctrl + K 開啟最小化的畫面時,點選鸚鵡小圖示中 "keep windows always on top",可以將最小的翻譯畫面維持在螢幕上。

Emscripten

Emscripten : An LLVM-to-JavaScript Compiler, 是一個將 LLVM 所產生的 bitcode 轉成 Javascript library 的編譯器。這樣一個 compiler 有何用處?舉一個例子來說,如果你原來使用 C++ 語言所寫的程式,可以先使用 LLVM 來產生 LLVM 的 bitcode,再交給 Emscripten 當作輸入,經由 Emscripten compiler 輸出成為 javascript 的 library,然後再嵌入到 html 中來使用。有了這個 compiler ,那之前用各種語言所寫的一些 function, member, class etc..., 都以移植到網頁上。這也就是意味著所有在的程式將可以容易的移植到網路了。 ------------------------------------------------------ [1] http://hacks.mozilla.org/2012/04/porting-me-my-shadow-to-the-web-c-to-javascriptcanvas-via-emscripten/

Windows installer

在[1]中比較了各種 Windows 安裝程式產生器,我所謂「安裝產生器」就是當程式設計師將寫好的程式,要打包成安裝檔案的程式。主要是讓一般的使用者可以依照您指定的安裝的程序,一步步的安裝到 Windows 系統中。這些安裝程序包括本版的宣告、安裝的選項、指定安裝目錄等步驟。 目前最被大家使用的是 Inno[2], NSIS[3] 這兩個軟體,都是 open source 的 compiler 軟體,依照所規定的格式來撰寫  script 檔,再透過 Inno, or NSIS 來編譯成安裝檔。 以目前 Inno, NSIS 所謂 third party 的支援情況,Inno 因為有 Inno Script Studio 這個軟體,在製作整個安裝的過程上比較容易,不需要瞭解及撰寫 script 的內容,就可以完成整個安裝步驟;但是缺少圖形設計的頁面來設計每一步驟的頁面。另外,也支援多國語言的安裝選擇,只要將 Inno 網站所提供的多國語言包[4]加入 Languages 目錄中,Inno Script Studio 就可以使用這個語言一步步的安裝。 關於 NSIS 優點在於有 NSIS Dialog Designer 可以設計自己喜歡的安裝畫面,但是整個安裝的步驟,都需要寫 NSIS 的 script 來完成,這是比較難的地方。在 Eclipse 中有支援 NSIS plugin,名叫 EclipseNSIS,不過是採用 NSIS 舊版的 InstallOption 來製作成 .INI 檔,在 include 到 NSIS 來編譯。 -------------------- [1] http://www.techsupportalert.com/content/best-free-setup-builder.htm [2] http://www.jrsoftware.org/ [3] http://nsis.sourceforge.net/Main_Page [4] http://www.jrsoftware.org/files/istrans/

The Architecture of Open Source Applications

在 Plan 9 wiki 網站的 reference 中看到 Eric S. Raymond (The Art of Unix Programming 作者)目前正在維護 gpsd system, 在 他個人的網站 中有些他開發的程式,此外,他個人目前的想法,可以從 Blog 中看得出來。他 post 一則 Engineering zero-defect software 的文章,有許多 computer 的 Hacker 在其中提出 comment。其中 Jakub Narebski 提出了一個網址,是 The Architecture of Open Source Applications 線上的書,於 May 8, 2012 出版了第二冊,確實是值得看得書。 gpsd is a daemon that receives data from a GPS receiver, and provides the data back to multiple applications such as Kismet or GPS navigation software

Asynchronous User Interface - AUI

在 Alex MacCaw Blog 中提到一個問題,就是:當使用者 click 個動作之後,必須等待 Server 的 response,例如 Gmail 在送出信件後,必須等待一下子,也就是等待 Server 將信寄出,然後才可以繼續使用 Client 端的畫面。     這樣的設計方式是不符合 User 所期待的。 User 不需要去管 Ajax 的問題,只希望 Gmail 送出訊息之後,告訴 User 是否寄信完成;這種需求就好像插入耳機以後,系統會出現一個耳機插入的訊息,提醒 User 可以使用耳機了,而不會影響其他的動作。     在 Alex MacCaw 開發的 Spine Javascript Framework 已經解決這個問題,他把它稱為 Asynchronous User Interface - AUI, 在他的 Blog 中也有例子說明如何實做 AUI 的使用介面。