:::

SMA21平床式掃描機操作說明與驅動程式 / SMA21 Scanner Manual and Driver

SMA21平床式掃描機操作說明與驅動程式 / SMA21 Scanner Manual and Driver

image

SMA21  是一台操作比較複雜的平床式掃描機。我製作了一份教學投影片供使用者參考,連帶一併備份驅動程式。


操作說明投影片 / Manual Slide

下載:Google DriveOneDriveMegaSlideShare 

亮度不足的問題 / Lack of Brightness

image

必須額外說明的是,由於我們這台掃描機在亮度判斷上有點問題,所以這份說明裡面會特別教大家把亮度(Brightness)調到最亮再來掃描。

Scanned Image

 

但是調整完之後亮度還是不太夠。這時候我會使用影像處理工具的自動色階再做進一步的處理。

自動色階的定義可以參考Photoshop的說明 。簡單來說,影像中最亮的地方會被調整成白色、最暗的地方會被調整成黑色,其他的顏色則按照比例調整。這樣會讓最亮的地方看起來很白、最暗的地方看起來夠黑,影像會變得對比比較清楚。

一般時候影像處理工具不用用到Photoshop這麼龐大的工具,簡單的XnView就可以做到了。

image

操作方式是在 圖片 > 對映 > 自動色階。點下去就會調整完成。然後按下存檔就可以了。我們可以比較一下調整自動色階前後的兩張圖片,應該會覺得調整之後比較亮吧。

Scanned Image Scanned Image
調整自動色階之前 調整自動色階之後

SMA21掃描機的安裝 / Installation of SMA21 Scanner

SMA21掃描機的安裝分成網路卡安裝與驅動程式Batch Scan Wizard的安裝兩個部分,以下個別說明。

網路卡的安裝 / Installation of Network Card

SMA21平床式掃描機的資料傳輸方式跟一般用USB連接的掃描機有很大的不同。SMA21本身就是一台電腦,可以獨立完成掃描的工作,而搭配操作的工作站只是給予操作指令而已。

gdimage

SMA21掃描機是採用網路線在傳輸資料,因此工作站上必須要額外的網路卡連結SMA21。一般來說會額外購買一張USB網路卡來使用,速度到100Mbps就足以使用 。

20150622-173804-screenshot6

然後設定網路卡的網路位址。我們要連結SMA21掃描機與工作站電腦,因此這兩台電腦必須位於同一個區域網路底下。

SMA21掃描機的預設網路位址是:

  • IP位址:192.168.1.50
  • 子網路遮罩:255.255.255.0

因此工作站電腦的網路卡設定則是:

  • IP位址:192.168.1.51
  • 子網路遮罩:255.255.255.0
  • 閘道口:(不要設定閘道口)

然後把SMA21掃描機跟工作站電腦用網路線連接起來即可。

驅動程式Batch Scan Wizard的安裝 / Installation of Batch Scan Wizard

依照作業系統的版本不同,Batch Scan Wizard有32位元與64位元兩種版本。雖然當初買SMA21時,還是使用Windows XP 32位元,但現在大部分的電腦幾乎都是64位元了。安裝時請務必選擇正確版本安裝:

20150622-173401-screenshot5

20150622-172810-screenshot1

安裝之後要先在Batch Scan Wizard 64bit > Setup 64bit裡面設定SMA21的網路,然後就可以照投影片裡面的教學一樣開始操作了。


結語:陪我一起進入研究所的好麻吉 / Conclusion: It is my friend while I study in graduate school

這台SMA21掃描機是在我剛進入政大圖檔所的時候從國外買進來的。當時來了一位胖胖的德國工程師,跟我們一起從巨大的木箱中開箱、搬運、設置。然後又花了幾天的時間教我怎麼操作這台掃描機,還很自豪地掃描了紙幣上肉眼看不出來的小字。這位工程師是一位喜歡到處旅遊的人,不時跟我炫耀他去過的景點。雖然我英文不好,很難完全理解他在說什麼,不過看得出他十分開心。

在一開始計劃執行期間還有蠻多人使用這臺掃描機,但是計劃執行結束之後,這臺掃描機因為操作難度太高,也就很少同學願意使用,變成每次炫耀設備時拿來看一眼的裝飾品。儘管如此,我跟少數幾位同學還是非常喜歡這臺掃描機,像是我常常都會拿大量文件跟書本來掃描,效率比一般USB掃描機快很多。

時過境遷,現在掃描機的DPI動輒1200,SMA21最多仍然只能掃描600DPI。雖然可以掃描到A2尺寸,但是也沒有那麼多人需要,最後就把它轉移到其他單位去使用。至今我仍然偶爾會過來看看它,掃掃書本。雖然它很老了,但還是希望它能夠繼續陪我到博士畢業啊。

