2009年3月15日 星期日

『沒有開始功能表』的 Windows 生活 (1) ---- 命令列自動完成, 桌面搜尋

就在寫『沒有書籤的網路生活』的同時, 我的腦海裡其實沒有想到那麼多的『網頁、書籤、瀏覽器、外掛 ...』, 因為『沒有書籤』對我來說是擺在那裡既成事實, 只是需要寫下來分享。反倒是『程式、檔案、開始功能表、我最近的文件、快速啟動、桌面管理』... 思緒止不住一直在想:『 網頁 和 書籤 可以這樣管理, 為什麼 程式 和 檔案 不行 ? 』

先聲明一下, 這一篇雖然是『沒有書籤的網路生活』的『本機版』, 但究竟能有多少實用價值, 連我自己都會懷疑, 因為其中的許多想法還是在『發夢』的階段, 而且恐怕還是『春秋大夢』。
---- 我希望真的能出現『善心人士』來實現這些構想; 或者有如此好用的軟體, 只是我不曉得, 還盼大家指點一下。

.

〈自我揭露:本文標題與文體,皆抄襲自舊文:沒有書籤的網路生活 ---- 疏解『書籤過載』的問題〉

『沒有開始功能表』的 Windows 生活

是的!! 『沒有開始功能表』的 Windows 生活, 只是 ... 恐怕還是『春秋大夢』!!

雖然刻意想要養成更好的習慣, 但是最常使用的程式和檔案, 怎麼還是擺脫不了 開始功能表。只是一直希望, 下面這些好工具能把 開始功能表 取而代之 :

網頁 / 書籤

本機 / 程式

網址列自動完成 Launchy, Keybreeze , FARR
Google 搜尋, 桌面搜尋, Locate32, Everything
Google 工具列, iGoogle 快速啟動, Docklet
Google (RSS) Reader 夢幻組合
Net Snippets, Evernote tag2find
歷史, 網頁記錄 我最近的文件
Auto Dial 最常用的程式捷徑

.

在『捷徑』能夠更有『靈性』之前 ...

在這個『捷徑』過載的年代, 我常常有這樣的感概 :『捷徑怎麼不是活的?』---- 最常用的捷徑有時要往下找好幾層, 反而是很少使用或是已經失效的捷徑卻還有一大堆高掛在那裡, 而且捷徑通常只會越來越多, 越來越多..., 到最後, 尾大不掉的『開始功能表』, 就像『我的最愛』龐大的書籤樹一樣, 實用性越來越差....

當你使用WindowsXP時,會不會覺得螢幕左下角那顆﹝開始﹞的按鈕讓你又愛又恨,一方面所有軟體安裝後都會在﹝開始﹞→【程式集】中建立捷徑,但是另外一方面當你要在茫茫的選單裡面找到你想要的軟體時,卻又會被不易閱讀和點選的介面設計氣得牙癢癢的。

讓XP和Vista效率加倍的開始功能表:Vista Start Menu 2.65 (電腦玩物, 2007-12-03)

同理, 把『捷徑』換成『檔案』...

在這個『檔案』過載的年代, 我常常有這樣的感概 :『檔案怎麼不是活的?』---- 最常用的檔案有時要往下找好幾層, 反而是很少使用或是已經失效的檔案卻還有一大堆高掛在那裡, 而且檔案通常只會越來越多, 越來越多..., 到最後, 尾大不掉的『硬碟目錄』, 就像『開始功能表』龐大的程式樹一樣, 實用性越來越差....

所以, 在『捷徑』和『檔案』能夠更有『靈性』之前, 倒底有什麼方法來『疏解捷徑/檔案過載的問題』?

底下介紹的這些方法, 算是給大家參考著『擇優使用』, 倒不一定要像我這樣還老是想著『沒有開始功能表的 Windows 生活』的春秋大夢。

.

命令列自動完成

依照使用頻率和實用性, 第一個首推『命令列自動完成』, 只要鍵入兩個字母, 常用的『捷徑』和『檔案』立刻手到擒來。不信你看, 在『網址列』輸入一個『抄』字, 就能跑出 沒抄襲過,別說你 xxx (MMDays, 2009-03-08) 來讓我抄, 那麼『命令列自動完成』應該也會一樣方便才對呀!!

2009-03-14_111558

.

可惜的是, 下面這些我都還沒有養成使用習慣 ...

.

之前, 對 Launchy 的印象是很好用, 但太佔系統資源, 叫出快列捷的反應有時卡卡的 ... (2008-11, 應該是 2.12 版), 而且不光我這麼說 :

應用啟式啟動器清單 (簡睿, 2008-05-16)
雖然程式啟動器Launchy相當方便,但耗用資源較多,有時還會導致CPU飆高,可能是在掃描資料夾吧。先找好別的替代軟體,準備換別的工具了。以下是兩份工具清單:

.

最近才試的 Keybreeze 確實是輕巧許多, 使用分號 (;) 來啟動快列捷, 要正常輸入分號則按兩次 (;;) 或是分號加空格。手動輸入 update index 指令來更新清單索引, 雖然不像 Launchy 可以自動更新索引, 但還不致於太不方便。目前遇到的問題是增加幾個目錄之後, 更新清單索引失敗, 待查 ...

有趣的程式啟動器:Enso Launcher (HC Huang 留言, 2008-05-22)

試試看Keybreeze?軟體說明 http://www.keybreeze.com/tutorial/軟體下載http://www.keybreeze.com/支援自訂指令、搜尋目錄、巨集、熱字串等功能。

.

FARR 也是最近才試的, 一開始找不到增加搜尋目錄的設定, 原來是在 Option - List - Search Folder 按右鍵。另外, 還要記得到 Setting - Hotkeys 取消 Ctrl+Space, 才不會和中文輸入法打架。其他部分還在試用中 ..., 或許就是它了!!

超級起手式-兼具效率與彈性的程式啟動器FARR (簡睿, 2008-08-16)

Find and Run Robot(簡稱FARR)... 是個佔用電腦資源少、執行效率高的程式啟動器,與較廣為人知的相比,毫不遜色,反而在設定的彈性與擴充性與搜尋檔案的準確度上都有令人激賞的表現。再者,除了本文介紹的檔案搜尋、目錄瀏覽功能外,還有命令的代名(Alias) 擴充等進階機制,能讓程式的啟動更加容易與迅速。 ...

.

Enso Launcher 和 Vista Start Menu 則還沒試過 :

有趣的程式啟動器:Enso Launcher (簡睿, 2008-04-18)

一按下Caps Lock後,在螢幕上方會出現Enso的指示文字,接著用 open來開啟要執行的程式,程式名稱只要份符合即可。Enso應該主要是用Python開發的,安裝後也會安裝一個Web Server,其後的說明與設定都透過瀏覽器來設定,或許是這些功能致使它佔用不少記憶體。

.

讓XP和Vista效率加倍的開始功能表:Vista Start Menu 2.65 (電腦玩物, 2007-12-03)

快速執行、搜索輸入欄:和Vista一樣,Vista Start Menu也有一個快速輸入的欄位,你可以利用這個輸入欄來快速找到並啟動功能表中的程式(類似Launchy),也可以利用它來搜索網路

XP也能用的Vista Start Menu:人生是彩色的「開始」功能表 (簡睿, 2008-06-04)

Windows內建的功能表離這個「心曠神怡」的目標有點遙遠,幸好Vista Start Menu填補了這個縫隙。... 又把「快速啟動」與「自動執行」都特別獨立出來,如此我們能快速地把常用的程式放置其內,以節省尋找程式的時間。

.

桌面搜尋, 檔案搜尋

Google Desktop Search (GDS), Windows Desktop Search (WDS), Copernic Desktop Search (GDS) 這幾款 桌面搜尋軟體 各有擅場, 另外還有後起之秀 DocFetcher ..., 在此不再贅述

不過, 可以搜尋『檔案內容』的『桌面搜尋軟體』, 恐怕都比較龐大。如果只是想搜尋『檔案名稱』, 那麼可以試試 :

.

雖然我也裝了上述其中一些『桌面搜尋軟體』, 但是相較起來還是 Locate32 用的得多一些, 不僅能夠搜尋檔案的大小、日期、副檔名 ... 等, 而且還能建立遠端目錄 (網路芳鄰分享目錄) 的索引。雖然不能完全取代『命令列自動完成』的那一部份, 但是 Locate32 的 檔案大小、日期、副檔名、遠端目錄 ... 等功能, 剛好和 Launchy, FARR 互補。

[Tools] 快速搜尋檔案:Locate32 (簡睿, 2005-07-16)

Locate32也是需要透過updatedb似的資料庫來找檔案,只要資料庫建立並更新妥當,找起檔案可是只能用「飛快」來形容。

.

Everything 似乎只能用在 NTFS, 偏偏我還有一半以上非 NTFS 的磁碟 ...

用Everything在電光石火間找到迷失的檔案 (簡睿, 2008-11-02)

... 原來Everything是直接讀取NTFS磁碟的USN log,因此能以極快的速度建立起檔名索引,

極速搜尋+FTP,快速找檔分享的最佳解決方案 – Everything (硬是要學, 2009-03-05)

除了檔案搜尋功能以外, Everything 還內建 Web 搜尋功能,也就是可以透過網路來搜尋家中或公司電腦的檔案,並下載回去。更妙的是 Everything 連 FTP 功能也內建,找檔之餘還可以順便抓檔,但可惜只能下載檔案,沒辦法上傳,算是一點小小的遺憾吧~

Everything 取代 Windows 內建搜尋,超快速檔案檢索工具 (電腦玩物, 2009-01-14)

「Everything」有免安裝版也不需要常駐執行,因為它啟動時可以立刻、迅速 ... 這種機動性與彈性才是我喜愛Everything最重要的原因,因為你可以想用的時候再打開Everything即可。

RerouteXPSearch 用更強搜尋軟體替換 XP 開始功能表的搜尋功能 (電腦玩物, 2009-01-14)

... 使用「RerouteXPSearch」這個免費、免安裝的小工具來輕鬆修改XP開始功能表上面的搜尋選項(注意喔!只適用於XP的開始功能表),幫我們指向其它替代搜尋工具。

.

下集待續 ...

p.s. 雖然我很認真在找, 但是以上最經典的介紹文章, 我覺得還是以 簡睿 和 電腦玩物 兩位前輩為主。

.


(...繼續閱讀.../...CONTINUE...)

2009年3月14日 星期六

壽司 DIY

 090314-1325-IMG_9755週末的中午, 全家來個 壽司 DIY ~~

.

090314-1312-IMG_9738 醋飯 090314-1316-IMG_9742 蘆筍
090314-1313-IMG_9740 海苔 090314-1331-IMG_9758 竹簾
090314-1312-IMG_9737先鋪上醋飯 090314-1316-IMG_9743 加上火腿
090314-1316-IMG_9744加上 Cheese, 蘆筍 090314-1317-IMG_9745 開始捲 (哇~手振~)
090314-1323-IMG_9753 切成幾等分 090314-1321-IMG_9749第一捲完成
090314-1321-IMG_9750第二捲再加上肉鬆 090314-1325-IMG_9755更多的成品

.

什麼? 太簡單 ...?

其實更重要的是, 這些照片是 我們家女兒第一次『掌鏡』拍的, 就這樣!!

.


(...繼續閱讀.../...CONTINUE...)

2009年3月11日 星期三

Timing Diagram Free Tool ---- DrawTiming

DrawTiming is a free command line tool, under GNU General Public License (GPL), to generate "timing diagrams" from ASCII input files. It reads a text file with an intuitive syntax, and outputs a timing diagram to an image file, ... including arrows indicating causal relationships between signal transitions.

sample

.

DrawTiming under Windows OS

As provided, DrawTiming has been tested on FreeBSD, Linux and Cygwin. You will need Magick++ API, ghostscript, ... as compile-time and run-time library. Detailed requirements are listed in "INSTALL" section of DrawTiming.

After some work, I found DrawTiming can work under Windows OS by below means:

  1. Follow "More info on Cygwin build" to install Cygwin and compile DrawTiming.  You will need 80MB disk space to download Cygwin, and another 300MB to install Cygwin environment.
  2. Copy the necessary supplement file from Cygwin together with drawtiming.exe to another PC (no need to install Cygwin). Because some dependency not figured out at this moment, this "portable mode DrawTiming" can only output PS or EPS. But you will needs only 10MB for such distribution.
  3.  Modify source code (listed here) to break the dependency from Magick++ API and ghostscript, and compile under Cygwin. This "lite EPS varient" can only output PS or EPS, and only need Cygwin1.dll and the drawtiming.exe itself ---- total 2MB.
  4. Compile the same source code as 3 with MSYS + MinGW. This "lite EPS varient" is a single binary file for only 1MB, without any dll requirement. You could download the zip archive.

The USAGE of DrawTiming explains command line switch and input file syntax. In addition to that, I would like to address some notes about the EPS output of DrawTiming.

  • Use GhostView to view EPS files.
  • The EPS files can also be inserted (or drag-drop) to MS-Office application (Word, Excel, PowerPoint, ...) to become a vector graphic object.
  • Other application, e.g. PhotoShop, XnView, can support EPS also.
  • Please check if there is a missing "exclamation" in the EPS file header 
    %!PS-Adobe-3.0 EPSF-3.0

.

Tips for DrawTiming

The input file syntax is well documented in USAGE section DrawTiming. While if you are eager to hands on, you could check the SAMPLES to find out what kind of timing diagram matches your need. Then, go back to the sample text input file (*.txt) to check the syntax.

Some additional tips as below:

  • Use # as whole-line remark to make the text input file more readable.
  • List all signals in the first time period, the order of signal names will define how they show up in timing diagram.
  • No need to put all statement in the same line, it is the same period until a period (.) appears.
  • In the same period, the statement order usually does not matter. But sometimes, the result might be different as show below.

token = "\"=\"". token = SYMBOL. token = "\".\"" => clock = "N+1" => deps.length = "0".

token = "\"=\"". token = SYMBOL. token => clock = "N+1" => deps.length = "0"; token = "\".\"".

statement2

.

UML & TDML

Please see below for some keywords related to Timing Diagram.

  • UML (Unified Modeling Language)

imageUML is a standardized general-purpose modeling language in the field of software engineering. ... UML is an open method used to specify, visualize, construct and document the artifacts of an object-oriented software-intensive system under development.

(wikipedia)

In year 2005, UML 2.0 add "Timing Diagram" as a new new artifacts. While, for those free UML software (StarUML, BOUML, umbrello), I found they support only Sequence diagram, but not Timing Diagram.

.

  • TDML (Timing Diagram Markup Language)

http://xml.coverpages.org/tdml.html lists many TDML related resources.

Timing designer is a pay-ware

The free online TimingTool Lite looks need Java 1.5, and after clicking "Demo" button you will be adviced to register an account. I did not give a further try.

AndyTiming is a also a free tool for timing diagram. It is more simple than DrawTiming.

.

AndyTiming ---- another timing diagram free tool

imageimage

AndyTiming (download link) DrawTiming
real-time convert the characters from the lower input dialog command line tool generate "timing diagrams" from ASCII input files
use special characters to "draw" the timing diagram convert the input statement to timing diagram (easier to maintain the logical relation)
cannot show causal relationships able to draw arrows to indicate causal relationships

.


(...繼續閱讀.../...CONTINUE...)

Cygwin 習作 ---- 編譯 DrawTiming

你應該也有這種經驗, 想找某方面的軟體, 尋尋覓覓尋尋覓覓的結果, 卻發現怎麼就只有 Linux 版本 ..., 這時候你怎麼辦? 會想動手把它『移植』到 Windows 嗎?

例如: 有機會和 Evernote 或 OneNote 互補的 BasKet Note Pads, 讓我差點想把 andLinux 或 coLinux 架起來....。而最近找到『畫時序圖』的免費工具 DrawTiming, 就讓我安裝了第一次使用的 Cygwin 來編譯執行檔, 最後又換成 MSYS + MinGW ...

. 

Cygwin 與 MinGW 的不同

Cygwin 與 MinGW 有什麼不同? 我的看法是: 比較複雜, 或是使用到較多外部函式庫的程式, 適合使用 Cygwin; 而比較單純, 沒有使用到外部函式庫, 而且又希望很容易分享出去的程式, 則適合使用 MinGW

其他說明可以參考 :

Cygwin ... 透過 ... Cygwin1.dll ... 建立一個系統呼叫轉換層,將原先 unix 世界裡的 system call 呼叫,... 映對到微軟視窗作業系統的系統呼叫,... 在 Windows 底下模擬出一個 unix 平台來

MinGW ... 將 gnu 這個 open source, free 的開發工具移植到微軟視窗平台,他直接產生出來的PC視窗平台機器碼,

