2014年4月20日 星期日

Feedly 自造你的入口網頁




最近我和幾個朋友都發現,自己每次打開手機就是在看facebook。

把朋友的動態瀏覽一次後便開始感到空虛。

雖然不少朋友會轉帖文章,分享新聞。

但由於朋友的同質性很高,看到的消息大概也就是那些,感覺有點被侷限了。


明明網路資源很多,但是,一時半刻也不知道該看些什麼好。

知道有幾個不錯的部落格,但每次點開來確認更新也覺得很麻煩。


想起在網路初始的年代,上網之後第一步都是打開奇摩,

再從奇摩首頁去點自己有興趣的新聞或連結。

但在這個世代,入口網頁嚴重商業化,越來越無聊....


有沒有辦法做一個自己的入口網頁?

隨時摘錄即時新聞,匯整各式有趣的內容。


後來思考了一下發現, Feedly 非常符合這樣的需求。

它是一個RSS 新聞訂閱的工具,簡單利落的瀏覽界面很容易上手。

把有興趣的議題,喜歡的網站,愛看的部落格全部收藏起來,

在首頁的地方就可以輕鬆看見有哪些新文章,也可以標記已讀未讀。


用 Facebook帳號或是 Google 帳號就可以登入。

可以說是非常方便。



一起用 Feedly 打造一個自己專屬的入口網頁吧!

The more you read, the more you know

  







2014年4月6日 星期日

[LINUX]我的 CentOs-Server 安裝流程-part2-iptables


Linux核心中有著內建防火牆,iptables
防火牆乍聽之下難以親近,但iptables運作原理是很單純的
不外乎是正面列舉或是負面列舉的概念:
正面列舉:預設條件是全部拒絕,唯有滿足列舉出的條件方得通過
負面列舉:預設條件是全部接受,唯有滿足列舉出的條件會被拒於門外

如何?不難理解吧,那就開始操作iptable的設定吧!

首先先來讀看看預設的iptables規則如何設定,在此使用iptables-save來讀取目前的設定值
單純使用iptables-save指令時,目前的規則會顯示在主控台上
而為了基於目前的設定來作修改,我們把內容印在檔案中,之後改完檔案後再使用iptables-restore將規則存回,操作上方便很多。

將iptables規則重導向到文件內:
#iptables-save > 任意文件

使用vim讀看看預設的規則長何樣:
# Generated by iptables-save v1.4.7 on Thu Apr  4 20:20:29 2013
*filter
:INPUT ACCEPT [0:0]                                          //進入封包預設條件為全部通過
:FORWARD ACCEPT [0:0]                                  //轉發封包預設條件為全部通過
:OUTPUT ACCEPT [431:50629]                          //發出封包預設條件為全部通過
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT  
//已建立連線狀態的封包予以通過
-A INPUT -p icmp -j ACCEPT                             //icmp封包予以通過(讓別人可以ping你)
-A INPUT -i lo -j ACCEPT                                   //來自內部迴路的封包予以通過
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT 
// 欲建立於port-22的封包予以通過
-A INPUT -j REJECT --reject-with icmp-host-prohibited                   //不滿以上規則的統統拒絕!
-A FORWARD -j REJECT --reject-with icmp-host-prohibited          
COMMIT
# Completed on Thu Apr  4 20:20:29 2013

iptables的規則分為三群:
INPUT:進入系統的封包該受到何種過濾方法
OUTPUT:從系統發出的封包該受到何種過濾方法
FORWARD:從系統轉發的封包該受到何種過濾方法

而過濾流程是序列式的,照著規則由上至下判定條件並決定動作,動作就是 -j 所描述,條件就是動作以外的描述部份(很像C語言中的 if(條件){動作}語句塊),
你也可以視iptable照此scripts依序執行動作,所以設定規則的順序是很重要的!

從上面的預設規則可以看出,預設防火牆只允許SSH通過,為了之後能讓其他服務通過,有必要改一下預設設定。

宅哥家裡是以一台router連結所有區網內的電腦,目前不想對外部網路進行開放,想作出以下設定:
  • 預設政策為丟棄所有封包
  • 只開放內部網路(192.168.0.0/24)通過
  • 對於外部網路而言…好啦勉強能讓我連進ssh就好(至少留了一扇回家的門)
那麼我們就通過預設設定檔進行修改:
# Generated by iptables-save v1.4.7 on Thu Apr  4 21:38:30 2013
*filter
:INPUT DROP [15:888]                                                      // 進入封包預設為全部拒絕!
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [629:126630]
-A INPUT -i lo -j ACCEPT                                                // 來自內部迴路的封包予以通過
-A INPUT -s 192.168.0.0/24 -j ACCEPT                          // 來自區域網路的封包予以通過
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT  
// 欲建立於port-22的封包予以通過(來自外部網路也過的去喔)
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 
// 已經建立連線的封包予以通過(這是讓SSH能維持連線的規則)
COMMIT
# Completed on Thu Apr  4 21:38:30 2013

很簡單的設定吧!然後將此設定載回iptables服務:
#iptables-restore < 新設定

設定完記得存個檔:
#iptables-save > 備份檔名

如此以來我的SERVER就在網際網路上隱形啦,應該變的比較安全
做完以上幾個動作之後會發現,疑,怎麼我重開機後,防火牆整個糟金(台語)去?
那是因為iptable又載入的規則啦!
所以我們要在開機自訂腳本內加上自己想跑的流程:
#vim /etc/rc.d/rc.local

加上:
iptables-restore < 新設定

後記:本來想嘗試開放特定硬體位址(MAC)通過,比方說我的筆電,希望能讓他也可以在任何網域也能進入這台伺服器,但最終得知受到路由器遮蔽的情形下,最後進入伺服器的封包硬體位址(MAC)會是路由器的,無法辨識出是不是來自特定設備,此解行不通,仍在想辦法…

接著準備來練習森巴舞了(Samba),彭掐掐、掐掐…

(To Be Continued)

2013年12月18日 星期三

Selfie


2013牛津字典的年度風雲字:自拍。

這個字突顯了行動裝置及網路對社會造成的影響:
更加自我為中心,更希望受到關注。

此外,推薦這個學習英文的網頁。
題材很豐富。

http://voicetube.tw/videos/8434?ref=featured-picture

2013年11月10日 星期日

[LINUX] CentOS x Canon-IP1800 網路印表機 安裝流程-part2




照著PART1的動作,我們成功在伺服器端佈署好本地印表機了
接著就是讓這台印表機能透過服務分享出去,供其他裝置當作網路印表機列印嚕。

此時得先釐清不同的遠端作業系統得靠什麼機制來存取這台印表機:

  • LINUX-直接透過CUPS
  • WINDOWS-透過Samba間接存取CUPS
  • OSX-透過Avahi-daemon間接存取CUPS
由此可知伺服器側的印表機資源基本上是由CUPS控制的,只是在網路上面對不同的作業系統時,必須再透過其他中介服務作格式轉譯的動作。

[LINUX篇]

若遠端機器是LINUX系統,很方便的是我們只要設定CUPS內容即可:
#vim /etc/cups/cupsd.conf

編輯以下設定:

確認監聽口有開啟
Listen localhost:631

確認已設定可分享的印表機是可以被瀏覽的
# Show shared printers on the local network.
Browsing On


確認遠端機器可存取,此設定值僅供內部網路存取嚕
# Restrict access to the server...
<Location />
  Order allow,deny
Allow From 127.0.0.0/8
Allow From 192.168.0.0/24
</Location>


基本上cupsd.conf很容易閱讀,設定項目也不多,有問題的話先確認這個檔案準沒錯

接著改變印表機分享設定:
#vim /etc/cups/printer.conf

找到你的對象印表機頁籤,讓印表機接受工作,且是可被分享的
<Printer IP1800-HomeServe>
Accepting Yes
Shared Yes

好啦,到此伺服器端的設定就完畢了
----------------------------------------------------