對了,最後補充一下,雖然SMA21有書籍掃描模式,但不會幫你翻書。是說怎麼這麼多人都期待掃描機會自動翻書,你都不怕機器弄破書頁嗎?

(more...)

修復Proxmox VE:增加第二顆硬碟到LVM / Fix Proxmox VE: Add Another Disk to LVM

布丁布丁吃布丁

修復Proxmox VE:增加第二顆硬碟到LVM / Fix Proxmox VE: Add Another Disk to LVM

pablo

之前我寫過「Proxmox VE增加第二顆硬碟」的做法,是用額外掛載的方式來新增一個新的Storage。這次我要做的是比較完整的做法:將新增加硬碟加入LVM中。操作步驟主要參考Jarrod的LVM教學


操作環境 / Proxmox VE Environment

2015-06-21_222426

本文是以Proxmox VE 3.4為例子,以VirtualBox來架設。重點是這個電腦有兩顆硬碟,Proxmox VE是安裝在第一顆硬碟中,第二顆硬碟是空的。

操作步驟 / Operation Process

Step 1. 登入 / Login

image

你可以用Proxmox VE的Web GUI中的Shell來登入,也可以直接登入本機端。總之要先以root的身份操作指令。

Step 2. 分割新的硬碟 / Partition the new disk

首先我們要確定新硬碟的路徑。一般來說,第一顆SATA硬碟為 /dev/sda 、第二顆為 /dev/sdb,而IDE的路徑則是 /dev/had 、第二顆則是 /dev/hdb。詳情請看鳥哥的說明

因為我安裝的是第二顆的SATA硬碟,所以路徑為 /dev/sdb。

硬碟的分割要使用fdisk,搭配第二顆硬碟的路徑/dev/sdb,指令如下:(粗體的地方表示是我們要輸入的指令)

root@pve:~#fdisk /dev/sdb

接下來會跳到fdisk的對話介面:

Command (m for help):

如果該硬碟裡面已經有資料,那就要用d指令來刪除。

Command (m for help): d

Selected partition 1

image

然後新增磁碟分割區,建立一個主要分割區,空間為整顆硬碟:

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-2610, default 1): "enter"
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-2610, default 2610): "enter"
Using default value 2610

image

然後將該分割區的檔案類型修改為Linux LVM:

Command (m for help): t
Selected partition 1
Hex code (type L to list codes): 8e
Changed system type of partition 1 to 8e (Linux LVM)

image

最後將分割表的資訊寫入硬碟:

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

image

完成。新增硬碟的磁碟分割位置為 /dev/sdb1。

Step 3. 增加邏輯捲軸 / Increasing the logical volume

接下來要連續輸入四個指令。注意裡面的磁碟分割路徑 /dev/sdb1,這是剛剛用fdisk新增的磁碟分割。

pvcreate /dev/sdb1
vgextend pve /dev/sdb1
lvextend /dev/pve/data /dev/sdb1
resize2fs /dev/pve/data

image

這樣就把第二顆硬碟新增到Proxmox VE的local空間中。

image

使用lvdisplay指令來看看結果,可以發現/dev/pve/data的空間已經新增到了12.37GiB。

這樣就大功告成囉!同樣的這種做法也可以用在第三顆、第四顆硬碟上面,繼續擴大local的硬碟空間。

將硬碟從LVM中移除 / Remove disk from LVM

既然我們可以新增硬碟到LVM,那一樣可以從LVM中移除硬碟。但是這個步驟就比新增還要複雜很多,細節可以參考鳥哥的縮小LV容量,如果那天我遇到這種情況了再來深入研究吧。


結語:使用LVM的風險 / Conclusion: The risk of LVM

現在Linux在安裝時預設都是以LVM的形式來分割磁碟,所以對大多數的人來說都感覺不到LVM的存在。LVM雖然能夠像上面這樣任意擴充一顆硬碟來增加空間,但是LVM是一種以任意調整容量為目的的檔案系統,安全性、可恢復性則不在考量範圍內。而且LVM預設是用線性模式在寫入資料,一顆硬碟滿了再放下一顆,存取方式無法與RAID相比。簡單來說:

  1. 當LVM裡面其中一顆硬碟毀損時,你得花很多功夫來調整LV,以移除壞掉的硬碟。
  2. 其他作業系統無法讀取以LVM管理的硬碟資料,也無法用Gparted之類的工具來調整硬碟分割。
  3. 結合以上兩點,如果LVM的作業系統毀損、無法開機。除非是用救援模式進入系統,不然不能用外接硬碟的方式讀取LVM的資料。

