2013年6月16日 星期日

[Python] 從 PIXNET 匯入 Blogger 心得 (MT to XML & Blogger Import) @ Mac 10.8

blogger import


最近 PIXNET 的變化不少,不少人都開始搬家了,我雖然還沒搬家的 fu (覺得要重弄CSS很煩XD)也覺得 PIXNET 在某些技術上還是領先群雄,但不免要先試用一下搬家功能 XDDD 當年挑選 PIXNET 的主因除了年輕、活力又熱血的工程師,最大的考量是支援部落格匯入匯出功能(MT格式),讓我能夠時時備份資料,當初為了 portable 的關係,至今並沒有使用 PIXNET 相簿的功能,完全用 flickr (好像賭對了 XD 當年 flickr 就可以無限量丟圖當免空使用,只是官網瀏覽時僅能看到最後200張,但其他圖只要有連結仍看的到),這樣的好處是一樣的文章我拿去其他家發表時(或是被盜文 XD),圖不受影響(只是前陣子發現有些圖被鎖了?不知是不是流量還是我之前用 flickr 手殘不小心鎖到,總之已經都修正)


blogtrans


回歸主題,接著我就開始著手嘗試匯入到 blogger 的流程,並透過 BlogTrans (修改版) 將 MT 格式轉成 XML 格式。然而開始碰到奇妙的問題了,例如 Blogger 一次只能匯入 300 篇,後我就開始想能不能分批匯入?於是就修改 blogtrans 讓他可以指定文章的起始、blogger 網址、作者名字跟是否匯出留言等(當初可能為了開發方便,所以這邊都是寫死的資訊,擔心是不是這樣影響匯入功能)


article end article begin skip comment


試了一卡車後,還真的如網友說的,有時要挑離峰時間來使用就能正常匯入了 XDDD 所以,我認為修改版的最佳功能是指定匯出文章的範圍,如從第 301 篇到 500 篇,這樣至少可以批次匯入 :) 此外,Blogger Import 不必擔心匯入同樣的文章,因為每篇文章都有個 ID 辨識(程式有寫好的話),故 Blogger 會幫你 skip 掉。


另外,我在 wordpress 嘗試用 MT 跟 XML 格式匯入還沒成功過 XDD 但自己架的 wordpress 倒沒問題!嗯,其實 PIXNET 也很努力的活著,只不過這類服務背後若沒強而有力的金主,漸漸地為了生存將會改變許多,不少使用者就會發現與當初挑 PIXNET 的初衷開始矛盾就外移。


此外,若要更 portable 的話,應該要申請一下 domain name ,只是一些 url 規則不是換過去就行了 Orz 且不同 domain 在 search engine ranking 上分數也是不一樣的唷(簡稱可能換了 domain 後,搜尋的排名變高或變低)


2013年6月13日 星期四

[Linux] 使用 sed 更新 PATH 環境變數 @ Ubuntu 12.04

以前還滿常用 PATH="$PATH:/path/bin" 的方式進行更新,但不知為何在 /etc/environment 會出錯?如:


PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
PATH="$PATH:/path/bin"


登入後 echo $PATH 會僅剩 /path/bin,不知是不是沒 export PATH 的關係?暫時先用 sed 來處理這段:


$ sed 's/^PATH="\(.*\)"/PATH="\1:\/path\/bin"/g' /etc/environment > /tmp/environment
$ mv /tmp/environment /etc/environment


[Linux] 查看主機板型號 @ Ubuntu 12.04

查詢主機板資訊:


$ sudo dmidecode -t 2


# dmidecode 2.11
SMBIOS 2.6 present.


Handle 0x0002, DMI type 2, 15 bytes
Base Board Information
    Manufacturer: ASUSTeK Computer INC.
    Product Name: P8H61-M PLUS V2
    Version: Rev x.0x
    ....


 


更多豐富的資料:


$ sudo lshw


[Linux] 修正 xRDP 遠端登入空白桌面的問題 @ Ubuntu 12.04

xRDP

最近有一台比較有力的機器,主要是安裝 Ubuntu 12.04 Desktop 版,想說趁它還沒那麼忙時,在上頭跑跑 Virtualbox 玩玩,就想到該怎樣使用它的問題,第一個則是遠端登入的方式,試過了 VNC 後,發現一開始沒登入還不能用,所以就改用 xRDP !但登入後卻只能看到一片空白的桌面,於是找了一下解法(Ubuntu 12.10 xrdp gets blank screen at login),筆記一下。

解法:

$ sudo apt-get install xrdp gnome-session-fallback
$ echo "gnome-session --session=gnome" > ~/.xsession
$ sudo vim /etc/xrdp/startwm.sh  (
#. /etc/X11/Xsession
if [ -e $HOME/.xsession ]; then
. $HOME/.xsession
else
. /etc/X11/Xsession
fi
$ sudo /etc/init.d/xrdp restart

此外,如果希望連線過程有加密的效果,可以考慮 ssh tunnel 的用法:

$ ssh -N -L 3389:localhost:3389 remote_server_ip

之後就可以用 RDP 遠端桌面連 localhost 即可

若龜毛一點想要更安全一點,那就用 iptables 擋掉外面來進來 3389,僅允許從 localhost 過來的:

#!/bin/sh

# BIN
BIN_IPTABLES=`which iptables`

# reset rules
$BIN_IPTABLES -F
$BIN_IPTABLES -X
$BIN_IPTABLES -Z

# vnc, rdp: use ssh tunnel

$BIN_IPTABLES -A INPUT -i eth0 -p tcp --dport 5900 -j DROP
$BIN_IPTABLES -A INPUT -i eth0 -p tcp --dport 3389 -j DROP

2013年6月12日 星期三

[Python] Blogger XML Parser @ Mac OS X 10.8.4

最近試了 blogtrans (稍微修改版) 將 PIXNET 網誌備份格式從 MT 轉成 XML 格式,順便研究一下,所以就需要有一支 parser 來處理。


找了一下,在 python 套件中有一套 feedparser 可以使用,十分方便:


$ sudo port install py27-feedparser


用法:


$ ipython
Python 2.7.5 (default, May 28 2013, 22:38:37)
Type "copyright", "credits" or "license" for more information.


IPython 0.13.2 -- An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help -> Python's own help system.
object? -> Details about 'object', use 'object??' for extra details.


In [1]: import feedparser


In [2]: xml = feedparser.parse('/tmp/test.xml')


In [3]: xml.entries[0].keys()
Out[3]:
['updated',
 'updated_parsed',
 'published_parsed',
 'tags',
 'title',
 'links',
 'summary',
 'content',
 'guidislink',
 'title_detail',
 'href',
 'link',
 'author',
 'published',
 'authors',
 'author_detail',
 'id']


In [4]: for e in xml.entries:
    ...:      print e.title
    ...: