:::
顯示具有 電腦軟體 標籤的文章。 顯示所有文章

RemoteApp雜記 / Memo About RemoteApp

RemoteApp雜記 / Memo About RemoteApp

2014-08-05_131414

這篇記錄一下最近研究RemoteApp的記事。由於不是很正式的教學,所以格式上比較隨意,請大家見諒。

This article is the memo about RemoteApp research.


為什麼個人要用RemoteApp? / Why I Need RemoteApp?

在講RemoteApp之前,我先講一下什麼樣的情況,個人會須要用到這種方案。

現代人的生活很多時候會跟多臺電腦打交道。以我為例,先不論機房有一堆孩子(伺服器)要顧,我自己在實驗室有一臺桌機、平時在外面移動時則是有一臺筆電,回到宿舍時也還是用那一臺筆電工作。因此我自己就有兩臺電腦在使用。

在這個情景底下,我主要使用的是實驗室效能比較好的桌機,而筆電通常是利用遠端桌面連線回到桌機操作。大部分的檔案也是存放在桌機為主。

Windows的遠端桌面連線是Windows少數幾個偉大的設計之一。在網路頻寬允許的情況下,可以讓你的連線裝置彷彿就像是在遠端操作一樣。

但是實際上,遠端桌面連線因為功能太過龐大,有時候我只是想要使用某個應用程式,像是Photoshop,這時候我還是得連線到整個遠端桌面,然後才能開啟Photoshop操作,說來也是一種麻煩。

這就讓我興起了「我可只連線到遠端其中一個應用程式嗎?」的想法,因此就開始進行RemoteApp的小小研究。

遠端桌面連線的RemoteApp / RemoteApp of Remote Desktop Service

這篇所講的RemoteApp,一開始是指Windows伺服器版本提供的功能。RemoteApp是遠端桌面連線的延伸應用,自從Windows Server 2008 R2之後才能夠使用。RemoteApp的特色在於透過遠端桌面連線的控制,把要顯示的資訊傳送到客戶本地端,由客戶本機端的Windows來負責產生畫面。

實作時是由伺服器端提供RemoteApp連線設定檔.rdp、或是包裝成.msi的安裝檔案,然後交給客戶端去做安裝與配置,例如放在桌面上提供使用者點選。這個RemoteApp連線設定檔本身已經包含了遠端伺服器的連線位置與登入資訊,以及要開啟的應用程式設定。客戶端只要開啟這個連線設定檔.rdp,等待連線,然後就會出現有如本機上運作的RemoteApp。

RemoteApp是伺服器類型的Windows才有提供的功能,但是Windows 7之類的個人電腦也可以作為RemoteApp伺服器。做法是使用RemoteApp Tool

RemoteApp Tool適用於Windows XP SP3、Windows 7、Windows 8,幾乎目前常用的Windows都可以運作。

2014-08-05_134604

RemoteApp Tool不需要安裝,開啟之後就能夠設定要提供連線的應用程式。我自己馬上就建立了一個Line試試看。

image

從Properties裡面可以設定應用程式的執行細節,最主要的是設定應用程式的執行路徑 Path。設定好RemoteApp之後,接著你可以使用Generate RDP file產生.rdp的遠端連線設定檔,再傳送到客戶端來連線。客戶端只要開啟.rdp,就會連線到這臺伺服器,然後開啟Line的應用程式。

雖然設定很簡單,但實際上運作時卻有許多問題。第一個是遠端連線速度不是很通順。開啟RemoteApp的時候,基本上就跟開啟遠端桌面連線一樣,但還要加入開啟應用程式的時間,因此連線時的時間會有不小的延遲。特別是當我們習慣開啟本地端的應用程式之後,再來跟RemoteApp開啟速度相比,就會覺得不甚理想。

然後是我使用Line的時候遇到了不少問題。也許是Line本身用了特殊的框架,導致開啟時不太順暢之外,一使用輸入法就會造成應用程式當機。

此外,這個RemoteApp Tool的另一個問題在於一次只能一個session連線。就跟一般Windows使用遠端桌面連線一樣,RemoteApp連線時就是佔了一個使用名額。當有別人開啟RemoteApp的時候,就算我來到伺服器的本地端,我看到的會是一個需要登入的畫面。而當我登入的時候,別人正在使用的RemoteApp則會被踢出去。

如果這些電腦都只有你個人使用的話,這倒沒什麼問題。但是在企業內希望使用RemoteApp共享安裝軟體的話,這問題就相當致命。由於Windows Server 2008等伺服器版本可以提供同一帳號多重遠端桌面,所以才能夠提供RemoteApp正常使用吧。不過如果Windows 7強制設定單一帳號多重登入的話,那也許也能夠提供一樣的功能也說不定。我稍微找了一下,不同的Windows版本有不同的設定方式:

但是因為RemoteApp感覺還是不太好用,所以我就嘗試找找看有沒有其他的替代方案,然後找到了Winflector

RemoteApp替代方案:Winflector / RemoteApp Alternative Solution: Winflector

2014-08-04_235245

Winflector是一個類似RemoteApp的替代方案。免費版本可以提供兩個客戶端同時連線。