本地端部份的設定,必須先依循PART1的步驟安裝兩個rpm-package
# rpm -ivh cnijfilter-common-2.70-1.i386.rpm
# rpm -ivh cnijfilter-ip1800series-2.70-1.i386.rpm
仍然要注意本地端的glib gtk+ libxml libpng3 libtiff3 函式庫是否滿足,小茂的Fedora 19就沒有舊版本的libtiff3,必須自己建立連結檔。

接著加入印表機:
#lpadmin -p IP1800-homeserver -v http://192.168.0.105:631/printers/iP1800-series -m canonip1800.ppd
-p 設定此印表機在本地端的暱稱
-m 設定網路印表機位址(注意資料夾結構喔,小茂一開始沒有打/printers,鬼打牆似卡關很久)

如此設定本地端應該就加入完成了
打完收工!印起來吧!

WINDOWS篇待續…(睏)





2013年8月29日 星期四

山東軼聞錄



本篇文章並非作者親身經驗,而是經當事人同意下,將其口述記錄成文字並公開發表。


這次去山東出差,主要是為一台新設備進行電線管路配置,
雖然不是特別困難的工作,但因為大陸採購效率低落,意外的花了不少時間。
也因此,有了好好觀察當地人的機會。

出差的地方,並不是大陸的主要城市,甚至不是個城市。
是一個,叫做趙寨子鄉的小村莊,尚未開化,民風純樸。
當地以農牧業為主,常常可見鄉民,趕著家畜,到處胡亂吃草。

當地有一些有趣的特色,

1.山東人不吃米飯,愛吃饅頭。就算公司餐廳端出白飯,當地人是連筷子也不沾一下的。
『米飯是給南方人吃的』

除了饅頭外,當地人也吃水餃,且有現包水餃店,當場桿餃子皮、剁料,
包成餃子後下水煮熟。餡料是羊肉和豬肉混合的,味道非常鮮美。

山東人吃餃子,單位不是顆,無法點十顆或十五顆水餃,
山東人吃餃子的單位是斤,點菜的時候要告訴老闆要幾斤水餃。
食量之大由此可見一般,絕對不是南方小鳥胃能夠比擬的。

到了鎮上,還可以見到烤羊肉串的攤位,因為羊肉新鮮,
加上地方獨特的醬料,吃起來滋味也是特別的好。


2.大陸人把自己的老婆稱做媳婦。
這點跟台灣人十分不同,台灣的媳婦,指的是兒子的太太。

「存幾個錢,娶個媳婦,生個崽兒。」

這是當地男性的普遍目標,很少見到不婚族,或是頂客族。
若仔細問他為什麼要娶媳婦,當地人也答不出個所以然。
反正娶媳婦生崽就是天經地義的事,不需要原因。

問他們想娶怎樣的媳婦。

「當然是看得順眼的。」

大陸人也是十分重視小孩子的教育,例如工廠的一些師傅,
自身的教育程度不高,但依舊希望自己的小孩能念大學。
抱著期待於是將小孩命名為念政。(念政法大學之意)


3.年輕人多半不願意務農

許多工廠的師傅,家裡有田地,但他們不願意從事農業工作,
而是選擇外出打工爭錢。

據說,種一年田,夠全家吃飽三年,但是,如果想買一些電器或奢侈品,
農民恐怕是存好幾年錢都買不起的。

工廠裡有個 17歲的打雜小弟,只有高中學歷,本身是河北人,
但跟著叔叔到處闖蕩,最後來到山東。

問他,是否願意回到河北耕種自家的田?

「不要,太苦了,而且家裡什麼都沒有。還是工廠好,工廠還有電腦呢!」

雖然確切原因不明,不過,或許人類本能的就會渴求科技?

關於農民的苦,據說當地人表示,田裡常常會有水蛭,滿滿的水蛭,
人一下田,水蛭馬上會靠過來吸血,一定要吸血吸到水蛭全身脹滿才會鬆口。

回台灣之後,我查了一下水蛭的資料,發現了水蛭的學名,原來叫做:

螞蟥


不由得想起一些事情,而會心一笑。

