:::

把電子報轉成RSS訂閱 / Forward E-mail Newsletter to RSS feed

布丁布丁吃布丁

把電子報轉成RSS訂閱 / Forward E-mail Newsletter to RSS feed

image

E-mail信箱是處理工作要務,而電子報(e-mail newsletter)等促銷訊息應該是閒餘時候來看。我利用Gmail把電子報轉到Blogger上,再用RSS訂閱該Bloggger,就可以做到電子報轉成RSS訂閱的功能了。

I usually use e-mail, like Gmail, to handle my jobs. But I feel annoyed when advertisement newsletter occupy my inbox. I try to convert newsletter e-mails to RSS feeds. So that I can read newsletters at rest.


在不同的工具上,做不同的事情 / Do the right thing by right tool

image

我平時主要工作的集中處是Gmail。平時我的收件匣只存放「尚未處理的工作」,而其他封存的郵件也大多都是「做完的工作」或「重要的通知」。此外,我就不想在Gmail中保存與工作無關的訊息,像是電子報。儘管現在Gmail提供了收件夾自動分類的功能,但對這堆電子報依然會留在Gmail當中,造成往後要搜尋相關工作信件時,反而淹沒在與工作無關的電子報裡,添增資料整理的困擾。

16 - 1

當然,電子報是增加新知的重要資訊來源。我會整理資訊新聞、圖書館新聞、最新文獻等RSS資訊來源,然後在Feedly上訂閱(以前是Google Reader,可惜關了)。平常我坐在電腦前的時間就是工作(開 啟Gmail),但是在外面移動、等車的時間,我就是開啟Android手機上的gReader來閱讀這些RSS。這也是偶爾我會在Plurk上轉貼一些新聞的情形。

跟用E-mail訂閱電子報相比,RSS訂閱電子報有幾個好處:

  • 可以將捲軸瀏覽過的文章自動標示為已讀,不必一一開啟或是手動標示已讀。
  • 依照電子報來源分類管理,或是將RSS分群管理,未來回頭搜尋相關文章時非常方便。
  • 讓Gmail只剩下工作信件,不再被那些無關的電子報干擾。
  • 我可以在自己閒暇之餘再來開啟「政大每日郵件」之類的電子報,不必用寶貴的工作時間忙著幫傳播學院填寫20分鐘的問卷。

最近實在是覺得Gmail被這些排山倒海而來的電子報入侵感到十分困擾,所以興起了我想把這些電子報轉換成RSS訂閱的念頭。

如何從E-mail轉換成RSS訂閱? / How to subscribe RSS feed from E-mail Newsletter

儘管資訊相關的網站大部分都會提供RSS服務,不過小型的機構網站電子報可都還是採用傳統的人工製作電子報來寄送,沒有採用電子報工具來統一管理,自然沒有RSS訂閱(feed)的服務。

目前網路上大部分的服務都是把RSS轉成E-mail,但是相反地,將E-mail電子報轉換成RSS的服務非常少。所以這個轉換工具可能靠不了別人,我想應該還是得自己來想想辦法才行。

摸索了一下,我目前想到的作法很簡單:將信件轉寄到Blogger來典藏,這樣就可以做到將E-mail電子報轉換成RSS訂閱了。

情境說明與事前準備 / Preparing

我現在想要將Gmail中部分郵件自動轉寄到以Blogger建立的電子報Blog,利用Blogger的「使用電子郵件張貼」(Mail2Blogger)功能來張貼電子郵件。最後就用Feedly訂閱電子報Blog,完成訂閱的動作。

因此在以下教學中,我會用到幾個工具:

  • Google Account:使用Gmail、Blogger跟Feedly都會用到的帳戶。如果還沒有Google帳戶,去免費註冊一個吧
  • Gmail:接收電子報的電子郵件地址,並且進行自動轉寄的功能。你也可以用你自己偏好的電子郵件系統,大部分也都有提供轉寄的功能。
  • Blogger:保存電子報,並提供RSS訂閱的免費服務。
  • Feedly:訂閱RSS的閱讀器。我會搭配gReader來讀取在Feedly訂閱的RSS,不過gReader在本教學中不是重點。