2014-08-05_141446

一開始一樣是先安裝Server版本,安裝完之後要重新開機。然後接著設定應用程式,這些設定類似RemoteApp。再來設定可以登入的使用者的帳號與密碼,這部分跟Windows的帳戶是分開獨立的。另外連接埠要修改掉被佔用的80,改為其他連接埠之後,才能正常連線。

2014-08-05_131414

Winflector並不會產生像是RemoteApp這樣的連線設定檔,客戶端必須開啟Winflector客戶端程式,輸入伺服器端的IP連線資訊,接著就能夠在Applications看到伺服器端提供的應用程式,點選兩下就能夠直接開啟了。

開啟應用程式的速度不僅很快,而且輸入法、剪貼簿、視窗整合等操作都很流暢,彷彿真的就像是在本機端運作的程式一樣。而Winflector的連線也不會佔用遠端桌面連線的名額,不會把本機端使用者踢掉。

只是有幾點要注意的是事情:

  • 應用程式仍然是在遠端伺服器運作,因此檔案存放的「桌面」是伺服器端的「桌面」,而不是客戶端的桌面。如果是RemoteApp的話,會直接開啟網路上的芳鄰來作為檔案交換的途徑,但是Winflector並沒有提供這種功能。
  • 免費的Winfector只能提供兩個連線。

此外,Line開起來會一片空白,還是無法使用。

總而言之,Winfector意外地讓我很滿意,於是我最近會試著在桌機常駐Winfector的服務,讓筆電來連線使用看看。再試試看有沒有什麼問題。


為什麼團隊需要用RemoteApp? / Why Our Team Need RemoteApp?

個人使用的話,Winfector應該就能夠滿足需求了。就算是遠端檔案無法直接儲存在客戶端,也可以利用Dropbox來同步檔案。可是要在團隊裡面使用的話,這樣子的架構還不能算是完整。

為什麼團隊會需要使用RemoteApp?最大的原因仍然是因為軟體授權不足,或是軟體需要在高等級機器上運作,不方便安裝在筆電等效能較差的電腦上。

Citrix的XenApp / Citrix’s XenApp

2014-08-05_150131

現在學校大多是使用Citrix的XenApp方案,這個方案其實也挺不錯的。它類似RemoteApp,但是運作RemoteApp的伺服器是以XenServer建構而成的Windows虛擬機器,而非實體的Windows。在每次要使用XenApp的時候,伺服器端會自動建立一個可以運作應用程式的虛擬機器,提供XenApp連線。然後在關閉XenApp之後把虛擬機器移除掉。因此每次開啟XenApp,看到的都會是預設軟體的樣子,使用者無法自訂軟體。

在檔案傳輸方面,XenApp會在連線時,把使用者本機端的硬碟作為網路上的芳鄰連線過去。使用XenApp開啟檔案時會看到磁碟機有幾個是網路上的硬碟,這才是本機端的硬碟。至於XenApp裡面看到的桌面跟C磁碟機都是虛擬機器本身的裝置,關閉XenApp之後就會消失。

在這樣的架構下,XenApp一樣有連線人數的限制,端看學校購買的授權數量,決定可以同時可以使用的連線人數。另一方面,XenApp的架構也是一個付費方案,所以就不是我的優先選擇。

Linux的X Window / Linux’s X Window

image

說到遠端桌面,大家是不是太專注在Windows上,而忘記了Linux本身就有強大的X Window呢?

其實X Window所提供的X11 Forwarding本身就能達到「只開啟應用程式」的效果。這篇SSH X11 Forwarding介紹的很詳細當然,鳥哥則是對X Window System則有較詳細的介紹鳥哥則是對X Window System則有較詳細的介紹。我也在Ubuntu上運作成功。做法是:

  1. 先在伺服器Ubuntu上安裝SSH:sudo apt-get install –y sshd
  2. 設定好Ubuntu的網路,確認客戶端Windows 7可以連線到Ubuntu
  3. 客戶端Windows 7上安裝Xming,要重開機
  4. 開啟PuTTY,設定連線到Ubuntu,啟用Enable X11 forwarding
    2014-08-05_151611
  5. 登入SSH,進入命令列
  6. 以指令開啟要執行的應用程式,例如gedit
  7. 稍等片刻,客戶端Windows就會出現原本只能執行在Linux上的gedit

image

雖然步驟繁多,但是能在Windows開啟Linux的應用程式這點還是挺令人感到新奇的。不過實際上操作一下,發現問題有幾點:

  • 剪貼簿運作正常,可以在Linux應用程式與Windows應用程式裡面複製貼上
  • 無法使用Windows的輸入法,但可以複製貼上過去
  • 檔案系統依然是Linux上的檔案系統

儘管如此,由於X Window並沒有限制連線數量,只要硬體效能足夠,應該可以提供大量使用者連線操作才是。

在Linux上運作Windows的程式 / Run Windows Application on Linux

如果要走X Window的方式提供遠端應用程式服務,那另一個問題在於,我們平常用的還是Windows的應用程式,而不是Linux的應用程式。