MinGW 是取 Minimalist GNU for Windows 計劃之意,其目標為提供一個可在 Win32 平台上開發 Win32 native code 的 GNU GCC tools ,而非提供 Unix 程式移植到 Win32 平台之用,此即為其 Minimalist 之意。... 在 MinGW 中,有提供一套最小化的 unix shell 擬似執行環境,稱為 MSYS (Minimal SYStem)
... 如果是打算將原本在unix 環境下的程式移植到win32 的使用者,也不建議用這套工具, Cygwin 更合適。

簡單的說,cygwin在windows上提供了一個像linux (Linux-like)的環境,可以讓使用者在windows上執行linux的程式。

嚴格地說, cygwin 是模擬了 GNU 的環境, 而不是 linux 的環境,藉著 cygwin 的函式庫(library), 在 Win32 API 環境上提供了像 linux 般的API 環境. 利用 Cygwin, 你可以:

  • 將 linux 上的程式移植到 Windows , 而不必做重大的修改,只需將原始碼拿來作 configure 與 make 就好了。
  • 使用常用的 linux 工具程式,如grep, sed, awk等。
  • 撰寫 Win32 native console 或是 GUI 應用程式。

.

下載與安裝 Cygwin

  1. 連至 www.cygwin.com 下載 setup.exe
  2. 執行 setup.exe , 選取Download from Internet
    1. 選取距離自己最近的下載點
    2. 選取所需套件 // 建議全選devel, lib等分類的所有套件
  3. 執行 setup.exe , 選取Install from Local directory安裝套件 //最好選取 All user
    1. 選取所有套件
  4. 執行桌面上的 Cygwin 的 icon 圖示即可執行此一 Cygwin 環境。// 視窗大小可由icon 圖示右點按 選取調整字型 及佈置

step by step 可參考 http://linux.tnc.edu.tw/techdoc/shell/x52.html

.

例如, DrawTiming 官網的 安裝說明 提到已經在 FreeBSD, Linux, 和 Cygwin 底下測試過, 另外在 編譯成 Cygwin 版本的注意事項 又說到需要這些函式庫: ImageMagick, libMagick-devel, libbz2-devel, gcc-g++, make, xorg-x11-devel, ghostscript-base, 所以我裝 Cygwin 的步驟就是 :

  • 先下載 572K 的 Cygwin setup.exe,
  • 執行 setup.exe, 選『下載但不安裝』 (Download Without Installing)
  • 指定下載檔案到本機的存放位置
  • ... 選下載點, 例如 ftp://ftp.???.???.edu.tw (台灣的幾個大學)
  • ... 選 下載的函式庫
    這是一個樹狀選單, 如果不清楚到哪一個類別節點去找函式庫, 可以在 本機存放位置的 ftp://ftp.???.???.edu.tw 子目錄底下找到 setup.ini 的內容, 例如下面的例子 :
  • 下載完成之後, 再執行一次, 這次選『從本機的存放位置安裝』(Install from Local Directory) ...

setup.ini 的內容

@ libMagick-devel
sdesc: "Image manipulation software suite (development)"
ldesc: "ImageMagick is a software suite to create, edit, and compose bitmap ..."
category: Graphics
requires: cygwin libbz2-devel
libfontconfig-devel libfpx-devel libfreetype2-devel libjasper-devel libjbig-devel libjpeg-devel liblcms-devel libpng12-devel libtiff-devel libwmf-devel libxml2-devel libX11-devel libXext-devel zlib

...

@ xorg-x11-devel
sdesc: "Obsolete package"
ldesc: "Obsolete package"
category: _obsolete
requires: libX11-devel xorg-x11-base

可以得知 libMagick-devel 在 Graphics 這個類別節點底下, 而且它同時需要 cygwin libbz2-devel, 這些相依的函式庫 (dependency), 會在點選 libMagick-devel 時被自動納入, 而 xorg-x11-devel 則是不存在 (_obsolete)

下面是我在 Cygwin 內定的部份之外, 配合 DrawTiming 再勾選的函式庫 :

類別節點 函式庫
Devel gcc-core
gcc-g++
make
Graphics ImageMagick
ghostscript
ghostscript-fonts-others
ghostscript-fonts-std
libMagick-devel
Libs libbz2-devel

_obsolete (不存在)

ghostscript-base
xorg-x11-devel

.

製作 Cygwin 版的 DrawTiming

假設 drawtiming-0.7.tar.gz 存放在 e:

  • 點選桌面的 Cygwin 圖示
  • cd cygdrive/e/
    ( cygwin 底下的 e: 會對應成 /cygdrive/e/, c: 會對應成 /cygdrive/c/ )
  • tar -xzf drawtiming-0.7.tar.gz
  • cd drawtiming-0.7
  • ./configure
  • 依照需求 make
    make           (編譯執行檔)
    make install  (編譯並自動安裝到)
    make check  (編譯並測試執行結果)
  • 回到 Windows, 檢查 *.gif 的結果是否正確

如果只需要在一台機上器上執行 DrawTiming, 到這邊就算完成了。

總計 Cygwin 版完整的 DrawTiming, 過程中除了120KB 的 DrawTiming 原始程式碼之外, 還要下載 Cygwin 將近 80MB 的安裝檔 (含 gcc, ImageMagick, ghostscript ... 等), 安裝之後則變成大約 300MB 的 Cygwin 的執行環境 ....。不過, 這一番辛苦之後可以正確輸出 GIF, JPG, PS, EPS。

.

『免安裝 Cygwin』的 DrawTiming

經過一番嘗試, 我發現可以抽取出一些 DLL, 變成『免安裝 Cygwin』在 Windows 命令列執行的 DrawTiming。而這個『免安裝版』因為字型相依性還沒全部解決, 所以只能輸出 PS, EPS 格式。雖然功能上打了折扣, 但是只需要複製大約 10MB 的檔案, 就 可以在另一台『沒有安裝 Cygwin 的電腦』執行 DrawTiming。