既然大部分Linux發佈版預設都用LVM,我們應該也無法擺脫LVM壞掉時的風險。因此在使用LVM時,一定要有壞掉之後很難復原的心理準備喔。

(more...)

修復Proxmox VE:第二次安裝時遭遇LVM的問題 / Fix Proxmox VE: Solve unable to create volume group while installing Proxmox VE

布丁布丁吃布丁

修復Proxmox VE:第二次安裝時遭遇LVM的問題 / Fix Proxmox VE: Solve unable to create volume group while installing Proxmox VE

pablo (1)

安裝Proxmox VE的時候,如果事前硬碟上已經有安裝好的Proxmox VE時,再次安裝就會發生「unable to create volume group at /usr/bin/proxinstall line 706」的問題。這個問題必須先移除硬碟上名為「pve」的LVM,然後就可以正常安裝了。


問題狀況 / Problem Description

image

有時候安裝Proxmox VE的時候會遇到「unable to create volume group at /usr/bin/proxinstall line 706」的錯誤訊息,然後安裝就無法繼續下去。

問題原因 / Casues of Problem

造成這個問題的原因是因為原本硬碟上面已經安裝過Proxmox VE。Proxmox VE在安裝時會建立一個名為「pve」的邏輯捲軸管理員LVM。而LVM不能有相同的名字,因此第二次安裝Proxmox VE時,就無法建立相同名字的「pve」,因此造成失敗。

解決方案 / Solution

我們需要一個可以開機的Linux版本Live CD來刪除LVM。

Step 1. 以Live CD開機 / Boot from Live CD

image

我原本是使用Ubuntu 14.04桌面版,但是那個太大了,速度也很慢。我試了幾個Live CD的版本,太小的Live CD並不具備LVM的工具,找到最後是Ubuntu Rescue Remix 12.04版本,ISO大小為233MB,啟動速度很快。

image

將這個ISO燒錄成光碟之後,或是像我這樣用VirtualBox掛載ubuntu-rescue-remix-12-04.iso之後,我們就可以開機進入Live CD。

Step 2. 刪除Volume Group / Remove Volume Group

image

一路enter到最後會是這個畫面。請輸入指令:

sudo vgremove pve –-removemissing

接下來會一一確認是否要刪除Volume Group裡面的Logical volume,總共有swap、root跟data。請一律按「y」確定。

image

接下來確認是否有刪除這個Volume Group。

vgdisplay

如果沒有看到pve,那Volume Group「pve」就刪除完成了。

Step 3. 關機 / Shutdown

image

完成之後輸入關機指令:

sudo halt

在看到「Please remove installation media and close the tray (if any) then press ENTER:」的訊息時,取出光碟,然後按下Enter鍵繼續關機。

Step 4. 重新安裝Proxmox VE / Install Proxmox VE again

2015-06-21_210909

再來重新安裝Proxmox VE的時候就可以順利成功了。

(more...)

Proxmox VE以vmdk作為虛擬機器的硬碟 / Use vmdk format as Virtual Machine's disk in Proxmox VE

布丁布丁吃布丁

Proxmox VE以vmdk作為虛擬機器的硬碟 / Use vmdk format as Virtual Machine's disk in Proxmox VE

pablo

Proxmox VE預設採用qcow2作為虛擬機器的硬碟格式,如果要改用vmdk格式的話,建立虛擬機器時就要調整cache的設定為「Write through」才能讓虛擬機器正常開啟。


用vmdk跑虛擬機器比較好 / It is better to run a Virtual  Machine based on vmdk image disk format

經過多台虛擬機器的架設,我發現以vmdk作為硬碟影像檔格式架設的虛擬機器總是有較好的執行效率與壓縮率,不論是VirtualBox還是Proxmox VE都是如此。

而且qcow2預設不開啟動態配置模式,因此創建影像檔時,檔案大小就會是設定的硬碟大小。例如我建立一顆80GB的硬碟,即使尚未安裝任何作業系統,qcow2硬碟影像檔依然會佔實體硬碟80GB的空間。相較之下,vmdk或是設定了動態配置的vdi格式,一開始的檔案大小通常不會超過10MB,開始安裝作業系統、增加檔案之後,影像檔才會逐漸變大。

image

再考量到現在很多可以直接掛載vmdk的工具,例如WinMount (也可以掛載vdi,但這是一個付費軟體),這樣子要從備份資料中取回需要的資料也很方便。

總而言之,VMware不愧是虛擬技術界的龍頭老大,他們家的vmdk的確是比較好。

Proxmox VE無法開啟vmdk格式虛擬機器的問題 / The error message while start virtual machine based on vmdk