事實上,Linux有許多可以運作Windows應用程式的方法,以下兩個方案是最常見的做法:

  • Wine:GPL開放原始碼軟體
  • CrossOver:付費軟體,有提供限時試用版

這兩種方案都是使用轉換技術,講Windows的架構轉換成可以在Linux執行的環境,以在Linux開啟Windows的應用程式。雖然Wine是開放原始碼的軟體,但是使用上似乎有諸多問題。不同Wine版本、不同的Linux發佈版、不同的Windows應用程式版本之間對應會有許多問題。反觀CrossOver似乎評價就比較正面(也許是因為付費了,稱讚一下也好?)。

如果有這些軟體搭配的話,我在想可能的架構就可以變成:

  • 在Linux伺服器上架設Wine環境
  • 安裝Windows應用程式
  • 客戶端上連線到Linux伺服器,開啟以Wine轉換的Windows應用程式

這樣子理想上就能達到不限人數的遠端應用程式的目標。不過我們還有其他問題還沒解決,一個是輸入法,另一個是檔案傳輸。輸入法的部分,這是另一個世界,我還得去研究看看;但是檔案傳輸的部分則比較簡單,我想可以用SFTP或是ownCloud來解決。

使用SSH交換遠端應用的檔案 / File Sharing with RemoteApp Server By SSH

最簡單的做法是使用SFTP連線到Linux伺服器。也就是說,連線到Linxu伺服器時,我們同時使用了三種服務:

  • SSH command
  • SSH X11 Forwarding
  • SFTP

這三種都是走SSH連線,這樣做最單純。


小結:離實用仍有段距離 / Conclusion: Non-Ideal Solution

總歸上述,目前比較可能可以使用的方案有兩個:

  • Winflector:Windows應用程式支援良好,但是限制人數2人
  • Linux X Windows System:不限制人數,但是Windows應用程式支援堪慮

不論是那一種方案,其實都不甚理想。市面上也有許多付費的VDI應用方案,但我還是希望先能找到以自由軟體發佈的替代方案為主。

再等等看吧。

(more...)

投影片8張合併1頁列印 / Print 8 Slides On a Paper

布丁布丁吃布丁

投影片8張合併1頁列印 / Print 8 Slides On a Paper

2014-08-03_005832

以Power Point製作投影片時,列印一般會印出6張投影片在一張A4上,但是投影片間距大、留下許多空白,浪費許多紙張空間。本文教你如何使用PDF的多個頁面列印功能,把8張投影片合併在一張A4紙上印出。

If you use Power Point to print multiple slides on a page, you will get a slides handout with large wide margin. This article show you how to use Bullzip PDF Printer and PDF-XChange Viewer to print 8 slides on a full paper.


Power Point的列印功能 / Print By Power Point

2014-08-02_235506

Power Point可以列印投影片供人當作講義來使用。Power Point所提供的列印方式中,最常用的不外乎是:

  • 6張水平投影片
  • 3張投影片

image

但是不論是那一種,投影片印出後總是會預留許多空白邊欄。上圖是使用6張水平投影片印製後的結果。仔細一看,如果空白處塞滿的話,其實這一張A4可以容納8張投影片,但是使用Power Point內建的方式並無法做到這件事情。部落客vincent建議使用印表機內建的合併功能,但也不是每個人都有HP的印表機來這樣做。

後來我研究一下,發現其實PDF-XChange Viewer可以提供多個頁面合併列印的功能。只是做法比較迂迴,以下以投影片「KALS閱讀知識合作標註學習系統介紹」為例子,說明如何印製8張投影片一頁的做法。


Step 1. 安裝PDF印表機 / Install PDF Printer: Bullzip

2014-08-03_001323

本文的合併投影片操作是將投影片轉換成PDF之後再來合併,因此你的電腦必須具備PDF印表機

如果你安裝Adobe Acrobat (注意,不是Reader,而是要付錢的Acrobat),那你的電腦應該已經安裝了一臺Adobe PDF印表機。

你也可以選用免費的PDF印表機,例如Bullzip PDF Printer,這個免費軟體一樣可以把投影片印成一份PDF檔案。以下將會以Bullzip PDF Printer來示範如何操作。

Step 2. 安裝PDF-XChange Viewer / Install PDF-XChange Viewer

2014-08-03_003336

PDF-XChange Viewer是一個知名的免費PDF閱讀器與PDF編輯器。這次我們要用他的多個頁面合併列印功能來合併投影片,因此請先安裝PDF-XChange Viewer。

Step 3. 單張投影片列印成PDF / Print One Slide To PDF

2014-08-03_001849

接著我們要使用Power Point來把投影片印成PDF。在此要注意的是,我們要印出的是「單張投影片」,印出到「Bullzip PDF Printer」。細節設定如下:

  • 印表機:Bullzip PDF Printer
  • 列印版面配置:
    2014-08-03_002241
    • 全頁投影片
    • [v]  配合紙張調整大小
    • [v] 高品質
  • 色彩:彩色

2014-08-03_002447

印出之後,Bullzip PDF Pinter請你輸入檔案名稱。檔案名稱要設定連同資料夾儲存位置的完整檔案路徑,請不要真的只有輸入檔案名稱而已。

2014-08-03_002633

PDF建立完成之後會,Bullzip PDF Printer會開啟PDF檔案,結果如上圖。以下連接是列印完成之後的PDF檔案:

Step 4. 每張紙多個頁面列印 / Print Multiple Slides On A Paper

2014-08-03_003829

接著請按「檔案 > 列印」,開啟列印對話視窗。

2014-08-03_004000

印表機的部分請繼續選擇「Bullzip PDF Printer」,待會一樣是先印成PDF檔案。

重要的是下面的「列印縮放」功能,請設定縮放類型為「每張紙多個頁面」,然後「自訂」後面輸入「2」(欄)與「4」(列)。

你可以注意到右邊的預覽列印已經變成了8張投影片印在一頁的狀態,然後再把投影片印出來吧。

Step 5. 完成8張一頁的投影片講義 / 8 Slides On a Paper

2014-08-03_004515

最後印出來的結果就是這樣子了。下載連接如下,你可以再拿這個檔案來做列印即可。


小結:其他列印應用 / Conclusion: Other Application

雖然本文主要教的是8張投影片印在一頁上,但其實列印多個頁面功能可以自由調整成其他列印方式。例如:

  • 兩張投影片一頁:自訂 1 * 2
    2014-08-03_004854
  • 4張投影片一頁:自訂 2 * 2,Bullzip屬性設定列印方向為橫印
    2014-08-03_005049
    2014-08-03_005250

除了投影片之外,只要能夠印成PDF的文件,都可以用這種方式如法炮製,將多頁縮在單頁印出。

最後,PDF-XChange Viewer儘管是免費的PDF閱讀器,但是豐富的功能卻完全不輸給付費的Adobe Acrobat,誠心推薦大家使用!

(more...)

從統計軟體R來看自由軟體與教育

從統計軟體R來看自由軟體與教育

unnamed
前幾天,實驗室的同事在講最近使用統計軟體R來做合作學習中參與者分群(clusting)的事情。分組結果如上圖所示,不同顏色代表不同的群組,結果紫色小組的成員太多,「這是一個失敗的分群」她笑著說。看到這個分群結果,我也覺得很開心。但這不是基於分析結果還不滿意的自嘲,而是我看到了一個不一樣未來的開端──一個用自由軟體改變所上教育的開始。


教育背後的商業化問題

英國前首相布萊爾曾說:「教育是社會正義,是一種權力,也是一種機會。」許多人都認為教育應具備讓每一位學生都有機會學習的公平性,但是在電腦方面的教育距離這個目標還有很長的一段距離。
電腦教育與Office教學
office
舉個大家都很熟悉,但是卻不見得察覺得到的例子:Microsoft Office,以及它底下的Word、Excel、Power Point。電腦概論的通識課程教導使用Office、老師要學生繳交報告Word、學生上台簡報要求使用Power Point。上課教Office、學校用Office,在許多人眼中,「Word」已經成為豐富文本(rich text)的代名詞,「ppt」也是簡報投影片的簡稱。
但是這樣教育背後的結果,不僅是被微軟所制約,導致Office版本升級時許多人倍感困擾,更嚴重的是,對於沒有經濟能力購買Office的學生來說,以Office作為電腦文書處理的教育內容,更是一種對貧窮學生的歧視。
買得起軟體就不是問題?
在課堂中教導學生使用某種軟體時,第一個遇到的問題就是:「老師,我在家裡的時候,或是畢業之後,如果要使用這軟體,那怎麼辦?」
1-CS6-Startup-Screen
若以Office為例,Office家用版一套$3999的價位在許多人眼中也許並不是很大的負擔。那我們換個角度,看影像處理課程教導Adobe Photoshop。這一套建議售價$39200的Adobe Photoshop CS6中文版 for Windows,你還會覺得這是貧窮學生應該負擔得起的價位嗎?
除了Office或Photoshop這種常見的商業軟體之外,在研究所課程中,我看到的是統計課程教導學生使用IBM SPSS(基本功能單機授權版9萬多,其他統計模組另外計算)、資料庫概論教Microsoft SQL Server(標準版不限個數約20萬)(以上價格參考自一通資採股份有限公司的決標結果,價格細節會時常改變),就連以「資訊自由」自詡的圖書館,都會在資訊利用教育教學生使用EndNote單機版1萬5)。
只能在學校使用的校園軟體
今天我們還在學校,還能在電腦教室中使用這些軟體,還能透過計算機中心提供的校園軟體下載或是雲端使用虛擬機器軟體(這點我真的要稱讚Critrix的強大),但是學生離開了校園回到家、畢業之後投入職場,從學生身分脫離之後,就失去了學校的支援與學生授權的優惠。而對於無力負擔起這些軟體高昂費用的學生來說,課堂所學的技能很容易變得毫無用武之地。我想,這應該不是我們教育中樂見的情景吧。
2012-08-03_101927
再以研究者與EndNote為例,許多研究生在學校接受以EndNote彙整研究書目以進行研究論文撰寫的訓練,EndNote可說是進行研究的基本工具。但研究生使用學校提供的EndNote,意味著離開學校之後就喪失了EndNote的支援。某方面來說,學校變相地認為研究生只有在學校中才做研究(才會用到EndNote),而畢業之後就不需要進行研究(不需要用EndNote)。若學校對於研究生的教育是培養研究人才,那麼我想上述的觀點應該會跟學校教育目標有著相當大的牴觸。
盜版不能解決問題,自由軟體才是終極之道
「老師,我在家中要用Photoshop做作業,我該怎麼辦?」面對學生這種問題,很多人選擇的解決方式是:提供非正式授權的軟體。這種檯面下違法的行為,在許多商業軟體教學課程中,卻已經變成了常態。或著更誇張一點,學生去補習班學習某個軟體的目的,就是從講師身上取得昂貴的軟體本身。
當然,作為一個軟體人,我並不贊成非正式授權與盜版軟體的盛行。這不僅是有損軟體製作者的智慧財產權,更會扭曲民眾對於智慧財產的觀念。
那麼不用盜版,難道要學生買正版嗎?要強迫學生購買那些價格破萬的昂貴軟體,才能進行課堂教學嗎?
答案是肯定的,用合理授權的正版軟體才是正確的途徑;但答案也是否定的,因為有些授權正版軟體不必花錢購買,那就是自由軟體(freeware)。