2013年8月27日 星期二

[LINUX] CentOS x DLNA Server for PS3



何謂DLNA呢?

Digital Living Network Alliance
是咱們的音速小子寶貝- 索尼在1993年提出的多媒體共享"規格"

簡單的說,符合這規格的實作,是以主從的架構分享多媒體串流
儲存在A伺服器的多媒體可在支援DLNA的B、C、D裝置上觀看,實際解碼輸出串流的裝置是A伺服器,播放端不須特別安裝其他播放軟體或是解碼器,你只需要將網路頻寬保持通暢即可。

據宅哥所知,除了索尼自家的PS3,據說Android系的智慧型手機都有內建此功能(也許都是師出LINUX核心的關係所以有這樣的裙帶關係)

當然,咱們的CENT-OS伺服器亦有擔任DLNA server的能力,今天就是要介紹如何安裝
PS3 Media Server - DLNA伺服器軟體 for PS3

首先先到這裡(PS3 Media Server官網)下載安裝包 pms-1.90.1-generic-linux-unix.tar.gz

下載到後請解壓:
#tar -zxvf pms-1.90.1-generic-linux-unix.tar.gz

會在當前資料夾解出
pms-1.90.1 資料夾

前進一步,進去看看INSTALL.txt
發現PMS相依這些東東:

  • ffmpeg(影音解碼函式庫)
  • mediainfo(提供影音標頭資訊)
  • mencoder(影音編碼器)
  • openjdk-7-jre(JAVA 運行環境,PMS是由JAVA寫成)
問題來了,預設的yum資料庫沒有維護mplayer、mencoder、ffmpeg…等等,此時需要再對YUM做些其他動作 - 抓取非官方套件:

首先安裝protectBase
#yum install yum-protectbase

接著修改YUM資料庫設定
#vim /etc/yum.repos.d/CentOS-Base.repo

進去設定檔後,在[base] [update] [centosplus]三個段落加上
protect=1
在其他段落則加上
protect=0
然後在[centosplus]段落讓enable失效
#enable=0

好了,存檔離開設定檔,接著去以下網址抓rpmforge套件:
記得認清是32位元還是64位元喔,在他的description處有說明CENTOS版本與對應的硬體架構

接著將DAG公鑰弄進RPM系統:
#rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt

開始安裝RPMFORGE套件:
#rpm -ivh rpmforge-release-0.5.3-1.el6.rf.i686.rpm
最後一步,更新一次YUM資料庫:
#yum check-update

應該可從螢幕輸出發現
13 packages excluded due to repository protections
此類的字樣,就表示你的資料庫裡有非官方套件了

接著的動作就簡單啦,回到剛剛的相依套件安裝,把PMS所需相依備齊:
#yum -y install mplayer mplayerplug-in
#yum install mencoder
#yum install java-1.6.0-openjdk

到此,若上述的相依套件都到位的話,基本上不須任何設定,就可以順利啟動PMS了,回到pms-1.90.1資料夾,透過PMS.sh啟動PMS服務:
#./PMS.sh

密密麻麻的訊息中,最後會出現:
#[main] The server should now appear on your renderer
這表示你的PMS伺服器啟動成功了!應該在遠端裝置上搜尋的到了

如果此時有裝置連線到這台伺服器,會出現類似這樣的訊息:
[pool-4-thread-1] Renderer Android found on this address: 192.168.0.108
[pool-4-thread-1] Address /192.168.0.108 has an estimated network speed of: 14 Mb/s
在PS3上發現伺服器

瀏覽資料夾的方式選擇影片

播放效果還蠻棒的!











[11/09 新增]

接著你會發現,照預設值啟動PMS,在DLNA設備上居然可從根目錄(/)瀏覽整個伺服器
不是很恰當對吧,此時要修改PMS資料夾下的PMS.conf
在註解< Shared folders >中改變此設定:
#folders = /home/nfs1,/home/special

在上面的範例裡我設定了兩個資料夾,nfs1/ 與 special/ 可供瀏覽,用逗號分開