把下面這些檔案, 連同在 Cygwin 底下編譯的 drawtiming.exe 複製到同一個目錄,
其中, type-ghostscript.xml 裡面的路徑設定 /usr/share/ghostscript/fonts/ 要去掉

例如 :

... metrics="/usr/share/ghostscript/fonts/a010013l.afm" glyphs="/usr/share/ghostscript/fonts/a010013l.pfb"

改成 :

... metrics="a010013l.afm" glyphs="a010013l.pfb"

cygbz2-1.dll
cygexpat-1.dll
cygfontconfig-1.dll
cygfreetype-6.dll
cygiconv-2.dll
cygjpeg-62.dll
cyglcms-1.dll
cygMagick++-1.dll
cygMagickCore-1.dll
cygMagickWand-1.dll
cygtiff-5.dll
cygwin1.dll
cygX11-6.dll
cygXau-6.dll
cygxcb-1.dll
cygxcb-xlib-0.dll
cygXdmcp-6.dll
cygXext-6.dll
cygz.dll

原本在 c:\cygwin\bin

懶得篩選, 也可以 *.dll 全部複製
n019*.* 原本在 c:\cygwin\usr\share\ghostscript\fonts

type.xml
type-ghostscript.xml
type-solaris.xml
type-windows.xml

原本在 c:\cygwin\lib\ImageMagick-6.4.0\config

.


(...繼續閱讀.../...CONTINUE...)

2009年3月10日 星期二

畫時序圖的免費工具 DrawTiming

DrawTiming 是『畫時序圖』的免費工具, 可以從命令列產生時序圖, 不僅描述時序的文字檔語法非常直覺, 而且還能畫出時序的相依性。
sample

.

Windows 也能使用 DrawTiming

原本 DrawTiming 要自己在 Linux 或 Cygwin 底下編譯成執行檔, 而且要搭配 Magick++ API 等 ..., 不過, 我改造出一版 只能產生 PS, EPS 格式的『免安裝版』, 請從 這裡下載 zip 檔。
之後就可以 在 Windows 命令列執行 DrawTiming ...

  • 將 zip 檔解壓縮到任意目錄
  • 開啟命令列 ---- (附屬應用程式-命令提示字元, 或是 開始-執行-cmd),
  • 切換到那個目錄
  • 執行 sample-eps.bat
  • 或是手動執行 drawtiming  -o  sample.eps  sample.txt
    -o *.eps    => 指定輸出檔名
    *.txt         => 輸入檔名
  • 順利的話就可以產生如下幾個 *.eps 檔。

.

  • 可以安裝 GhostView 來觀看 EPS 檔,
  • 可以將 EPS 檔插入 (或拖放) 到 Word, Excel, PowerPoint 等 MS-Office 軟體而成為向量圖檔
  • 繪圖軟體 (例如: PhotoShop), 看圖軟體 (例如: XnView) 也可以支援 EPS 檔,
    ---- 歡迎大家補充
  • 原始程式 EPS 檔頭缺了一個驚歎號, 已經一併修正
    => %!PS-Adobe-3.0 EPSF-3.0

 

sample.eps
sample_font.eps (和 sample.eps 一樣, 但文字變大)

guenter 
guenter

statement1

statement1

memory

memory

.

DrawTiming 使用技巧

DrawTiming『描述時序的文字檔語法』非常直覺, 並且有『命令列參數』可以調整字體大小, 圖檔格式 ... 等, 這些在 官網上有詳細的說明, 就不再贅述。

如果急著上手, 也可以從 示範的輸出結果『看圖說故事』, 直接從圖形上找到想要的圖樣, 再回頭研究 *.txt 文字檔案的相關內容。