自由軟體與教育

根據自由軟體基金會(Free Software Foundation, FSF)的定義:
自由軟體是一種可以不受限制地自由使用、複製、研究、修改和分發的軟體。這方面的不受限制正是自由軟體最重要的本質,與自由軟體相對的是專有軟體(Proprietary Software)非自由軟體,也常被稱為私有軟體、封閉軟體。
儘管收費與否並非定義自由軟體的主要依據,但是大多數自由軟體所搭配的授權條款,如GPLBSD,都允許使用者免費使用這些軟體。自由軟體大多可從網際網路上直接下載,並且不收任何費用,也沒有繁雜的授權問題。
因此,若教學內容改以自由軟體為主軸,就可以避免學生離開學校之後就無法再繼續使用昂貴商業軟體的問題,更能夠讓學生確實學習到終身可用的技能。
教育可用的自由軟體
以上述所提到的商業軟體為例,其實他們都有可以替換的自由軟體可供使用。以下就文書處理軟體、影像處理軟體、資料庫軟體、書目管理軟體、統計軟體五種類型,以免費的自由軟體取代付費的商業軟體的作法,做一個概略的介紹。
文書處理軟體:LibreOffice
791px-LibreOffice_Writer_3.3
LibreOffice 是自由的辦公室套裝軟體(Libre為自由之意),可在 Windows、Linux、Macintosh 平臺上運行。本套裝軟體有六種應用程式供你製作文件、資料處理之用,包括:Writer 、Calc 、Impress、Draw、Math、Base。與其他商業軟體不同,本套裝軟體採用 LGPL3 授權,該授權方式賦予一般大眾自由使用、分享、散布本套裝軟體的權利。
LibreOffice是衍生自OpenOffice.org(OOo)的分歧版本,兩者除了維護者不同之外,主要功能都十分相似,很多地方可以互通。LibreOffice的介面設計仍相近於Office 2003以前的傳統介面,這可能會對於排斥Office 2007之後的Ribbon介面的使用者來說會是額外的加分。(雖然我個人還是覺得Ribbon介面真的不錯用啦,LibreOffice快看齊吧!)
以下表格我簡單地比較一下從Office對比到LibreOffice的功能,讓大家知道LibreOffice可以如何取代Microsoft Office:
Microsoft Office LibreOffice
文書處理 Word Writer
試算表 Excel Calc
投影片 Power Point Impress
排版 Publisher Draw
數學公式 Word中的方程式工具 Math
資料庫 Access Base
影像處理軟體:GIMP
Gimp_2.4.3
GIMP是GNU Image Manipulation Program(GNU影像處理常式)的縮寫,是一套跨平台開放原始碼影像處理軟體,是遵循GNU授權條款發布的自由軟體,可以在GNU/LinuxMS WindowsMac OS X等平台下執行,能夠實作多種影像處理方面的要求,包括照片潤飾、影像合成和建立影像;此外。GIMP的原生檔案格式的副檔名是.xcf
其功能包括顏色與色盤、選擇與路徑工具(包含遮色片)、筆刷影像編輯與印章工具、圖層與不透明混合、濾鏡效果、還可以用外掛GAP(GIMP Animation Package)製作GIF動畫。
雖然操作介面看起來沒有Photoshop那樣時髦,但是工具按鈕卻比Photoshop好按許多,這點我覺得很不錯。
資料庫軟體:PostgreSQL與pgAdmin
pgadmin3_slony
PostgreSQL是自由的物件-關聯型資料庫伺服器(或是資料庫管理系統),在靈活的BSD-風格授權條款下發行。PostgreSQL具備企業級應用特性,也完整且高度相容ISO/ANSI SQL國際標準,其高可用性(HA)及數據儲存品質也可媲美Oracle、DB2等商業型資料庫管理系統。
作為關連性資料庫的學習對象來說,PostgreSQL甚至比缺乏子查詢交易(transcation)的MySQL更為適合。而且我還是得提醒大家,拿MySQL製作的商業產品賣錢時,請記得繳交授權費用。
一般大家對於PostgreSQL的垢病在於運作速度較慢,而且以企業應用級的PostgreSQL也較MySQL複雜許多。儘管如此,我還是十分推薦以PostgreSQL作為關聯式資料庫的教學內容。至於近年來興起的NoSQL,那又是另一個話題了。
書目管理軟體:Zotero
928-image-Zotero
Zotero是一個整理文獻的好工具。它不僅可供人免費使用,也可以讓人直接從網頁匯入書目資料,而且中文支援程度也比EndNote好上很多。Zotero可以以Firefox Add-on的形式安裝,也可以獨立安裝,並從Google Chrome、Safari等瀏覽器中匯入書目資料,非常方便。我在課堂上課的報告、論文撰寫時的參考文獻,全部都使用Zotero管理。
我製作了一張功能比較表,讓大家知道Zotero與傳統的資料夾整理文件、EndNote之間的差異:
資料夾 EndNote Zotero
儲存書目 難以格式化 手動建立
RIS檔案匯入
中文支援差
手動建立
RIS檔案匯入
網頁匯入
中文支援佳
保存檔案 難以建立檔案之間的關聯 可,還可以保存文獻的網頁
全文檢索 不可
整理方式 資料夾 分類、筆記 收集(=分類)、筆記、標籤
建立引文 不可 可,可擴充引文格式。國內知名度高,許多圖書館致力於這塊。 可,可擴充引文格式。
作業系統 不限制 Windows, Mac Windows, Mac, Linux
費用 免費 收費 免費
統計軟體:R
rcmdr
R語言,一種自由軟體程式語言與操作環境,主要用於統計分析、繪圖、資料探勘。R本來是由來自紐西蘭奧克蘭大學的Ross Ihaka和Robert Gentleman開發(也因此稱為R),現在由「R開發核心團隊」負責開發。
R內建多種統計學及數字分析功能。R的功能也可以透過安裝套件(Packages,用戶撰寫的功能)增強。因為S的血緣,R比其他統計學或數學專用的編程語言有更強的物件導向(物件導向程式設計)功能。R的另一強項是繪圖功能,製圖解析度可達到印刷的需求,也可加入數學符號。
雖然R主要用於統計分析或者開發統計相關的軟體,但也有人用作矩陣計算。其分析速度可媲美專用於矩陣計算的自由軟體GNU Octave和商業軟體MATLAB。
但是R對於學生來說最大的門檻,在於其R的大多數操作是透過R語言進行,圖形操作介面並不若SPSS之類的方便操作。對此,R也有自由軟體R Studio這個整合開發環境可供使用,但是使用邏輯還是跟SPSS有所差異,很難說是可以直接用R取代SPSS。另一種方式是用類似Excel的LibreOffice Calc安裝R4Calc套件來操作R,但這部份仍有待深入研究。