準備好的話,請按照以下步驟,一步一步把電子報轉換成RSS訂閱吧。

Step.1 建立電子報Blog / Create Newsletter Blog

image

進入Blogger的首頁,點入左上角的「新增網誌」按鈕。

image

輸入標題與網址就可以建立了。在此我輸入的是「布丁測試電子報」(以下簡稱電子報Blog)與「pulipuli-test-newsletter.blogspot.com」。

image

進入新建立電子報Blog的「設定」功能,進行一下的其他設定。

Step 1-1. 關閉隱私權 / Setup Private

image

在「設定」的「基本」中,將隱私權關閉,因為這只是我私人使用的電子報訂閱位置。如果你不介意公開訂閱的電子報,那也可以把它打開。

Step 1-2. 關閉留言 / Disable Comment

image

在「設定」的「文章和留言」中,把留言功能限定於「僅限此網誌的成員」,再按右上角的「儲存設定」。因為這只是我私人使用的電子報,不希望讓別人留言討論。

Step 1-3. 設定使用電子郵件張貼功能 / Enable Mail2Blogger

image

這一步重要!進入「行動裝置及電子郵件」中,設定「使用電子郵件張貼」的功能。文字框裡面你可以輸入指定的密語(secret words),組成一個只有你知道的電子郵件位置,再按下右上角的「儲存設定」。

舉例來說,我設定的是「test-newsletter」,於是未來任何人寄信到到「pulipuli.chen.test-newsletter@blogger.com」時,他都會直接發佈在Blog當中。當然,這個位置我只是測試用的而已,寫完這篇文章之後我就會刪除了,請不要真的去寄信。

Step 1-4. 關閉「關於我自己」的訊息 / Hide Author Information

image

Blogger預設會在Blog擺放自己的資訊。因為這只是電子報保存,不代表我個人的文章,所以建議把它移除掉。

image

你可以從「版面配置」中找到「關於我自己」,按下「編輯」後再選擇「移除」按鈕,就可以關閉這個訊息。

Step 2. Gmail新增轉寄位置 / Setup Forward in Gmail

image

為了把Gmail轉寄到電子報Blog,必須先在Gmail的設定中新增「轉寄地址」。在Gmaill「設定」的「轉寄和POP/IMAP」中進入「新增轉寄地址」。

image

在此輸入剛剛在電子報Blog新增的電子郵件張貼位置「pulipuli.chen.test-newsletter@blogger.com」,按下一步。

image

確認郵件轉寄,按下「繼續」。

image

回到電子報Blog的首頁上,你會發現有一篇文章被新增了,而且還是Gmail的轉寄確認信。點下信中提供的連接已確認郵件吧。

image

確認成功。

image

接著再回到電子報Blog的管理介面中,刪除剛剛那篇「Gmail轉寄確認」的文章吧。

Step 3. Gmail建立電子報篩選器,自動轉寄到Blog / Use Gmail Filter to Forward Newsletter to Blog

image

在Gmail中,利用篩選器來選擇電子報的寄信來源。

image

以「圖書館」的電子報為例,我可以用寄件者為「fish14@nccu.edu.tw」這位館員的電子信箱作為篩選條件,按「根據這個搜尋條件建立篩選器」來建立篩選器。

image

接著我再篩選器中設定「轉寄給:pulipuli.chen.test-newsletter@blogger.com」跟「刪除它」,以及勾選「略過收件匣(將其封存)」、「永不將其標示為重要」跟「分類為:最新快訊」。以此設定按下「建立篩選器」。

好,到目前為止,我們總算可以把Gmail的電子報轉移到電子報Blog中了。

Step 4. 用Feedly訂閱電子報Blog的RSS / Subscribe RSS feed in Feedly

image

電子報Blog的RSS訂閱位置,預設是在網頁下方的「訂閱: 文章 (Atom)」中。以電子報Blog為例,它的網址是「http://pulipuli-test-newsletter.blogspot.tw/」,那RSS訂閱位置就是「http://pulipuli-test-newsletter.blogspot.com/feeds/posts/default」。記住這個訂閱位置,Feedly就是靠這個位置來訂閱RSS的。