以下補充其他的注意事項 :

  • 善用 # 號開頭的整行註解, 讓檔案更具可讀性
  • 依照要顯示的順序列出所有的變數和它們的初始值, 不確定的值還是應該指定 Z (high Z) 或 X (don't care),
  • 不需要全部擠在同一行, 在句號之前都是表示同一個單位時間
  • 在兩個句號之間 (同一單位時間), 不需要特別注意順序, 但是除了下面這種例子 :

token = "\"=\"".
token = SYMBOL.
token = "\".\"" => clock = "N+1" => deps.length = "0".

token = "\"=\"".
token = SYMBOL.
token => clock = "N+1" => deps.length = "0";
token = "\".\"".

statement2

.

目前有下面的小問題, 不清楚是否有相關語法可以解決

  • 當有多個訊號而希望分成幾個群組時, 無法插入空白行, 暫時的解決方法是插入一個沒有變化的假訊號當作區隔

.

UML 與 TDML

在搜尋『畫時序圖』軟體的過程, 我用 Timing Diagram 當關鍵字, 發現另外兩個名詞

  • UML (Unified Modeling Language, 統一塑模語言)

    image軟體系統發展人員用以建造模型 ... 使得工作團隊能夠:將系統具象化、系統結構化、行為規格化、建構系統、以及記錄發展系統過程中之各項決策。...

    UML所涵蓋的內容是表示法而非程序,UML是與程序無關的,也就是說,無論以任何程序來開發軟體系統,都可以使用UML來建構軟體模型。 (淺談UML 資策會)

2005年, UML 2.0 增加 時間圖 (UML Timing Diagram) 的定義, 不過可惜的是找到幾種免費的 UML 軟體, StarUML, BOUML, umbrello, 看來都只有『循序圖』(Sequence diagram), 而沒有『時序圖』(Timing Diagram)

.

  • TDML (Timing Diagram Markup Language)

http://xml.coverpages.org/tdml.html 有 TDML 的說明, 也列出一些軟體, 不過我並沒有找到合用的軟體來畫『時序圖』。

付費版的可以參考 Timing designer。

有一款免費線上使用的 TimingTool Lite, 看來需要 Java 1.5, 而且點下 "Demo" 之後會提示要註冊一個帳號, 所以我還沒使用過。

AndyTiming 是我同事找到的另一款免費的時序圖工具, 它比 DrawTiming 更簡單, 請見下面的說明

.

AndyTiming 另一款免費的時序圖工具

imageimage

AndyTiming (下載點) DrawTiming
在下半視窗直接輸入一串字元來代表波形 命令列工具
用字元『畫出』時序圖 從時序描述檔案轉換成圖形 (邏輯上較為嚴謹)
無法表示『時序的相依性』, 也不能標示『時間間隔』 可以標示『時序的相依性』與『時間間隔』

.


(...繼續閱讀.../...CONTINUE...)

輕鬆學會 MSYS + MinGW ---- 在 Windows 底下重新編譯 GNU 程式

因為 DrawTiming 的關係, 我安裝了第一次使用的 Cygwin 來編譯執行檔, ....

後來, 編譯環境換成 MSYS + MinGW 之後, 就可以擺脫 cygwin1.dll, 而直接在 Windows 底下執行 DrawTiming 了。

MSYS + MinGW 真的是苗條許多, 下載 20MB, 安裝後 70MB, 相形之下, Cygwin 就顯得龐大 (下載 50~80MB, 安裝後 250~300MB),

.

configure --> build --> install 三部曲

MinGW 與 Cygwin 的不同處 (E-Office學園, 2006-02-05)

MinGW ... 將 gnu 這個 open source, free 的開發工具移植到微軟視窗平台,他直接產生出來的PC視窗平台機器碼,

UNIX 世界Open source 的玩法,大約都是 ... 取得 Source code,然後 configure --> build --> install 三部曲

configure 會先蒐集你平台上各個工具元件實際安裝路徑,根據它們來調整軟體 Project檔(通常它是一個Makefile),之後才執行 make 去 Build 出軟體,透過 Install 腳本,最後再把作好的軟體 install (安裝)到適當的資料夾來使用。這 MSYS 就可以讓 MinGW 這編譯工具也具備第一步的 configure 功能。

簡單的說 :

下載原始碼 例如 : DrawTiming
解開原始碼

tar -xzf drawtiming-0.x.tar.gz

執行 configure 自動調整編譯環境

cd drawtiming-0.x
./configure

依照需求 make make           (編譯執行檔)
make install  (編譯並自動安裝到)
make check  (編譯並測試執行結果)

而 MSYS + MinGW 就是讓我們能在 Windows 底下重新編譯 GNU 程式的 Minimum System

.

安裝 MinGW

GCC在windows的開發環境叫MinGW
MinGW代表Minimalist GNU for Windows
官方網站在 http://www.mingw.org/
sourceforge的專案網站 http://sourceforge.net/projects/mingw/

...

安裝過程中會詢問你還需要安裝哪些套件
通常會再選make跟g++

...

其餘詳見 installation of GCC on windows (koukai的Blog, 2007-05-17)

koukai 有提到要設環境變數, 不過我覺得 要搭配 MSYS 使用, 其實可以不必設定環境變數

可以先下載 MinGW-5.1.x.exe 再透過它來下載其餘的檔案, 我選了make跟g++之後, 總共下載了下面這些檔案:

mingwrt-3.15.1-mingw32.tar.gz
w32api-3.12-mingw32-dev.tar.gz
binutils-2.17.50-20060824-1.tar.gz
gcc-core-3.4.5-20060117-3.tar.gz
gcc-g++-3.4.5-20060117-3.tar.gz
mingw32-make-3.81-20080326-2.tar.gz
mingwrt-3.15.1-mingw32.tar.gz

安裝過程 在 koukai 的 installation of GCC on windows 有清楚的說明

.

安裝 MSYS

MSYS是一套類似cygwin在windows建構出unix-like的shell
並擁有一些常見的GNU utilities可以使用,也可以利用mingw的一些程式

 

... 首先安裝好mingw,可參閱http://koukaipan.pixnet.net/blog/post/4716500
... 再來安裝MSYS
... 問你要不要進行post install,鍵入y,
問你有沒有安裝mingw,當然有,鍵入y,
位置填入你mingw安裝位置,記住,這邊路徑目錄的斜線是正斜線
...
其餘詳見 MSYS環境建置 (koukai的Blog, 2008-10-10)

安裝完成之後, 點選桌面的 MSYS 圖示, 進入類似 Linux 的命令列, 操作 tar, configure, make ... 等指令, 就大功告成了。

不過, 這邊有個小問題, 是無法確定磁碟機如何對應, 像 cygwin 底下的 e: 會對應成 /cygdrive/e/, c: 會對應成 /cygdrive/c/ (參見 安裝Cygwin, Forster Wu, 2001-03-09), 但不清楚 MSYS 的作法 ...

所以, 我把下載的檔案用 7-Zip 或 IZArc 直接解壓縮到 x:\msys\1.0\home 底下, 也就是 MSYS 的 /home 底下

.

打造輕巧版的 DrawTiming

原本 DrawTiming 提供的是 120KB 的原始程式碼, 在 Linux 或 Cygwin 底下編譯成執行檔, 再配合 Magick++ API 來產生圖型檔 。

除了第一個純 Linux 的環境我沒試過之外, 越往下的編譯執行環境就是越輕巧的版本

  • 配合 Linux 底下安裝的 Magick++ API, ghostscript 字型,
    自行編譯 Linux 命令列的 DrawTiming 執行檔
  • 配合 Cygwin 底下安裝的 Magick++ API, ghostscript 字型,
    自行編譯 Cygwin 命令列的 DrawTiming 執行檔 (整套 cygwin 約 300MB)
  • 在 Windows 命令列執行 DrawTiming
    ----
    『免安裝 Cygwin』, 但需要 Cygwin 的一堆 DLLs, ghostscript 字型 ... 等 (共10MB)
  • 改造程式碼 (詳見 Google Code),  使其獨立於 Magick++ API, ghostscript ... 
    ---- 使用 Cygwin 編譯, 執行時需要執行檔本身再加上 cygwin1.dll (共 2MB)
  • 真正的輕巧版, 改用 MSYS + MinGW 編譯, 連 cygwin1.dll 都不用了, 產生的執行檔拿到沒有裝 MSYS + MinGW 的別台 Windows 電腦還是一樣可以執行 (只要 1MB, 下載點)

.


(...繼續閱讀.../...CONTINUE...)

沒有書籤的網路生活 ---- 疏解『書籤過載』的問題

是的!!『沒有書籤的網路生活』!!

雖然不是刻意養成的習慣, 但是在我最常使用的 Firefox (85%) 和 IE (15%) , 確實已經很久沒有使用書籤的功能。取而代之的是:

  • 網址列自動完成,
  • Google 搜尋, Google 工具列, iGoogle,
  • Google (RSS) Reader,
  • Net Snippets, Evernote,
  • 歷史, 網頁記錄
  • Auto Dial

底下就來說明一下『沒有書籤的網路生活』是怎麼一回事吧~~

.

在『書籤』能夠更有『靈性』之前 ...

回想那個用了很多書籤的年代, 我常常有這樣的感概 :『書籤怎麼不是活的?』---- 最常用的書籤有時要往下找好幾層, 反而是很少使用或是已經失效的書籤卻還有一大堆高掛在那裡, 而且書籤通常只會越來越多, 越來越多..., 到最後, 尾大不掉的書籤樹, 就像『開始功能表』龐大的程式樹一樣, 實用性越來越差....

所以, 在『書籤』能夠更有『靈性』之前, 還是需要一些方法來『疏解書籤過載的問題』。

底下介紹的這些方法, 算是給大家參考著『擇優使用』, 倒不一定要像我這樣變成『沒有書籤的網路生活』。

.

網址列自動完成

依照使用頻率和實用性, 第一個首推『網址列自動完成』, 只要鍵入兩個字母, 常用的網址立刻手到擒來。不信你看, 底下這些最近常用的網址, 真的大多數只要兩個字母或甚至一個字母就會跳出來!!
2397e353e91b2196aed504e447e6e6c9

關鍵字 網址 名稱
re http://www.google.com/reader/ Google (RSS) Reader
eu http://eucaly61.blogspot.com/ 我的部落格
bl http://www.blogger.com/home Blogger 資訊主頁
cw http://www.cwb.gov.tw/ 中央氣象局
mo http://www.mobile01.com/mytopics.php mobile01
tw.d http://tw.dictionary.yahoo.com/ 字典
lo http://look.urs.tw/showhistory.php?BlogID=46311 我的部落格觀察
my, stat http://my9.statcounter.com/project/ 我的點閱數
in http://www.google.com/insights/search/ Insights for Search
ru http://www.ruten.com.tw/ R拍
sh http://shopping.pchome.com.tw/ 線上購物
bi http://tw.bid.yahoo.com/ Y拍

.

Google 搜尋, Google 工具列, iGoogle

不記得網址的, 就直接搜尋, 例如 高速公路路況 或 freeway。或是換了一台電腦, 沒有記錄到自己熟悉的網址 (當然也就無法自動完成), 那就到 http://www.google.com 搜尋 playpc, lvchen 或是 angelo。甚至連我最近常用的 Google Patent Search (專利檢索), 我也從來不記網址, 是直接找 patent 就到了。

而有了瀏覽器的『搜尋框』或是 Google 工具列, 這些搜尋的動作就變得更方便了。

另一方面, 其他常用的 Google 工具, 例如 Gmail, Google Reader, Picasa ... 就直接讓它們住在 iGoogle 首頁, 或是從 iGoogle 的 Google Services Links 小工具, 就可以找得到。

image

.

Google (RSS) Reader

好啦, 我必須承認我還是用了一大堆『廣意的書籤』, 它們都是 RSS, 而且都收集在 Google (RSS) Reader。平時可以很方便的看到誰又有新文章, 而不必四處奔波。而要到哪個網站或部落格, 也是透過 Google Reader 連過去。

關於 Google Reader, 可以參考海芋的這幾篇 :

.

Net Snippets, Evernote

接下來的 Net Snippets, Evernote 其實也算是書籤的變形,

  傳統書籤 Net Snippets Evernote
記錄形式 名稱, 超連結 傳統書籤 及 網頁內容 並存 自由筆記, 網頁連結
組織方式 樹狀 樹狀 筆記本, 多重標籤
搜尋功能 陽春搜尋 陽春搜尋 全文搜尋, 標籤搜尋
延伸功能 bookmarklet 跨瀏覽器 多功合一

或許大家並不熟悉 Net Snippets , 它是一款和 Scrapbook 類似的網頁剪貼軟體, 但不同的是, Net Snippets 是瀏覽器之外的獨立程式, 詳情請看 我的 Firefox Addons List。

用 NepSnippets Desktop Bar, 把『鏈結』 或『選取範圍』拖放到 Desktop Bar, 就可以收錄 捷徑 或網頁內容到 NetSnippets

Evernote 則是最近剛介紹過 (1), (2), (3), 一般而言, 我會把需要 全文檢索, 以及 稍後閱讀, 待辦事項 ... 等還要繼續追蹤利用的網頁內容收集在 Evernote。但有些場合, 例如某些網頁貼到 Evernote 會遺失比較多格式, 再以 Net Snippets 輔助。

.

歷史, 網頁記錄

對於『明明記得曾經看過』, 卻沒有記錄在『廣義的書籤』的網頁, 只好到瀏覽器的『歷史』去翻查。

或者, 也可以試試 google 網頁記錄, 雖然它只限於『在 Google 上搜尋過的內容及造訪過的網站』, 但是它的搜尋功能可以更有效的幫我們找回那些『明明記得曾經看過』的網頁。

詳情請看 讓Google Web history(搜尋記錄)紀錄搜尋過的關鍵字和網頁 (硬是要學, 2007-05-20)

.

Auto Dial

Auto Dial 依據實際使用的狀況自動調整, 把「真正常用」的網站自動排列在新分頁中,愈上方愈大的表示最近愈常使用的網站。Auto Dial 也算是另一種替代書籤的形式, 雖然比起前面介紹的幾種, 我在 Auto Dial 用得算是比較少的, 但說不定你會愛上它哦!!

詳情請看 Auto Dial /Speed Dial 自動或自訂撥號,瀏覽常用網站哪個快?(電腦玩物, 2008-08-28)

.

你的書籤呢 ?

好啦, 或許你可以告訴我, 有了這麼多不同形式的『替代書籤』之後,
倒底還有什麼非得要記在『書籤』的呢?

.

[2009-03-28更新]

把為了同一個資訊目的而找到網頁群匯整在與那個目的直接相關的工作場合 ……

(如某篇BLOG文章, EMAIL),一方面減書籤的負擔, 一方面用一種專案的方式使它們歸檔,有朝一日再度需要它們時,你會知道去哪裡找到它們

論文書籤 (updating) (anabiosis n., 2009-03-20)

看到網友連結到這篇文章, 這才讓我想起居然漏掉了『部落格』本身就是『筆記+書籤』的彙集, 例如 :

.


(...繼續閱讀.../...CONTINUE...)

2009年3月9日 星期一

2006-04 親子勞作 -- 三隻熊, Wheels on the Bus

2006-04 三隻熊 (Goldilocks and the Three Bears)

  • 噴墨列印 + 扇子 ---- 三隻熊
  • 媽咪手工縫紉 ---- Goldilocks 的金髮
  • 家裡的餐具, 椅子, 睡袋
  • 學校的桌子
  • 阿姨贊助的洋娃娃
吃粥
CIMG1031 09
坐椅子
CIMG1031 14
床上休息
CIMG1031 18
三隻熊回來了 ...
CIMG1031 23

.

2006-04 Wheels on the Bus

  • 紙箱 + 列印拼貼 ---- 公車
  • 玩具車, 玩具喇叭, 玩具娃娃 ---- wheels, horn, baby
  • 衣架 ---- 雨刷 (wipers)
The wheels on the bus go round and round
CIMG1059 11
The wipers on the bus go Swish, swish, swish
CIMG1059 30
The horn on the bus goes Beep, beep, beep
CIMG1059 56
The baby on the bus go "Wah, wah, wah"
CIMG1059 75
在家彩排時娃娃掉了, 可是穿了公車道具怎麼也撿不到, 一整個可愛到不行~~~
CIMG1059 84
CIMG1022 05
學校正式演出, 整個呆掉,
道具動作全部不見, 從頭立正到尾 ....

.


(...繼續閱讀.../...CONTINUE...)

2007-04 親子勞作 -- Who Will Fill the House, Gino's Challenge

2007-04 Who Will Fill the House

  • 大瓦楞板 x3 + 壁報紙拼貼 ---- 屋子
  • 瓦楞拼貼/著色 ---- 馬, 牛, 豬
  • 雷射列印 + 瓦楞板 ---- 稻草
  • 手電筒 + 爸比的創意 ---- 蠟燭
  • 斗笠 + 媽咪的考思 ---- 農夫裝
大兒子把馬牽進屋裡
CIMG2048 137
把牛牽進屋裡
CIMG2048 139
把豬牽進屋裡, 屋子還是很空
CIMG2048 141
二兒子運了很多稻草進來, 屋子還是很空
CIMG2048 156
複賽時, 才開始沒多久, 布景就倒了
CIMG2078 020
小兒子點蠟燭, 光線照滿整個屋子
CIMG2078 078

.

2007-04 Gino's Challenge

  • 大瓦楞板 x3 + 樹葉圖案包裝紙 + 壁報紙拼貼 ---- 森林
  • 瓦楞拼貼/著色 ---- 松鼠朋友, 松鼠媽媽, 松鼠爺爺
  • 樹藤
  • 紅色運動服 + 金蔥線 + 紙雕大尾巴 ---- 吉諾松鼠裝
  • 其他創意 : 兩種布景共用大瓦楞板的兩面

CIMG2078 414

.


(...繼續閱讀.../...CONTINUE...)

2008-04 親子勞作 -- 老鼠取親 the Mouse Wedding

2008-04 老鼠取親 the Mouse Wedding

  • 畫架, 磁性白板
  • 瓦楞板剪貼
  • 磚紋壁紙
  • 老鼠娃娃
  • IKEA 老鼠面具

.

美麗的老鼠女兒要嫁給世界上最強壯的人 ...
080418-IMG_8094

.

太陽是世界上最強壯的嗎 ?
080418-IMG_8100

.

雲遮住了太陽, 雲是世界上最強壯的嗎 ?
080418-IMG_8104

.

風吹走了雲, 風是世界上最強壯的嗎 ?
080418-IMG_8110

牆擋住了風, 牆是世界上最強壯的嗎 ?

老鼠在牆上打洞 ...

.


(...繼續閱讀.../...CONTINUE...)