結語:教給學生一個自由的未來

以付費的商業軟體作為教學的內容,會對於無力購買軟體的學生帶來困擾,不如教導學生使用免費的自由軟體,才能帶給學生終身受用的技能。本文介紹了取代商業軟體的五種自由軟體:以LibreOffice取代Microsoft Office、以GIMP取代Adobe Photoshop、以PostgreSQL取代Microsoft SQL Server、以Zotero取代EndNote、以R取代IBM SPSS,並附上簡單的介紹與教學資源,希望作為大家改以自由軟體進行教學的參考。
我國教育部也有一個部門「教育部自由軟體數位資源推廣服務中心」,以及國內重要的自由軟體中心「自由軟體鑄造場」(電子報值得一看),有許多相關資源可以從中取得。還有朝陽科技大學的洪朝貴副教授也針對的自由軟體應用在教育上有諸多貢獻。
我主張以自由軟體取代商業軟體也有一段期間,許多朋友都抱持著否定的意見。首先,對於自由軟體介面設計往往不比商業軟體美觀、好操作的這點來說,其實是關注人數多寡的問題。大部分自由軟體都是以開放原始碼形式,可供專業的程式設計師進行再製、改良,因此自由軟體的改良可以不受限商業公司的發展,而是藉由大量使用者的需求來鼓勵開發社群積極改善。若擅長資訊的老師有教學上的需求,甚至也可以自行動手開發外掛模組,讓自由軟體教學更為順利。
另一個否定的看法是,「若學生未來上班地點都使用Photoshop,那教GIMP有用嗎?」從教學的角度來看,電腦軟體教學不應該是微軟或Adobe的軟體訓練,而應該是教導學生一種「技能」,像是文書處理技能、電腦繪圖技能。上述我介紹的五種自由軟體,在操作介面上儘管都與商業軟體有很大的差異,但是核心的技能與邏輯並沒有太大的差別。事實上,教學時也應該注重的是概念上的認識,而不是教導細節按鈕的點選順序而已。不然商業軟體升級之後,學生也一樣不知道怎麼操作。就像是Office 2003的傳統介面改到Office 2007的Ribbon介面,很多人都慌了。
從另一個角度來看,如果熟悉GIMP而能夠做出媲美Photoshop的效果的話,也就是意味著可以用免費的自由軟體來取代昂貴的商業軟體,這對於經費成本精打細算的公司來說,又何嘗不是一件好事?
我知道還是會有人問:「那些商業公司到底要怎麼賺錢呢?」其實賺錢的方式還是很多,不過我想這就不是我這篇想要探討的範圍了。
至少,我認為在教育上,不應該是以昂貴的商業軟體綁住學生的自由。因此,我一直夢想著可以用自由軟體的R或LibreOffice的Calc,來作為教研究生統計的使用工具,而讓研究生不再需要受限於必須使用SPSS才能計算獨立樣本t檢定之類的推論統計。看到實驗室的同事開始使用R來做資料分群,我感覺到我們所上的教育又埋下了一顆自由的種子,因而感到欣喜。
我相信,這種透過教育紮根在學生心中的自由種子,未來一定可以成為促進整體社會進步的自由果實! (more...)