image

我們可以用預設值建立好虛擬機器,而虛擬機器的硬碟是用vmdk格式。但是這時候開啟虛擬機器時,卻會發生類似以下錯誤訊息:

「TASK ERROR: start failed: command '/usr/bin/kvm -id 106 -chardev 'socket,id=qmp,path=/var/run/qemu-server/106.qmp,server,nowait' -mon 'chardev=qmp,mode=control' -vnc unix:/var/run/qemu-server/106.vnc,x509,password -pidfile /var/run/qemu-server/106.pid -daemonize -smbios 'type=1,uuid=eece4916-f5e4-49de-a043-d2e77af96a53' -name test-vmdk -smp '1,sockets=1,cores=1,maxcpus=1' -nodefaults -boot 'menu=on,strict=on,reboot-timeout=1000' -vga cirrus -cpu qemu64 -m 512 -k en-us -cpuunits 1000 -device 'piix3-usb-uhci,id=uhci,bus=pci.0,addr=0x1.0x2' -device 'usb-tablet,id=tablet,bus=uhci.0,port=1' -device 'virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3' -iscsi 'initiator-name=iqn.1993-08.org.debian:01:0a39bcb174' -drive 'if=none,id=drive-ide2,media=cdrom,aio=native' -device 'ide-cd,bus=ide.1,unit=0,drive=drive-ide2,id=ide2,bootindex=200' -drive 'file=/var/lib/vz/images/106/vm-106-disk-1.vmdk,if=none,id=drive-ide0,format=vmdk,aio=native,cache=none,detect-zeroes=on' -device 'ide-hd,bus=ide.0,unit=0,drive=drive-ide0,id=ide0,bootindex=100' -netdev 'type=tap,id=net0,ifname=tap106i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown' -device 'e1000,mac=FE:CE:E5:CC:F3:C4,netdev=net0,bus=pci.0,addr=0x12,id=net0,bootindex=300' -machine 'accel=tcg'' failed: exit code 1」

這是因為在KVM虛擬技術中,預設快取寫入硬碟的方式為「Default (No cache)」,但是vmdk必須使用「Write Through」設定,因此只要調整硬碟快取寫入方式就可以解決這個問題。

建立虛擬機器時調整硬碟設定 / The disk configuration while creating virtual machine

image

建立虛擬機器的時候,在設定硬碟的這一個步驟中可以找到快取寫入的設定。(註:Proxmox VE不同版本在這一部上有很大的不同,這是3.4的版本) 預設是使用「Default (No cache)」,請把他修改成「Write through」即可。

其實上面的Bus/Device改成VIRTIO的話,一般來說效能會更好,因為這是虛擬裝置原生的通道,而非模擬出來的IDE或SATA。

修改既有的虛擬機器 / Revise the disk disk configuration for existed Virtual Machine

image

如果是已經建立完成的虛擬機器,那也可以修改硬碟的相關設定。首先我們先開啟該虛擬機器的硬體頁面(hardware),找到vmdk的那一顆硬碟。

image

選擇該硬碟,按下編輯按鈕(edit)。

image

在這邊修改硬碟設定。讓我們把原本的「Default (No cache)」設定改成「Write through」,然後按下OK。

image

這樣子就能夠正常啟動vmdk囉。

如何在沒有CPU虛擬化技術支援下開啟KVM? / How to run KVM virtual machine without CPU Virtualization Technology?

image

我是在自己電腦上以VirtualBox架設Proxmox VE來測試。在這種情況下,一般來說是不能啟動KVM的。這時候得要在「Options」中關閉「KVM hardware virtualization」選項,然後就能順利開啟。當然,這種情況下只能測試用,不能運作實際的作業系統。

要如何將qcow2轉換成vmdk? / How to convert qcow2 format to vmdk?

image

如果我們虛擬機器已經是以qcow2架設了,那難道就沒辦法使用vmdk的好處嗎?

別擔心,我們可以用qemu-img convert指令可以讓你把qcow2格式轉換成vmdk格式。首先我們要先切換到映像檔所在的目錄,Proxmox VE存放在local的資料夾,路徑為:

/var/lib/vz/images/[VMID]/

如果虛擬機器的VMID為106,則路徑為:

/var/lib/vz/images/106/

qemu-img convert指令用法如下:

$qemu-img convert -f qcow2 –O vmdk vm-106-disk-2.qcow2 vm-106-disk-2.vmdk

  • vm-106-disk-2.qcow2:來源的檔案
  • vm-106-disk-2.vmdk:輸出的檔案
  • -O是大寫的o,不是0

image

硬碟越大,轉換所需要的時間越久。轉換完成之後,可以看到原始的qcow2大小為33GB,而轉換成vmdk之後只剩下4.1MB。這就是vmdk的優勢。

如果要運作虛擬機器的話,要記得在虛擬機器的硬體(hardware)中把硬碟改為轉換後的vmdk那一顆硬碟,並且設定快取寫入為「Write through」,就可以正常開啟囉。確認運作正常之後,原始的qcow2就可以刪除了。


結論:虛擬化技術的相容性 / Conclusion: The Compatibility of VMDK image format

Proxmox VE使用的KVM,以及VirtualBox這兩種虛擬化技術都有提供對vmdk的相容。因此我們不僅可以用Turnkey Linux提供的虛擬應用範本,也能夠在VMware的Virtual Application???找到其他的虛擬應用範本。就算是容器虛擬化技術OpenVZ,也能用一些比較複雜的步驟將虛擬機器轉換成vmdk來輸出(雖然是這樣想,但其實難度跟P2V一樣,並沒有真的如上面用qemu-img轉換來得容易)。如果沒有特別的考量的話,以vmdk架設傳統的虛擬機器應該是不二首選,不過這還是無法跟容器虛擬化的OpenVZ與Docker相比就是了。

(more...)

內容分析、文本分析、敘說分析的差異 / The Difference between Content Analysis, Textual Analysis and Discourse Analysis

布丁布丁吃布丁

內容分析、文本分析、敘說分析的差異 / The Difference between Content Analysis, Textual Analysis and Discourse Analysis

image

做訪談就是質性研究?做問卷就是量化研究?其實訪談跟問卷都是研究方法(Method),研究的類型應該是基於他們背後的哲學背景,也就是方法論(Methodoloy)。儘管都是文本型資料(註),但是根據研究目的的不同,研究的方式也有很大的差異。以下介紹內容分析、文本分析與敘說分析的差異,歡迎底下大家來討論。

註:電腦界喜歡稱之為「非結構性資料」(unstructured / textual data),也是現在巨量資料議題中主要研究的對象。


書目資料 / Bibliography

游美惠(2000)。內容分析、文本分析與論述分析在社會研究的運用。調查研究-方法與應用8。上網日期:2014年4月21日,檢自:http://www.airitilibrary.com/Publication/alDetailedMesh?docid=10281649-200008-201207230020-201207230020-5-42

關鍵字 / Keywords

  • 內容分析
  • 文本分析
  • 論述分析 (我的筆記中翻譯為敘說分析,又有人稱為言談分析)

摘要 / Abstract

image

(由於是中文論文,我想就沒必要擺上全部的摘要,僅摘錄第一段)

內容分析、文本分析輿論述分析這類的研究方法近年來越來越受到社會科學研究的重視,然而現今台灣的社會研究,對世這方面的討論與實際運用,明顯不足;但本文也並不打算全面地解說在社會研究中進行內容分析、文本分析輿論述分析的方法與步驟,筆者寫作本文的問意,其實是於欲強調現今的社會研究,在今日多元方法交叉撿證 ( triangulation) 的研究策略已漸受重視之際,除了主流的社會調查方法以及質化取向的訪談或民族誌田野工作之外,各種不同的研究方法與技術,其實都應納入基礎訓練之中,以便使研究者能善用研究工具與不同的方法取徑,並對蒐集得來的資料有更進一步的掌握與分析,以臻研究之精進。


筆記全文 / Note Fulltext

Content Analysis 內容分析

哲學背景:Positivism 實證主義,知識存在於文本本身,拒絕先備知識與思辨

內容分析特色:

  • 客觀性:在研究過程中,每一個步驟的進行都必須基於釐訂明確的規則和秩序;
  • 系統性:內容或領目的採用和捨棄,必須符合始終一致的法則;
  • 定量性:分析內容可按規則對擬訂之類目和分析單位加以計量,用數字比較符號文字出現的次數,以達到準確的要求

批評:

  • 內容分析難以反映研究對象的真實:當分析者企圖由先拆解文本,將文本視為可供測量的單位(字眼、表現、陳述等) ,從而建立文本的意義時,事實上便已經搗毀他們所要研究的客體(Jensen & J ankowski, 1996)
  • 將大量資料量化為概念(概念化)的過程容易受人質疑:因此需要特別描述編碼者(coder)與編碼表的製作過程
  • 量化分析結果不一定與情境配合,而無法產生合理且具說服力的解釋:因此不應只統計字數頻率,而忽略了情境脈絡(context)
  • 內容分析僅對明顯訊息加以分析,不去處理潛隱的內容