image

接著我們來到Feedly頁面,從「+Add Content」功能中,在搜尋框輸入剛剛的RSS訂閱位置。等一段時間後,Feedly會找到該RSS訂閱的來源(Discover feeds),再按下「+」新增。

這樣子就完成在Feedly中訂閱RSS的動作了。至於要怎麼在Feedly整理RSS訂閱或其他的功能,就請參考電腦玩物寫的「Feedly 完全上手教學,延續 Google Reader 閱讀器體驗」吧。


結語:電子報轉成RSS訂閱之後 / Beyond E-mail to RSS feed

image

儘管經過以上的步驟之後,我把跟工作無關的電子報都改放到Feedly中訂閱,而只在行動裝置上欲閱讀這些電子報。不過遇到重要的文章時,我還是會把它轉存到Evernote供未來參考利用Android的EverClip也可以擷取網頁原始格式),或是放到Pocket中閱讀全文(不過我後來發現幾乎不會回頭去看就是了)。

把電子報放在Blogger之後,我發現我還可以為某些每次都是由不同人寄信、沒有統一系統管理的電子報建置一個數位典藏的集中地。如果小型機構沒有電子報相關的系統,我建議你們也可以採用我上面的教學,以Blogger建立一個專用的電子報訂閱中心。

image

Blogger可以用「小工具」新增以Email訂閱的功能,所以一樣可以提供讀者Email訂閱與RSS訂閱這兩種方案。

image

此外,Blogger也內建了「統計資料」的功能,可以讓你知道電子報的訂閱資訊。如果不關閉隱私權的話,也能夠讓人用搜尋引擎找到電子報的內容,增加傳播影響力。

不過上述的步驟依然有點太過複雜,如果只是要簡單的Email to RSS,似乎可以用更簡單的方式搭配運作。舉例來說,如果可以再寄信時自動依照來源安排不同的標籤(label),那就可以用同一個電子報Blog容納來自多種不同來源的電子報,並且可以依照來源不同個別訂閱所需要的RSS。技術上不難,難的只是做成公開服務提供穩定運作而已。希望未來有心人士可以試著提供這樣的服務,也算是為幾近沒落的RSS作點貢獻吧

(more...)

Zotero中英兼具APA開發記事 / Zotero Chinese-English APA style development note

布丁布丁吃布丁

Zotero中英兼具APA開發記事 / Zotero Chinese-English APA style development note

image

我很久以前寫過一篇「用Zotero輸出中文、英文不同的APA參考文獻」,在「布丁布丁吃什麼?」部落格當中意外地還算是頗受歡迎。

最近在寫計劃書的時候,需要整理大量的引用文獻,於是又開啟了我想要繼續發展中英兼具APA格式的念頭。前天我用很破爛的英文去Zotero論壇詢問CSL語法,才發現原來<layout>標籤可以設定locale屬性,它會參考zotero item的language欄位來設定對應的layout。光是這個功能的發現,又讓我可以往下繼續開發。

文件與功能探索

這段期間最主要的突破是CSL-m Specification Supplement這份文件。它描述了許多CSL原本沒有提供,但是卻十分好用的功能,比起Zotero網站提供的舊版CSL教學來說,這份2013年11月最近才公布的文件有用很多。

為了搭配新的CSL,我也把Zotero升級成4.0.17,不過升級之後並沒有感到什麼差異。最主要還是要靠修改CSL吧。

在撰寫途中我還是遇到很多問題,主要是:

terms的設定:後來發現<locale xml-lang=”zh-tw”>跟<layout locale=”zh-tw”>中的zh-tw必須完全相同才有效。

判斷作者數量的方式:雖然有suppress-minsuppress-max可以用,但是卻不能達到我想要的指定顯示最後一個作者人數,或是在作者人數超越指定數量時顯示我指定的訊息。

機構全名要變成縮寫:CSL-m有新增institution。我才知道原本作者欄的雙欄跟單欄功能中,單欄就是instituion的功能。

image