另外分享Android手機上可連結到PMS的軟體 - MediaHouse
幾乎是免設定就可以直接連上剛才架好的PMS喔
就是灌這味
按剛剛設定的資料夾去瀏覽嚕




手機上播放的效果,棒!

以後就可以捧著智慧型手機在床上看謎之影片啦,嘻嘻
威!

2013年6月14日 星期五

植物工廠- 綠色科技or 農業新危機?


圖片來源:http://www.tok.agritechno.jp/pf/common/factory/plantfact1.JPG


住在冷氣房裡,照著LED燈,吸收著化學培養液。
這樣的蔬菜看起來.....真好吃?

植物工廠的本意是好的

利用生產線的概念,人工調控溫度、濕度、照光時數,
將傳統的農耕,轉為像工廠一樣的生產模式。

在某些不利於發展農業的地方:
農地缺乏、日照不足、氣候不良,更甚者是缺乏農業人口,
可以藉著植物工廠,生產出所需的農作物。

最顯著的例子,也是植物工廠的濫觴,
就是 NASA 在太空站為太空人種植蔬菜。

商業上成功的例子,則是新加坡的 Sky green
因為新加坡農耕地缺乏,只有7%的蔬菜屬於國內自產,
植物工廠的技術研發,可以說非常必要。
點進  Sky green 的網頁看,也能發現技術上幾個重點:

1. 利用垂直高度爭取種植空間
2. 包含建材和設計都講究循環、環保的概念
3. 充分的利用新加坡的日光,達到節能

但台灣,台灣適合發展植物工廠嗎?

1. 台灣並不需要植物工廠

台灣自然條件昰有利於農業發展的,台灣農業的困境是:生產成本過高,
而植物工廠的耗電,生產成本更高於自然耕地。
更何況,植物工廠生產出來的蔬菜,風味仍遜一籌。

所以其實對台灣農業的發展,看不到實質的幫助。


2.植物工廠對台灣農業不利

如果是利用太陽能的植物工廠便罷了,
可怕的是,目前各家廠商:鴻海、台達電、華映、大同、台塑,
紛紛投入的,是用 LED 燈來照明的植物工廠。

台灣如此日照充足的地方用LED 燈來種菜?

大廠嘴上說得好聽:LED 可以控制日造長短、光的波長,
可以種出特定的高經濟蔬菜,品質會更好。

但怎麼不設法調節或過濾太陽光?

真相昰,大廠們為了產能過剩的LED 想一個出路罷了。
或更甚昰,希望利用植物工廠的聲勢,再次吸金拉抬股價。

LED 號稱是節能省電的照明方式,

但,在 LED 的製造的過程中,消耗的電力、造成的空氣汙染。
LED 製程要使用大量的溶劑,製程會產生酸性廢液,
回收這些勢必會用到大量的水資源,如果不當處裡還會造成環境汙染。

台灣長期將資源配置在所謂高科技產業,
農地強制徵收、因科學園區奪走水源導致農地缺水、甚至農地遭到汙染。
這些新聞早已屢見不鮮。

現在科技業,反過身來,搖著大旗,
反而變成農業的守護者了。

令人看了忍不住要嘆氣。

3.可以把植物工廠的技術外銷?

把植物工廠的設備和技術賣到其他國家,等於是換個包裝賣 LED 燈。
就跟先前的太空包種菇菇很相似。

台北植物工廠展 6/18開始展出。

或許真的會有國家,打算用植物工廠解決農業的困境也步一定。
但除了大量生產LED燈的台灣,恐怕很少國家會贊成用LED 取代日照的想法。


結論:對於台灣的植物工廠熱潮,我十分不看好。

有人說,植物工廠可以生產出非當季的蔬菜,
可以生產出高經濟價值的蔬菜,可以生產出台灣本來無法產出的農作。

但農作物代給我們的,並不只是營養成分或熱量。

當季的、在地的蔬果,擁有特別的好滋味。
還有,人與大地和諧相處的智慧。

讓凱薩的歸凱薩,把大自然的還給大自然吧!


圖片來自德高幼稚園