(布丁註:任何以編碼來描述特定族群對象的概括行為的研究,以及序列分析都是這個類型的研究方法)

Textual Analysis文本分析

哲學背景:Social Constructivism 社會建構主義,知識是由集體產生的

文本分析特色:

  • 拆解與關連文本分析是將一文學作品拆解,觀察其部份之間是如何拼湊相合在一起 (seeing how the parts fit together)
  • 搭配社會價值的詮釋則是將與某()知識傳統相連的價值(理論架構),如心理分析思想、符號學理論、馬克思思想、社會學和人類學理論或女性主義思想等,文本進行詮釋
    image
  • 文本分析反映歷史意識型態趨勢
  • 互為正文性 (intertextuality) :欲掌握社會的因素及其與文本的互動,或者說欲連結社會結構與文本結構。
  • 語境分析 [(con)textual analysis]:考量到上下文脈絡與社會情境脈絡,適切地詮釋文本的社會意涵,避免斷章取義。 例如電影與文化研究中,著重分析文化、政治、制度或機構方面對於電影的影響,也就是關心其中的文化生產過程。

批評:

  • 缺乏系統化的方法論與分析方式,較難為人信服:可透過Griswold (1994)的文化鑽石(the cultural diamond)來進行分析:
    image
  • 詮釋方式容易受研究者的意識型態而造成主觀的一面之詞

(布丁註:國際比較研究通常是這個類型)

Discourse Analysis 敘說分析

哲學背景:Social Constructionism 社會建構論,世界是由敘說所建立的

敘說分析的特色

  • 不限於文本本身,還要分析文本建構情境:避免單純檢視「文本本身」,而應該將具有建構作用論述的社會歷史都納入分析,讓分析立論更有根據,且能提供更多洞見(insights)。因此文本分析是敘說分析的一部分
  • 敘說文件不僅反映規範,也形塑規範:人類的行為是基於社會結構中產生,但反過來也建構了社會結構(Smart, 1997)
    • 拒絕因果性:但是需注意敘說分析容易將歷史與社會拆解成隨機與不確定性,拒斥歷史與社會的可理解性、因果的規律性、解釋性的機制(Best & Kellner, 1992)
  • 兼顧微觀與鉅觀的連結 (the micro-macro link):若能將文本與社會脈絡都廣泛且有系統地加以分析,便能深刻地掌握其社會意涵與運作機制,達到其他研究方法難以兼顧的成果
  • 著重敘說上的重現(權力架構、社會情境),而不像實證主義把文本作為管道或媒介

批評:

  • 與文本分析相同,許多研究都缺乏方法論的說明,只有分析結果,而主觀、直覺的詮釋分析常引來批評:
    • 應是基於可信的實證資料,之間的交叉驗證 (triangulated empirical materials that are trustworthy, Denzin, 1994)

(布丁註:個案分析屬於這一類型。)


內容分析、文本分析、敘說分析的比較 / Analysis of Content Analysis, Textual Analysis and Discourse Analysis

Content Analysis 內容分析 Textual Analysis 文本分析 Discourse Analysis 敘說分析
哲學背景 Positivism 實證主義 Social Constructivism 社會建構主義 Social Constructionism 社會建構論
特性
  • 量化分析
  • 拆解與關連
  • 搭配社會價值的詮釋
  • 互為正文性
  • 語境分析
  • 分析文本的建構情境
  • 敘說形塑規範
  • 拒絕因果論
  • 兼顧圍觀與鉅觀的連結
批評
  •  無法精確反映情境脈絡
  • 缺乏系統化的方法論
方法論上的問題與改進
  • 概念化不易:需規範編碼者與編碼表
  • 可搭配文化鑽石架構進行分析
  • 應基於可信實證資料的交互驗證
研究目的:探索 透過文本反映的知識表徵,來理解外部世界 以文本對某社會價值互為正文的關係,來補強某社會價值的世界 文本及其相關建構脈絡,及能建構世界
分析對象 文本拆解:字句、概念 文本與社會價值的關聯 文本與建構脈絡

布丁補充

適用資料 抽樣資料 反映社會價值的資料 獨特性資料
示意圖 image image image
可推論對象 (適用於大部分的外部世界) (適用於與社會價值上) (獨特無法推論)
推論適用時間 (世界時常改變,抽樣代表性逐漸下降) (社會價值存在就持續有用) (歷史地位上獨特地位)
題目舉例 發展社運中的參考服務 從社運中的參考服務反思政府公開資訊 太陽花學運中的參考服務
研究目的 探討在社運進行參考服務的重要性與實施方式 規劃先導性服務,以蒐集改進建議 探討政府公開資訊的定義 從社運中的參考問答對政府公開資訊進行反思 對於政府公開資訊重新定義 探討太陽花學運的來龍去脈 探討在太陽花學運中實施參考服務的緣由與進行方式 探討在太陽花學運中參考服務問答的來龍去脈
(more...)

Docker到底哪裡比OpenVZ好? / Why Docker is better than OpenVZ?

Docker到底哪裡比OpenVZ好? / Why Docker is better than OpenVZ?

image

要說近年來虛擬化的革命性技術,大家都會講說是Docker,但是OpenVZ卻被遺忘在歷史的洪流中。由於Proxmox VE的緣故,我很常使用OpenVZ容器虛擬化技術。到底Docker是哪裡比較好呢?以下就讓我姑且做個簡單的比較吧。


Docker的入門手冊 / Guide to Docker

同樣是使用Container容器虛擬化技術,每次看到Docker 的熱門程度大幅度超越OpenVZ的時候,作為OpenVZ愛用者的我總是百感交集。最近利用Google Book看了一下GitBook中的《Docker —— 從入門到實踐­》,赫然發現……Docker真的很厲害,竟然把我想要實作的功能都內建了!

image

Docker到底哪裡好? / Advantages of Docker

跟我很熟的人應該都常常在聽我講OpenVZ的優點,主要是全虛擬機器封裝、運作快速等等。Docker作為OpenVZ的後起之輩,同樣採用容器虛擬化技術,但是在運作效率、資料管理、網路管理與映像檔發布上又有更好的作法:

效率部分 / System Efficiency

OpenVZ跟Docker採同樣的技術,但Docker在運作APP(不是手機的APP)時,只會啟動相關的process,因此資源消耗更低。細節請看5.1. 啟動

資料管理 / Data Management

OpenVZ是完整封裝一個虛擬機器,但Docker則是將一個虛擬機器拆分成多個層次:映像檔(包含作業系統)、資料卷或資料卷容器(存放設定檔與運作資料)。因此可以架設多個虛擬機器,但是存取同樣的資料卷,以達到分散式運作的架構。細節請看7.2. 資料卷容器

從這篇建置MongoDB Docker虛擬機器的教學來看,甚至連文件型資料庫(大多數關聯式資料庫都是文件型)的資料庫檔案都可以掛載在資料卷上。這個意思是說可以取代資料庫的高可用架構HA了嗎?

我現在在OpenVZ上使用NFS掛載,並另外架設資料庫HA,但是操作順序比較複雜,不是很好用。

網路管理 / Network Management

Docker內建連接埠轉遞的功能,細節請看9.4. 端口映射實作。雖然後來Proxmox VE也把連接埠轉遞做到Firewall裡面,但操作上仍比較麻煩。

我現在是架設Zentyal路由器來控制連接埠轉遞。優點是可以加上Pound實作反向代理伺服器,這就是Docker無法匹敵的功能了。

映像檔發佈與保存庫(倉庫) / Publish Image & Repository

Docker採用git版本控制技術來發布影像檔,官方也有Docker Hub集中保存的倉庫,細節請看 6. 倉庫。相較之下,OpenVZ的虛擬應用範本只能在論壇中自行貼上連結,連上傳空間都要自己想辦法。就算一個OpenVZ的虛擬應用範本只要200MB左右,要找地方擺放也是個麻煩。更何況版本一修改就要重新打包上傳,非常麻煩啊!

Docker的其他資源 / Resource for Docker

Docker的網頁圖形化管理介面:Panamax / Web GUI Management Tool for Docker: Panamax

marketing_screen_03_big

以前我會嫌Docker都要用指令來操作,還是很不成熟。就算CoreOS多穩定,也不能解決管理上的問題。但是現在已經出現像是Panamax這樣子的網頁管理工具,可以免去學習指令操作的學習曲線。

在Windows上運作Docker:Boot2Docker / Run Docker in Windows: Boot2Docker

0Z13V137-2

就連Windows上也可以直接運作Docker了,運作一個Docker只要佔用27MB的記憶體,並且只需要5秒就能起動,詳細請看這篇Boot2Docker的說明,或直接到Boot2docker專案首頁下載。


結語 / Conclusion

因此越看越覺得Docker真是令人心動,是不是該來裝個Core OS搭配網頁管理介面Panamax來玩玩看Docker呢?

備註:這篇本來只是想在Facebook上隨便寫寫,可是想說心得文應該寫在Blogger中,所以改用Android上的Blogger APP撰寫草稿,沒想到越寫越長。草稿打完之後改到電腦上用Windows Live Writer來撰寫,加了大量的鏈結與圖片,就變成這一篇一千多字的心得隨筆。根據以上經驗所獲得的結論是:還是用Evernote來寫比較好,Blogger的APP並不是一個稱職的豐富文本(Rich-text)編輯器啊。