在中文APA當中會要求第二次引用機構名稱時顯示縮寫。我本來期待會有另外一個欄位可以記錄機構的縮寫名稱,不過似乎是沒有的樣子。算了,就偷懶都用全名吧。

if條件判斷:還是一樣,條件判斷少得可憐。連最基本的從item的varible中比對字串的功能都沒有。

此外還有一些其他的進展,詳述如下:

Zotero Standalone 切換語系的方法

有一點必須要說明,我現在主要使用的Zotero Standalone修改語系的方式跟Firefox的add-on版本有所不同。

image

Zotero Standalone修改語系也是要到about:config功能中修改。不過Zotero Standalone預設鎖定作業系統使用的語系,必須要先將intl.locale.matchOS修改成false,才能在extensions.zotero.export.bibliographyLocale中修改語系。

我建議把extensions.zotero.export.bibliographyLocale修改成en-us,變成英文版本的Zotero。因為英文會考慮複數問題比較多,例如p. 跟pp. ,所以我認為先用英文預設值再來添增中文設定檔,會比較省功。

CSL編輯器

之前在開發CSL時,都是在Word中不斷重新整理引文資料,還要搭配Zotero的開啟與關閉,頗浪費時間。後來發現有CSL編輯器這個強大的工具,可以省下上述的複雜作業,專心在開發上。

image

CSL編輯器在Zotero偏好設定Preference中的Advaced > General 下面的Open CSL Editor。中文介面的使用者可以參考上圖的位置來開啟。

image

剛開啟CSL編輯器時,不會有任何資訊。首先請你在Zotero主視窗中選取任何一筆書目,然後在右上角選單中選擇我們要開發的CSL檔案,如下圖:

image

接著CSL編輯器就會根據你現在指定的書目與格式來顯示預覽結果,如下圖:

image

修改上面的CSL原始碼,下面就會馬上輸出預覽結果。不過他的原始碼只能用純文字進行編輯,比較不方便,所以我通常是在Sublime Text 2中編輯後再複製貼上到CSL編輯器。Sublime Text 2指定XML顯示格式之後的畫面如下:

image

如果要換一筆書目來顯示,或是修改書目資料的話,記得要按左上角的「Refresh」來重新讀取。

image

還有指定範圍(頁數、章節)、省略作者(Suppress author)、引用位置(首次 First或接續 Subsequent)等功能可以使用。甚至一口氣指定多筆書目資料(在Zotero主視窗中按著Shift就可以多選),都會在CSL編輯器中顯示,省下搭配Word運作的困擾,方便很多呢!

中文APA的參考

因為開發中文APA需要有個參考對象,於是我從「圖書館學與資訊科學」借來了APA格式的參考範例當做目標進行開發。

image

並且根據常用的引用情況,建置了對應的模擬書目資料。這樣我就可以標明目標的書目輸出結果,比較跟目前CSL輸出結果的差異。

目前比較了報告(report)、報紙(newspaper)、期刊論文(article-journal)、會議或研討會論文(paper-conference)、圖書(book)跟學位論文(thesis)這幾種。

不過現在想想,還是應該去拿張保隆老師跟謝寶煖老師撰寫的「學術論文寫作:APA規範」來做為參考目標。不過這本書是2006年出版,跟「圖書館學與資訊科學」撰寫的2011年公佈相比,會有時間差異的問題。

在仔細評估之前,中文APA還不算完成吧。

目前的中英APA CSL檔案下載

雖然還不算是完成,不過還是可以提供給大家下載試試看:

轉譯器(translator)更新

因為對應語系要從zh_TW修改成zh-tw的關係,我自己開發的轉譯器也有所更新。下載位置如下:

轉譯器的安裝說明請參考「Zotero安裝自製的轉譯器」。

使用注意事項