EverCam 7之Power Point簡報錄影教學 / EverCam Introduce

EverCam 7之Power Point簡報錄影教學 / EverCam Introduce

image

最近我做了一個簡單的簡報,教大家如何使用EverCam錄製教學影片。然後聊一下我對MOOCs的一些想法。

This is a simple slide to introduce how to record Power Point reporting video with EverCam. The research issues of MOOCs are dicussed.


投影片下載 / Slide Download


心得:不斷進步的數位教材 / Conclude: Digital Learning Keep Growing

多年以前,由於所上要開設數位在職專班,那時候大家都在研究如何錄製數位教材,我開始認識了Power Cam這套軟體。後來在全國通識網的計畫中,接觸其他老師使用的串流大師。在學弟撰寫的論文中,探討了許多不同的數位教材錄製方式。也有回歸手寫類型的Khan學院。而這些蓬勃發展的數位教材錄製結果,造就了各種MOOCs(磨課師)的興盛。

這些數位教材的用意就是要將知識更有效率地帶給大眾,因此比起傳統的書籍、後來的資料庫、電子書來說,圖書館現在也應當開始注重MOOCs的典藏與使用了。我這裡列舉幾個簡單的研究方向供大家參考,希望對此感興趣的人可以深入研究、探討:

  • MOOCs如何編目、索引、規劃Metadata Schema?讓讀者能夠有效率的使用MOOCs
  • 圖書館自動化系統如何整合MOOCs的檢索系統?例如將圖書,以及相關主題的MOOCs結合在一起,讓讀者能一邊看書一邊進行學習。
  • MOOCs長期典藏與資料交換研究。就如同當初研究數位典藏一樣,MOOCs也會遇到相同的問題。

然後數位學習領域也可以針對MOOCs繼續深入探討,舉例來說:

  • 找尋有效利用MOOCs自學的方法。只有教學影片就能有效學習嗎?不同使用情境會有不同的答案,仍值得繼續探索。
  • 針對MOOCs設計方式進行探討。要直接錄製畫面呢?要EverCam投影片+人頭+大綱呢?還是要Khan的手寫畫面呢?先別論廣告商總是說自己最好,在技術蓬勃發展的現代,我們需要去釐清這些不同方法帶給學習者的影響
  • MOOCs與學生互動的問題。單方面看影片就是學習嗎?會不會陷入過於被動的侷限呢?MOOCs如何解決這個問題呢?
  • MOOCs融入課堂教學:翻轉教室。教師如何更有效率地使用MOOCs?

世界正在努力變得更美好,我們也應該更加關注這些議題,而不要畫地自限囉。

(more...)

關閉NetBeans的滑鼠中鍵字體縮放功能 / Disable NetBeans Zoom Text In / Out Keymap

關閉NetBeans的滑鼠中鍵字體縮放功能 / Disable NetBeans Zoom Text In / Out Keymap

image

NetBeans上用滑鼠中鍵滾動捲軸時,往往會不小心因為按著中鍵滾動而導致觸發了文字縮放功能。本文章參考stackoverflow中fivedigit的解答,以圖文說明如何關閉這個功能。

To prevent from triggering off zooming text function in NetBean, this article aims to disable this function by modifying keymap configuration.


作法指導 / Guiding

Step 1. 進入Tools > Options

image

Step 2. 進入Keymap分頁進行調整

image

此處動作比較複雜。進入Keymap分頁之後,你會發現有很多快捷鍵的設定。請先在Search輸入「Zoom」,以找到我們要修改的Zoom Text In與Zoom Text Out。然後按下右邊的「…」按鈕,選擇「Clear」。兩個功能都要做「Clear」喔。

Step 3. 按下OK

image

這樣就完成囉。

請使用NetBeans的人先把這個功能關掉吧,不然每次滾動捲軸時真的是常常誤觸呢!

(more...)

Sublime Text 2取消更新通知的方法 / Disable Sublime Text 2 “Update Available” notification

布丁布丁吃布丁