(more...)

行為編碼與序列分析 / Introduction of Behavior Coding and Sequential Analysis

行為編碼與序列分析 / Introduction of Behavior Coding and Sequential Analysis

image

這是我在今年六月時應台科大高老師的邀約,到她實驗室跟同學介紹數位學習中質性行為的編碼、編碼者一致性信度計算以及序列分析的原理。以下分享投影片與相關工具給大家使用。


什麼是序列分析? / What’s Sequential Analysis

image

序列分析,或說是行為序列分析(Behavior Sequential Analysis)是將研究對象的行為資料進行編碼,並以二項式檢定(bionomial distribution)計算編碼與編碼之間的轉換是否有達到顯著性的一種方法。

必須先聲明的是,本篇在講的是行為序列分析,跟統計的時間序列分析 (Time Series Forecasting Method) 以及資料探勘的循序樣式分析(Sequential Pattern Mining)是不同的方法喔。雖然名稱很像,但是計算方式有很大的不同,請不要搞錯了。


投影片 / Slide

下載:Google DriveOneDriveMegaSlideShare

這份投影片算是之前序列分析簡介中投影片的完整版本。原本的投影片只有介紹後面的序列分析,這次連前面的行為編碼也一併介紹了。

相關工具 / Tools

投影片中會使用到一些工具。質性行為編碼的工具包括:

編碼 階段 運作
1 定義問題 具體描繪問題或釐清問題的定義
2 尋求解決方法 針對問題提供(詳細/簡略的)資訊或解決方法
3 分析與歸納 分析、比較與評論他人提出的意見、解決方法以及資訊
4 統整與結論 歸納先前的提議或意 見,並提出結論
5 其他 與主題無關的討論

序列分析會使用到的工具包括:

一般化序列查詢器 / GSEQ

GSEQ5big

除了以上我自己開發的工具之外,序列分析的作者Bakeman等人也開發了專門做序列分析的工具:Generalized Sequential Querier。現在已經是免費下載了:

我的工具畢竟還不算是十分完美,只能說是入門基本款而已,有些Bug到現在也還沒有時間好好研究。未來應該要更深入來研究GSEQ的使用才對。


結語:結合質性與量化的研究方法 / Conclusion: The mixed research method of qualitative and quantitative

一般都認為質性研究跟量化研究是水火不容的兩種方法。這是由於兩種方法所站的哲學角度是有所不同:質性研究是基於社會建構論(social constructionism),認為這個世界是由獨立的個體組成,每個人都是獨一無二,世界是由微觀的行為與鉅觀的社會脈絡所建構而成;量化研究相信實證主義(positivism),認為這個世界一定存在唯一不變的真理,而我們可以利用取樣來由小見大。

而序列分析則是將這種兩者方法結合在一起:我們記錄質性的行為資料,然後進行編碼分析,再來使用量化的推論統計來解釋行為序列的轉換。一般的質性研究大概十人上下各30分鐘的訪談就是一篇碩士論文,但是數位學習的序列分析通常是取兩個班級、共約60人左右,而且是做兩個小時以上的行為觀察。一般的量化研究通常是跑獨立樣本t檢定(兩組平均數比較)、變異數分析(三組以上的平均數比較)、共變數分析(考量前測的平均數比較)、皮爾森相關係數分析,但是序列分析則是使用二項式檢定 (其實統計課都會教,沒印象的人回去跟統計老師道歉) 。不管是從質性研究還是量化研究的角度來看,序列分析要做得事情都不比前兩種還少。

由於序列分析工具做起來很簡單,我本來以為兩個小時就能講完序列分析的內涵。結果講到最後竟然用了快三個半小時,越講越覺得序列分析真是博大精深。不過序列分析依然有其侷限:只能呈現行為之間的轉換,而非建模。在研究分析上應結合其他方法一起應用。

話說回來,從哲學觀點來看,序列分析其實比較偏向量化研究,也就就是實證主義的哲學觀點。因為他是希望從大量資料中歸納出具有推論性的結論。就這個就觀點來看,如果分析質性資料的時候腦袋裡面還想著「在受訪對象中有一半人都發生這樣的行為」,那其實這是一種量化研究的思維,而不是質性研究喔。很多人都以為做訪談就是質性研究、問卷就是量化研究,其實並非如此,有必要跟大家釐清一下。

總之經過這次的歷練,如果下次還有誰想要認識序列分析的話,歡迎來找我去介紹。預計下次就會再加入GSEQ的介紹了吧XD

(more...)