由於目前還不算完成,所以使用時必須手動調整幾種狀況:

  • 當一次引用多篇文獻時,開頭的「(」或「(」會重複,要記得手動移除。
  • 八人作者理想上應該是要如下顯示,可是實際上需要手動調整

作者 A、作者 B、作者 C、作者 D、作者 E、作者 F、…作者H等人(1991)。[圖書 04-2. 作者超過 8 人時]。出版地:出版者。

其他問題可以用留言回覆給我點建議,感謝。

(more...)

Pound反向代理伺服器延長等待時間的設定

布丁布丁吃布丁

Pound反向代理伺服器延長等待時間的設定

20091027_itmedia_ie

(圖片來源:ITmediaサイトが見れない・・・「The service is not available. Please try again later.」)

安裝Pound作為反向代理伺服器(reverse proxy)之後,服務就常常遇到以下錯誤訊息:

The service is not available. Please try again later.

這是因為網站運作時間超過了Pound預設的等待時間,所以Pound顯示了錯誤的訊息。以下教大家如何設定Pound的等待時間以避免這個問題。

After using Pound as reverse proxy, it’s very easy encounter this error:“The service is not available. Please try again later.” Following I will show you how to configure Pound’s TimeOut setting to prevent this problem.


Pound設定檔位置 / The path of Pound’s configuration file

要調整等待時間,必須調整Pound的設定檔。

一般Pound設定檔的位置是在 /etc/pound/pound.cfg,但是IPFire中Pound設定檔的位置是 /etc/pound.cfg

若要以vim開啟Pound設定檔的指令如下:

   1: # vim /etc/pound/pound.cfg

原本的pound.cfg的設定大概是:

   1: ## Minimal sample pound.cfg
   2: ##
   3: ## see pound(8) for details
   4:  
   5:  
   6: ######################################################################
   7: ## global options:
   8:  
   9: User            "www-data"
  10: Group           "www-data"
  11: #RootJail       "/chroot/pound"
  12:  
  13: ## Logging: (goes to syslog by default)
  14: ##      0       no logging
  15: ##      1       normal
  16: ##      2       extended
  17: ##      3       Apache-style (common log format)
  18: LogLevel        1
  19:  
  20: ## check backend every X secs:
  21: Alive           300
  22:  
  23: ## use hardware-accelleration card supported by openssl(1):
  24: #SSLEngine      "<hw>"
  25:  
  26: # poundctl control socket
  27: Control "/var/run/pound/poundctl.socket"
  28:  
  29: ## (... Others)

加入TimeOut的設定 / TimeOut configuration

Pound預設的等待時間只有15秒,我建議把它改成300秒,也就是超過5分鐘才顯示錯誤訊息。

那就要在設定檔中加入TimeOut設定:(注意O是大寫)

   1: ## Wait for server respond in X secs:
   2: TimeOut         300

於是設定檔開頭就會是:(注意紅字的部份

   1: ## Minimal sample pound.cfg
   2: ##
   3: ## see pound(8) for details
   4:  
   5:  
   6: ######################################################################
   7: ## global options:
   8:  
   9: User            "www-data"
  10: Group           "www-data"
  11: #RootJail       "/chroot/pound"
  12:  
  13: ## Logging: (goes to syslog by default)
  14: ##      0       no logging
  15: ##      1       normal
  16: ##      2       extended
  17: ##      3       Apache-style (common log format)
  18: LogLevel        1
  19:  
  20: ## check backend every X secs:
  21: Alive           300
  22:  
  23: ## Wait for server respond in X secs:
  24: TimeOut 300
  25:  
  26: ## use hardware-accelleration card supported by openssl(1):
  27: #SSLEngine      "<hw>"
  28:  
  29: # poundctl control socket
  30: Control "/var/run/pound/poundctl.socket"
  31:  
  32: ## (... Others)

重新啟動 Pound / Restart Pound Service

重新啟動的指令為:

   1: # /etc/init.d/pound restart

這樣的話,只要伺服器運作不要超過五分鐘,那就不會出現錯誤訊息了。


結論:利用Pound優雅地處理錯誤訊息 / Conclusion: Handle HTTP error with Pound

許多人用Pound都會覺得預設的錯誤訊息:「The service is not available. Please try again later.」很醜,也很讓使用者難以確定接下來到底該怎麼做好。

其實Pound可以設定在發生錯誤時顯示其他網頁,設定可以參考Pound secure reverse proxy "how to"這篇文章中的The pound config file(這個範例也有設定TimeOut),重點摘錄如下:

   1: Err414 "/var/www/htdocs/error/generic_error_page"
   2: Err500 "/var/www/htdocs/error/generic_error_page"
   3: Err501 "/var/www/htdocs/error/generic_error_page"
   4: Err503 "/var/www/htdocs/error/generic_error_page"

因此當發生414(網址過長)500(內部伺服器錯誤)501(不支援的HTML方法)503(伺服器停止服務)錯誤時,就會顯示「/var/www/htdocs/error/generic_error_page」這個網頁。

image

為此我做了一個實驗室雲端平台的錯誤網頁,下載網址是: http://dl.dropboxusercontent.com/u/717137/20130914-error_page/error_example.html

Pound的功能十分強大,下次我再介紹如何利用Pound製作緊急啟動方案(Emergency)。

(more...)

批次開啟網頁 / Batch of Webpages Opener

批次開啟網頁 / Batch of Webpages Opener


網頁顯示 / Webpage preview

練習寫Angular.JS

(more...)

修復Linux開機啟動程序initrd錯誤的問題 / Fixing a Broken initrd in Linux

布丁布丁吃布丁

修復Linux開機啟動程序initrd錯誤的問題 / Fixing a Broken initrd in Linux

2013-08-20_22-26-51

這篇是解決Linux開機時遇到啟動中找不到開機啟動程序,而出現「mount: could not find filesystem ‘/dev/root’」的解決方法。具體方式都是參考troy’s unix space的「Fixing a Broken initrd in Linux」。以下是記錄我自己的解決方式。

This is the solution when you encounter Linux boot failed with "mount: could not find filesystem ‘/dev/root’". The details are reference "Fixing a Broken initrd in Linux" in troy’s unix space. Following is my problem solved steps.


問題敘述 / Problem

  • 作業系統:CentOS 5 (不確定是5.幾版),編號是CentOS (2.6.18-164.15.1.e15)←注意這個編號,這在開機畫面中會看到,之後我們會用到這個編號喔。
  • 硬碟:使用PATA的IDE硬碟掛載,編號為hda
  • 操作環境:這是我在做P2V當中遇到的問題,修復過程都是在VirtualBox 4.2.6中完成。

我印象中之前是使用Clonezilla把實體機器上的CentOS複製到VirtualBox的VDI,以完成P2V (Physical-toVirtual)的作業。不過不知道是不是Clonezilla複製的過程有些問題,複製到VDI,確認硬碟位置與實體機器相同之後,我把它啟動時遇到了以下的錯誤訊息:

2013-08-20_22-26-51

(上面為止的都是正常啟動訊息)

Unable to access resume device (LABEL=SWAP-hda2)

mount: could not find filesystem ‘/dev/root’

setuproot: moving /dev failed: No such file or directory

setuproot: error mounting /proc: No such file or directory

setuproot: error mounting /sys: No such file or directory

switchroot: mount failed: No such file or directory

Kernel panic – not syncing: Attempted to kill init!

到此為止,系統就不能運作了。

我把錯誤訊息上網Google了一下,馬上就找到「Fixing a Broken initrd in Linux」這篇的解法。以下就是操作的過程。

Step.1 用CentOS光碟進入Linux救援模式 / Ener Linux Rescue Mode By CentOS Installation CD

我之前也有用救援模式(rescue mode)來修復無法啟動的CentOS,不過那時候是用fsck修復檔案系統(filesystem),這次是要修復開機啟動程序(initrd)。

2013-08-20_22-45-39

我這次一樣使用CentOS 5.2安裝光碟,從光碟開機之後看到以上畫面,接著輸入以下指令:

linux rescue

接著設定語系、鍵盤與網路。本次修復不需要用到網路,所以網路我就不開啟了。

2012-04-23_235030 continue

最重要的是選擇如何掛載原本的系統,畫面如上圖(我借用以前我自己修復過程的圖片)。請選擇「Continue」,救援模式會把原本的系統掛載到「/mnt/sysimage/」中。

2013-08-20_22-46-50

接著會進入指令列,輸入以下指令

sh-3.2# chroot /mnt/sysimage/

這樣就進入原本的系統中了。接下來我們要開始修復囉。

Step.2 備份開機映像檔 / Backup Boot Image File

會發生這個問題,是因為CentOS的開機映像檔毀損了。所以這篇文章的目的在於修復CentOS的開機映像檔。

開機映像檔的位置在 /boot 中。依照Linux版本不同,裡面會有不同編號的檔案。我上面有提到要特別注意CentOS的編號「2.6.18-164.15.1.e15」,以這個例子來說,我的檔案就會是「/boot/initrd-2.6.18-164.15.1.e15.img」。

我們在此先備份這個壞掉的開機映像檔,以免待會修壞了無法還原吧。

mv /boot/initrd-2.6.18-164.15.1.e15.img /boot/broken-initrd-2.6.18-164.15.1.e15.img

 

Step.3 建立開機映像檔 / Using “mkinitrd” Create Boot Image File

接著我們要用mkinitrd指令來建立新的映像檔。指令需要輸入兩個參數,一個是建立開機映像檔的位置,另一個是版本的編號。以我需要的編號「2.6.18-164.15.1.e15」來說,指令如下:

sh-3.2# /sbin/mkinitrd /boot/initrd-2.6.18-164.15.1.e15.img 2.6.18-164.15.1.e15

完成建立之後,你可以用指令「ls /boot/initrd*」來確認開機映像檔是否有正確建立。

沒有問題的話,輸入指令「exit」兩次來重新啟動系統。

重新啟動的時候記得要把CentOS光碟拿起來喔。

通過開機程序 / Pass Statup Process

2013-08-20_22-53-48

之後系統就能夠順利開機了。不過來到系統裡面,我發現原本可以運作的Tomcat出了點問題。後來我重新建立一個Apache Tomcat就恢復正常,也設定了自動啟動Tomcat跟PostgreSQL。跟這篇主題不太相關,所以細節我就不多提了。

以上就是整個修復的過程。

(more...)

「布丁布丁吃什麼?」也有Android APP囉! / The Android APP Version of “Pulipuli Blog”

「布丁布丁吃什麼?」也有Android APP囉! / The Android APP Version of “Pulipuli Blog”

image

布丁的blog「布丁布丁吃什麼?」已經登上了Google Play,在此我也聊一下最近自己對於這個blog的一些感想。

The Android APP of my blog "Pulipuli Blog" had been upload to Google Play. Following is my thoughts about this APP and my blog.


Google Play下載「布丁布丁吃什麼?」 / Download APP From Google Play

31 - 2

這個APP就是前幾天我用AppsGeyser製作的結果。製作這個APP其實也沒花很多功夫,也就是把Blogger的行動版網址輸入到AppsGeyser,就能夠下載一個這樣的APP。不過比起用AppsGeyser製作APP這種懶人的作法,設計圖示反而更令我困擾啊。之後也得花點時間來研究如何設計好的圖示囉

總而言之,現在你用Android手機也能夠閱讀「布丁布丁吃什麼?」囉。這還真是自我行銷的一種手段啊。

不過比起推廣「布丁布丁吃什麼?」這件事情,我更把它當作是一個玩具在看待。也許改天有時間了,我也許會拿起PhoneGap與jQueryMobile自己手工製作一個APP,把「布丁布丁吃什麼?」APP加上自己喜歡的功能喔。到時候我也會寫blog跟大家分享這段經驗吧。

對於APP的反思 / My Thoughts of APP

當兵的時候,有一位學長在跟我講他堅持買iPhone的理由:

因為iPhone上有個時尚網站的APP,那是我時常關注的網站,所以我想買iPhone。

我對此感到困惑已久,如果只是想要獲取某個網站的資訊,你為什麼不要用RSS呢?先不論很多人並不知道RSS這個工具的這點,許多資訊提供者(包括圖書館與建置數位典藏的那些人)都抱著「你要資料,請來我這裡」的高傲想法,逼迫使用者必須要用他們設計的介面、用他們建立的瀏覽方式,讀者才能獲得他們的資料。

這種APP也是如此。以「布丁布丁吃什麼?」來說,這個APP也沒有提供什麼功能,只是從最新文章開始往下閱讀、瀏覽而已,連搜尋功能都沒有提供。但如果是某些情況下,大家要取得「布丁布丁吃什麼?」的資料,那就得遵循這個APP的遊戲規則才行。

老實說,我不是很欣賞這種作法。更明白地說,我其實不建議大家去下載目前的「布丁布丁吃什麼?」APP。你可以直接從網頁瀏覽器來開啟「http://pulipuli.blogspot.tw」,也可以用RSS來追蹤「布丁布丁吃什麼?」的最新動態。不過我更推薦的是,用Google搜尋吧。

用RSS來把握「布丁布丁吃什麼?」的最新動態 / Using RSS To Follow Pulipuli Blog

要追蹤「布丁布丁吃什麼?」的最新資訊,我建議用你可以用RSS:

要訂閱這個RSS,你需要選擇一個RSS的工具。在Google閱讀器關閉的現在,你也有其他方案可以選擇:

要在Android上閱讀RSS,除了用Feedly的Android版本之外,我也很推薦好用的gReader:

用社群網站來追蹤「布丁布丁吃什麼?」的最新動態 / Follow “Pulipuli Blog” In Social Website

雖然我很喜歡RSS,不過這年頭似乎趨勢是封殺公開的RSS標準,轉向封閉型的社交網站。為了迎合這股風潮,「布丁布丁吃什麼?」在兩大社交網站上也有自己的粉絲團:

image

赫然發現我忘記用IFTTT把Blogger的訊息轉到Facebook粉絲團中,所以粉絲團資料是空的orz

image

我記得我好像設定了HootSuite,所以Google+專頁上充滿了我的Blog文章以及Plurk發言

用Google搜尋來找「布丁布丁吃什麼?」的文章吧 / Don’t Browse, Search It!

image

嗯,常常看我文章的讀者應該知道,比起追蹤「布丁布丁吃什麼?」的最新動態,我還比較推薦讀者直接用Google等搜尋引擎搜尋你要的資料就好。而且請不要用Blogger提供的搜尋功能,那功能找的資料比Google搜尋還要差得許多。

我寫blog的方式並不是有堅持特定主題,或是以某種組織架構連貫而成。除了少數幾篇我會把文章拆成幾個部分來撰寫之外,大多數文章我都是希望能夠獨立呈現。這篇文章自己就應該是一個完整的論述,而其他相關資訊則以超連結呈現。

關心作者的近況 / Follow Pudding’s Status

如果想要了解國內圖書資訊學的近況,那時常關心中華民國圖書館學會的電子報,那我覺得很合理。不過因為「布丁布丁吃什麼?」是一個個人興趣而撰寫的網誌,除了我自己之外,我想不到有什麼理由需要會讓人需要追蹤最新動態就是。

如果要關心我個人的話,那我會比較建議你看我的Plurk比較直接喔。

image


結語:「能寫blog真是太好了呢」 / Conclusion: “It’s really great that you write blog.”

這顆布丁是在無聊的世界中找尋樂趣的一種不能吃的食物。喜歡動漫畫、喜歡遊戲、喜歡程式、喜歡跟世間脫節的生活步調中,撰寫blog──布丁布丁吃什麼? http://pulipuli.blogspot.tw/

最近幾天,我把這學期應該要分享的資料拿出來分享。這些文章大多都已經是過去的事件,但是他們有分享的價值,所以我會希望能夠在「布丁布丁吃什麼?」這個blog中,分享這些微小、不成熟,但是可能會在哪裡對某些人有所幫助的知識。

因為撰寫「布丁布丁吃什麼?」的緣故,最近也是遇到許多預期之外的好事。更讓我深信,在這不起眼的blog中分享我的所學所得,這是有所價值的行為。

「布丁布丁吃什麼?」從2005年12月25日(居然是聖誕節)

也許哪一天我會無法繼續撰寫文章,也許哪一天我也會離開這個世界。不過至少,我在這個blog中留下了活著的痕跡。「布丁布丁吃什麼?」就是我想要改善這個世界的,小小貢獻。

(more...)