Sublime Text 2取消更新通知的方法 / Disable Sublime Text 2 “Update Available” notification

image

文字編輯器中的神器Sublime Text 2最近推出更新版本了,而編輯器在每次開啟時都會跳出提醒視窗叫你更新。如果沒有堅持要更新的話,以下我將介紹關閉Sublime Text 2通知更新的方法。

Sublime Text 2's new version comes up recently. If you don't want to upgrade Sublime Text 2, you can turn off the upgrade notification by modifying the configuration. Following is the guide to modify the configuration.


更新通知 / Update Available

image

最近因為Sublime Text 2推出了新版本,所以每次開啟Sublime Text 2的時候,它都會跳出更新通知:

Update Available

A new version of Sublime Text 2 is available, download now?

我用現在版本用得好好的,沒特別想更新,就覺得這個更新通知真是擾人,真想關掉它。

開啟Settings-User / Open Settings-User

image

首先是開啟工具列上的「Preferences」,然後進入「Settings-User」(設定 - 使用者)。因為我的Sublime Text 2被我設定過中文化了,所以這裡顯示的是「設定 - 使用者」。

加入設定"update_check": false / Add Configuration: "update_check": false

image

Settings – User的內容是一個JSON設定檔。

Sublime Text 2就是全部都以這種設定檔來調整系統的功能,跟傳統Windows軟體上透過GUI來操作設定的方式有很大的差異,一開始會有點不習慣。而在這裡也不會顯示所有參數,如果要關閉更新的話,我們需要額外加入「"update_check": false」的設定。

上圖加入設定之後會變成以下。注意紅字的地方,還有一個逗號:

{
"color_scheme": "Packages/Color Scheme - Default/Slush & Poppies.tmTheme",
"font_size": 14,
"ignored_packages":
[
"Vintage"
],
"update_check": false
}

改完之後會變成下圖,直接儲存就可以了。

image

這樣子以後開啟Sublime Text 2的時候,它就不會再跳出要你更新的通知囉。


資料來源 / Solution From Sublime Forum

以上的解法來自於Sublime Forum中的討論串「Disable "Update Available" pop up?」,感謝NikKlaus的解說。

更新記錄

  • 2013/7/14 當初這篇寫得有點匆促,現在多補一些介紹,讓整篇看起來有頭有尾比較完整。
(more...)

Windows用工作排程器設定開機啟動軟體的關閉方式 / Disable Auto Startup Programs in Window Task Scheduler

布丁布丁吃布丁

Windows用工作排程器設定開機啟動軟體的關閉方式 / Disable Auto Startup Programs in Window Task Scheduler

image

如果你想要調校Windows作業系統,Windows開機程式的管理是非常關鍵的調校項目。但是在Windows Vista之後,有些開機時自動執行的程式居然跑到「工作排程器」去了,讓我找老半天都找不到。這篇以AsusSetup遇到的問題,來跟大家說明如何關閉工作排程器當中它自動啟動的項目。

If you want to tune your Windows better, it's very important to manage Windows' auto startup programs. Since Windows Vista, some programs set their auto startup configuration in Task Scheduler. Following I will show you how to disable programs' auto startup in Task Scheduler.


開機時自動跑出的錯誤:Asus Setup / Auto Startup Error Message

image

我的電腦是使用Asus主機板。裝了Asus的驅動程式之後,它在不知道什麼時候開始就常常跑出這個訊息:

AsusSetup

Can’t find target.ini:

E:\Drivers\Chipset\Win7_XP\Driver\Chipset\AsusSetup_hotfix.ini

找了好久,最後才在ASUS主機板論壇找到工作排程器(Task Scheduler)的解決方法

傳統的開機管理程式:msconfig / Traditional Startup Management: msconfig

image

在「執行」中輸入「msconfig」就會出現「系統設定」對話視窗,在這邊的「啟動」頁面中會列出幾乎所有Windows會啟動的項目。一般來說,如果要關閉開機時自動啟動的程式,就在msconfig這邊處理就好。但是在這邊卻找不到這次遇到的Asus Setup問題。

工作排程器 / Task Scheduler

從Windows Vista開始,Windows引入了比Window XP那時候「排定的工作」還要完整的「工作排程器」。也不知道是不是從這時候開始,居然有些程式會把開機執行的項目放到工作排程器當中,像是這次的AsusSetup。

image

工作排程器的位置在「所有程式」 > 「附屬應用程式」> 「系統工具」 > 「工作排程器」當中。

image

很快我們就可以在左邊找到「ASUS」,然後發現他底下有兩個工作都是「當任何使用者登入時執行」,就是它們了。

image

按右鍵「停用」它們吧。這樣它們下次開機就不會再啟動了。


結語:希望有更完整的開機管理工具 / Conclusion: We Need Comprehensive Startup Management Tzool

image

雖然Windows的開機管理程式已經很多了,最近大家都在講的就是WhatInStartup,我自己常常用的是Code Stuff Starter(上圖)。不過這些軟體目前都無法管到工作排程器,這是開機管理程式中的漏網之魚。希望未來會有更好用的工具可以連工作排程器一起管理啊。

(more...)