讓lxmusic播放.aac格式


在Mint 13裝了lxmusic才發現播放.aac檔案會出現問題, 是因為xmms2 plugin沒有裝起來。
雖然可以播放.aac檔案,不過播放清單中的時間顯示有點問題。
sudo apt-get install xmms2-plugin-faad # 讓 xmms2可以播放 .aac格式

這次換Google了嗎?


看到這篇 Google掃蕩YouTube轉MP3網站 真的能阻止所謂的 非法使用 嗎?
大概是Youtube-MP3.org這類網站會減少Google的廣告收入的關係?
那下一步,是不是去寫信警告youtube下載工具的開發者嗎?(助紂為虐?!)
Youtube-MP3.org目前還能用,只是不知道還能用多久?
網路服務方便是方便,但真的是個好主意嗎?
* 大老闆一句話,(不賺錢的服務)就.....byte byte了。 
* 服務本身有爭議(說到底還不是為了錢 = =)
這次換Google do evil了嗎?

用youtube-dl擷取youtube的音樂。
zenity --entry --text='Extract Youtube Music' | xargs youtube-dl --extract-audio -o "%(title)s.%(ext)s"
也不知道Youtube-MP3.org還可以撐多久,先用這個備案吧。

caja

caja toolbar button

File: /usr/share/caja/ui/caja-navigation-window-ui.xml
+<toolitem ....>
操作 XML
剪下 <toolitem name="Cut" action="Cut"/>
複製 <toolitem name="Copy" action="Copy"/>
貼上 <toolitem name="Paste" action="Paste"/>
刪除 <toolitem name="Delete" action="Delete"/>
屬性 <toolitem name="Properties" action="Properties"/>
新增目錄 <toolitem name="New Folder" action="New Folder"/>

 

caja script directory

${HOME}/.config/caja/scripts/
caja variables(caja換成nautilus一樣可以跑,為了相容吧)
Name Description
NAUTILUS_SCRIPT_SELECTED_FILE_PATHS newline-delimited paths for selected files (only if local)
NAUTILUS_SCRIPT_SELECTED_URIS newline-delimited URIs for selected files
NAUTILUS_SCRIPT_CURRENT_URI current location
NAUTILUS_SCRIPT_WINDOW_GEOMETRY position and size of current window

Name
Description
CAJA_SCRIPT_SELECTED_FILE_PATHS
newline-delimited paths for selected files (only if local)
CAJA_SCRIPT_SELECTED_URIS
newline-delimited URIs for selected files
CAJA_SCRIPT_CURRENT_URI
URI for current location
CAJA_SCRIPT_WINDOW_GEOMETRY
position and size of current window
CAJA_SCRIPT_NEXT_PANE_SELECTED_FILE_PATHS
newline-delimited paths for selected files in the inactive pane of a split-view window (only if local)
CAJA_SCRIPT_NEXT_PANE_SELECTED_URIS
newline-delimited URIs for selected files in the inactive pane of a split-view window
CAJA_SCRIPT_NEXT_PANE_CURRENT_URI
URI for current location in the inactive pane of a split-view window

 

caja-actions

參考 http://forums.mate-desktop.org/viewtopic.php?f=17&t=36
不知道什麼時候會入庫?

flash抓圖

寫了程式用crontab排程,卻發現crontab排程中的工作,如果調用了需要X Window的程式會問題。 解決的方式是用xvfb。



xvfb-run --server-args="-screen 0, 1280x1024x24" Get_TWII_Chart.sh

kstart --> 將arora的window最大化
arora --> 使用簡單,也能解析出含有flash的網頁。重點是不會每次開啟都會問一堆問題。

目前的解決方法有些限制:
  1. 如果網路不穩定,設定的延遲時間可能不夠用。
  2. 如果頁面讀取失敗,當然就.....是garbage out了。
  3. 如果網頁的內容很長,設定的大小可能也會不夠用。
不過,目前來說夠用了。
參考文章:

Real-Debrid

無法查看此摘要。請 按這裡查看文章。

Dropbox vs Google Docs?



想把一些沒有提供RSS服務的網站,將網站內容節錄成RSS feed,不過feed弄出來後要放哪?
 當初考慮的是Google Drive,不過看到那讓人蛋疼的API......跳過...= =

Dropbox. API很簡潔。

其實節錄網站內容的程式碼用BeautifulSoup寫沒幾行,如果用Google Docs API, 上傳那部份的程式碼,都比節錄網站的那段還多...... 想想還是別自虐好了。

example中有個cli_client.py的範例。Dropbox API能做什麼,都在這範例中了。

其中有段 load_creds(self)比較重要,會紀錄access token。
這樣就不需要每次都重新取得授權。
而要取得access token直接用這隻程式的login指令就好。
class StoredSession(session.DropboxSession):
"""a wrapper around DropboxSession that stores a token to a file on disk""" TOKEN_FILE = "token_store.txt"
def load_creds(self):
try:
stored_creds = open(self.TOKEN_FILE).read()
self.set_token(*stored_creds.split('|'))
print "[loaded access token]"
except IOError:
pass # don't worry if it's not there

def write_creds(self, token):

f = open(self.TOKEN_FILE, 'w') f.write("|".join([token.key, token.secret])) f.close()

參考文章:

自製雙螢幕桌布


看到這篇:雙螢幕桌布DIY製作程式 也想來弄個自製桌布。

Gnome的虛擬桌面竟然不能設置不同的桌布,有點.....。
不過,要自動更換桌布似乎也不難,只需要隔段時間將檔案內容更新就可以了。


Monitor/Image
Size
note
Monitor 1
1440x900

Monitor 2
1280x1024

image1.jpg
1096x894
for monitor 1
image2.jpg
1260x912
for monitor 2
  1. resize image:
  2. convert -reisze x876 1.jpg r1.jpg # 讓image 1避開底下的工作列(高度=24, 900-24=876)
    convert -reisze 1280x1024! 2.jpg r2.jpg
  3. create image for monitor 1:
  4. convert -size 1440x900 xc:black -page +183+0 r1.jpg r1-1.jpg
  5. merge images:
convert -page +0+0 r1-1.jpg -page +1440+0 r2.jpg -layers mosaic out.jpg 
參考文章:

gedit + reStructuredText = blogger writer

之前有找過blogger用的編輯器,不過都用的不是很順手。
反到是gedit + reStructuredText用的很習慣,只缺沒有把寫完的文章轉換成HTML,並上傳到blogger.
所以,就寫了這個小程式。



參考文章:


apt-get 安裝指定的版本


apt-get 安裝指定的版本
  1. apt-cache showpkg <pkgname> 查詢版本
  2. apt-get install pkgname=version
參考資料:
How to install a specific version of a Debian package using apt-get

Windows 7 → Linux MInt

不知不覺中,Linux Mint已經用了大半年了,本以為接替XP的桌面系統的會是Windows 7。結果沒想到Windows 7灌完才一個禮拜就被打入冷宮Orz.....

Windows 7感覺像是灌心酸的,其實也不能這樣說,Windows 7還是有它重要的存在意義,打電動專用平台= =

不過,畢竟Linux跟Windows還是不同設計慨念的產物。所以,剛開始的半個月,使用頻率最高的唯二應用程式是Firefox跟Konsole.....半個月的終端機人生啊XD

中間也經歷過主機板掛點,這個讓我覺得很麻煩的問題。

主機板掛點是小事,重灌Windows是麻煩事,因為driver要重灌Windows才夠乾淨 = =|||。

重灌最令人抓狂的是軟體要重新設定。

Windows綠色軟體不少,但還是會遇到磁碟機代號設定的問題。

Linux用習慣了就覺得沒事設啥鬼磁碟機代號,硬碟掛點要更換新硬碟的時候就變成一種麻煩事。

Linux在這次的主機板掛點後,我只需要替換新主機板網卡的核心模組就好。(當然主機板是找近似規格才可以,本來以為Windows也可以如法泡製,不過問題好多,最後還是得乖乖的去重灌= =)

不過,雖然桌面系統換成了Linux,不過還是會懷念Windows底下的某些程式,例如:

Evernote要找相同功能不少,卻沒有這麼好用。

Totem雖然好用但不支援srt外掛字幕,沒有像Media player classic這般怪物,VLC不是很愛,雖然功能上跟MPC有得拼。

Keepass的Linux版不支援2.x版的檔案格式= =.......啥時才能不用Mono來跑keepass啊~

最後MangaMayee雖然可以用Wine執行,不過那種龜速.....,只能說Linux底下好用的漫畫瀏覽器還真的很少.....

Everything Search ....Linux雖然有locate但是缺點是不是即時的檔案資訊。只能說各有利弊。



最後10.4的支援期限今年10月就到期了,要升級吗? 好問題,或許到時候就改用Mint KDE~
GNOME 3實在不愛,改用KDE或許好點。

關於Real-Debrid的一些注意事項


 * 費用不算貴,在台灣可以用onebip來購買。(透過SMS方式確認,帳單合併在次月手機費用中)
 * 404不一定真的檔案被刪除,重新unrestrict links,換個server搞不好就可以下載了。
 * 某些server很慢,不穩定,也可以透過重新unrestrict links的方式,換個server,或者乾脆用aria2的多重server同時下載的功能XD
 * 某些hoster常維修的話,要注意一下是否會從maintenance→unsupported,Orz......最好能下載的時候趕快下。
-----------------------------------------------------------------------------------------------------------
04/20付註一下:
* Real-debrid在下載某些空間的檔案時常常都會有問題。(ISP為中華電信),對於某些檔案還是去多買份付費帳號吧(Turbobit就是很難下載,只好自己額外再去付費)

cookies.sqlite → cookies.txt

Linux下,將Firefox的cookies.sqlite轉換成curl可以接受的cookie格式:


sqlite3 -separator $'\t' cookies.sqlite \
    'select host, "TRUE", path, case isSecure when 0 then "FALSE" else "TRUE" end, expiry, name, value from moz_cookies' > cookies.txt


Reference:

Install PIL on Linux Mint 11 x64

Install PIL on Linux Mint 11 x64

# prepare:

  • libjpeg62-dev
  • zlib1g-dev
  • libfreetype6-dev
  • liblcms1-dev
  • python-dev

 

# edit setup.py

TCL_ROOT = None
JPEG_ROOT = '/usr/lib/x86_64-linux-gnu', '/usr/include' # libjpeg and libpng are here.
ZLIB_ROOT = JPEG_ROOT
TIFF_ROOT = None
FREETYPE_ROOT = JPEG_ROOT
LCMS_ROOT = None

 

# build & test & install

  • python setup.py build_ext -i
  • python selftest.py
  • sudo python setup.py install
Reference:

python setup.py uninstall?



setup.py沒有uninstall選項,所以這部份需要手動移除。
移除安裝:
  1. python setup.py install --record log
  2. sudo rm -rf $(cat log)
    or
    cat log | xargs sudo rm -rf
Reference:

curl POST之後遇到302重導的問題


curl POST資料到主機後,主機回應302時,如果只是用-L參數會得不到想要的資料。
這時候要加上--post302參數。

curl -L --post302 {POST data} {url}

aria2 note

aria2 note

速度真的很快,比wget快很多。有空再來試試看XML-RPC那部份。
  • --load-cookies 讀取cookie,可以直接把Firefox的cookies.sqlite丟進來使用。
  • -U 設定user-agent
  • -j 設定同時下載數目
  • -i 輸入檔案,在設定URL的同時,還可以設定額外的參數。 詳細參照http://aria2.sourceforge.net/aria2c.1.html#_input_file
  • -j 設定同時下載的數目
  • -l logfile
  • --log-level=LEVEL (debug, info, notice, warn or error. Default: debug)

As of 1.10.0 release, aria2 uses 1 connection per host by default and has 20MiB segment size restriction.
(1 connection/host, 20MiB segment)

aria2 是把巨鎚,我試著用1.10.9版,抓取1753個頁面的資料。
結果,在3分鐘內發送完所有的request, 並抓完約158MiB的資料量。每個頁面大小約80~100KiB。
比起wget這速度是快很多。光是1 connection就有這麼快的速度,如果再多幾個connection?
想想就蠻恐怖的。或許,在使用aria2抓取網頁的時候,要好好想想怎麼利用這工具,才不會變成黑名單吧>"<。
Reference:

[Python] BeautifulSoup note

  • BeautifulSoup(html, fromEncoding='...', smartQuotesTo='html')
    • fromEncoding: 用在非UTF-8編碼的網頁。有些網頁像Getchu的網頁有時候也會有問題,這不是BeautifulSoup本身的問題,只是網站標示的編碼跟實際上 使用的編碼不同。保險的作法是用iconv轉成utf-8再丟給BeautifulSoup處理。
    • smartQuotesTo='html': HTML/XML Entity轉換
  • .find(text='abc')
    HTML: <a href='..'>hello</a> ex: soup.find('a', text='hello') ==> hello #只會傳回標籤內的文字,不會傳回Tag物件

feh

feh速度快,只可惜1.0版不支援讀取ZIP/RAR檔案。不知道未來有沒有可能支援?
不過feh我認為最好的地方是,可以自訂按鍵對應指令(雖然數量只有9個>"<)

usage:

  • -g 設定視窗大小以 'widthxheight'的方式
  • -i 縮圖模式(Index Mode)
    -E or --thumb-height 設定縮圖高度
    -y or --thumb-width 設定縮圖寬度
    --index-dim bool 顯示/隱藏影像大小
    --index-name bool 顯示/隱藏影像檔名
    --index-size bool 顯示/隱藏影像檔案大小
    -o 輸出檔名
  • -t 類似於Index mode, 點選縮圖會出現另外的視窗顯示
  • -S or --sort 排序,除了name跟filename其他都需要配合-p參數
    • name
    • filename
    • width
    • height
    • pixes
    • size
  • --info 執行指令並將結果顯示在feh視窗下方
    feh --info="identify -format '%f: %wx%h' %f" -g 640x480 . #執行ImageMagick取得影像大小
  • --action 自訂每張圖片執行指令
  • --action[1-9] 按下數字鍵1~9,所對應的指令(只能用F1下方的數字鍵)
    feh -g 640x480 --action1="cp %f ~/" # 按下數字鍵1時將檔案複製到使用者家目錄下
    feh -g 640x480 --action2='rm %f" # 按下數字鍵2時將檔案刪除

isk-daemon 雜記

# System:

  • Linux Mint 11
  • isk-daemon 0.9.3

# Prepare:

sudo apt-get install build-essential swig python-twisted-web libmagick++-dev python-dev

# Build from source and install:

  1. python setup.py build
  2. sudo python setup.py install
  3. sudo mkdir /etc/iskdaemon
  4. sudo cp ./isk-daemon.conf /etc/iskdaemon

# configuration file:

/etc/iskdaemon/isk-daemon.conf

# Start server:

iskdaemon.py # 在執行目錄下會產生isk-daemon.log

# 0.9.3

  • API now supports querying by filename (existing image on server filesystem, no need to add to database)
  • API now supports querying by image data(queryImgBlob())

# note

  • dbID, imgID只能使用整數(正負皆可)
  • 當image count < 25時,查詢會有問題,不知道在0.9.3修好了沒?
  • 使用XML-RPC操作時,dbID, imgID 為 4byte integer
  • The architecture assumes you have such a database in place in order to store image IDs associated to its location in order to present search results and know which ID to supply to the image similarity engine given user input.
    簡單說,image ID要想辦法自己生。在配合XML-RPC的限制下,我是以zlib.crc32去計算URL, filename, filepath產生Image ID。
    資料量小還可以這樣搞,在大一點的資料量,CRC32就很容易產生碰撞了。
  • queryImgBlob(dbID, xmlrpclib.Binary(...))
Reference:

Google 2012-03-01的隱私政策與服務條款

隱私權政策
----------------

我們經由您對我們服務的使用而取得的資訊。我們會針對您使用的服務和使用方式收集相關資訊,例如當您造訪採用 Google 廣告服務的網站時,或是當您瀏覽我們的廣告以及內容並進行互動時。這類資訊包括:

    裝置資訊

    我們會收集裝置專屬資訊 (例如您的硬體型號、作業系統版本、裝置的唯一識別碼,以及電話號碼等行動網路資訊)。Google 會將您的裝置識別碼或電話號碼與您的「Google 帳戶」建立連結。

    紀錄資訊

    當您使用 Google 服務或瀏覽 Google 提供的內容時,我們可能會自動收集特定資訊並儲存在伺服器記錄中。這類資訊可能包括:
        您對我們服務的使用詳情,例如您的搜尋查詢。
        電話紀錄資訊,例如您的電話號碼、來電號碼、轉接號碼、通話日期和時間、通話持續時間、簡訊傳送資訊,以及通話類型。
        網際網路通訊協定位址。
        裝置活動資訊,例如當機資料、系統活動、硬體設定、瀏覽器類型、瀏覽器語言、您提出要求的日期和時間,以及參照連結網址。
        用於識別您的瀏覽器或「Google 帳戶」的專屬 cookie。


電話紀錄這些,這樣不會出問題吗?(釣魚跟詐騙會高興能拿到這些資料。)


Google 服務條款
----------------
請勿濫用「服務」。舉例來說,您不應干擾「服務」運作,亦不得試圖透過我們所提供的介面和操作說明以外的方法存取「服務」。您僅可於法律 (包括適用的出口及再出口管制法律和法規) 允許範圍內使用「服務」。如果您未遵守我們的條款或政策,或是如果我們正在調查疑似違規行為,我們可能會暫停或終止向您提供「服務」。

那透過非官方手段存取Google Reader,帳號會被暫停?終止?


總感覺,2012年的網路沒有以前自由?!


Reference:
   * Google 服務條款
   * Google 隱私權政策

KeePass 2.x on Mono



OS: Linux Mint 11
KeePass: 2.13

Mint 11預設安裝好了Mono 2.6.7,不過還是缺函式庫:

sudo apt-get install libmono-system-runtime2.0-cli

Usage:(不過預設字型要改一下,不然有些中文字看不到)
mono KeePass.exe

--------------------------------------------------------------------------------
04/26
現在也有打包好的.deb不用在為了Mono的問題去try....
參閱:
http://sourceforge.net/projects/keepass/forums/forum/329220/topic/4503818

Reference:
* Running KeePass under Mono (Linux, Mac OS X, BSD, ...)
* KeePass 2 / Ubuntu 10.10 not starting Monitor



1. 換一個新的,能做到像他一樣好吗? 為什麼老在這種沒啥營養的問題上打轉?!
   這樣的台灣能稱的上是法治社會吗?
 
   另外,我無法從馬總統的政治廣告中,得知馬總統連任之後對於台灣到底有什麼目標!!  
   之前,還有633當成是政見,現在呢?

2. 清廉是誰的事情?
   總統清廉,就一定能保證不會有:
   * 海關貪污
   * 民代賄選
   * 校長收回扣
   * ......
 
   總統對於清廉這件事,難道就只是管好自己不會貪污就好吗? 

HoneyView & MangaMeeya & WINE


參考了這篇 《GNOME Nautilus 與 WINE

不過, Nautilus-Action在傳遞%f參數時,
會以%20取代路徑中的空白字元。
所以,會需要urllib.unquote_plus()將原本的空白字元置換回來。

由於,Linux底下的實在是沒有什麼好用的漫畫閱覽器。

只好花上400多MB空間,把Wine裝上,來跑Windows底下的漫畫瀏覽器。
想想,其實不符合成本效益。Orz...

不知道什麼時候,Linux底下也會有MangaMeeya這類好用的漫畫瀏覽器啊~

--------------------------------------------------------------------------
以後要加入其他的程式只要依照:
Exec_3 = "...."
Exec_4 = "...."
再去修改Nautilus-Action其中command arguments就可以了
--------------------------------------------------------------------------
預設編碼是以UTF-8的話,應該要改成LANG="ja_JP.UTF-8"問題會少很多
其次,這個程式本身沒有特別處理\', \"的問題,所以遇到檔名中有\', \"會掛點= =
已修正了\', \"的問題

Source code:


參考文章:
* GNOME Nautilus 與 WINE

VirtualBox客戶端抓不到USB?


在Linux下VirtualBox安裝完畢後,會出現客戶端抓不到USB的問題。
其實,這是安裝的時候沒有把目前的使用者加入到特定的群組當中,不知道這算不算是bug?


Linux: Mint 11
VirtualBox: 4.1.8


解決方法:
1. sudo groupadd usbfs
2. sudo adduser {current_user} usbfs
3. sudo adduser {current_user} vboxusers

Reference:
* 怎样将当前使用用户添加到vboxusers组中

RealTek 8111/8168


換了主機板後,RealTek 8111E的晶片不知為何被核心識別為8169,造成網路常常會莫名其妙斷線。

解決方法:
1. 從RealTek下載驅動
2. sudo ./autorun.sh

Reference:
* No network detected, Realtek 8111/8168 issue
* Realtek RTL8111B / RTL8168B NIC

大家都要贏在起跑點上

家長要公平的考試制度,又要自己的孩子「贏」在起跑點上。

不知道參與明年選舉的候選人中,是否能提供這樣的教育政策? 保證每個孩子都是「贏」在起跑點上。 能提出的話應該可以贏得不少家長的選票吧。

另外,坊間的文理補習班只要能保證來這裡補習的孩子都是「贏」在起跑點上,並化為白紙黑字的成績單的話 不也是財源滾滾而來吗?
參見新聞:
至於,那些沒有贏在起跑點上的孩子們,跟失敗者的傳記一樣是個賣不出去的新聞故事。

非大陸地區怎麼看土豆網與優酷網的影片


土豆網跟優酷網最近都在封鎖大陸以外地區的觀看, 試過了轉用大陸匿名Proxy, 沒用。
後來找到了這個方法暫時可以看土豆網跟優酷網的影片, 不曉得可以用多久, 只要下面兩者其中之一發生的話,就沒戲唱了:
  • 後端的存放影片的主機也跟著封鎖大陸以外地區的IP的話
  • 土豆網與優酷網封鎖FLVCD這類網站的話
用FLVCD到不是多喜歡用這服務只是:
  1. FLVCD的主機在大陸
  2. 有些視頻解析網站可能因為主機不再大陸就宣佈之後不支援土豆網或優酷網了

步驟:
  1. FLVCD 之類網站解析出影片網址
  2. 再將常用的下載工具或者是影片播放器加上user-agent, 偽裝成Firefox之類的瀏覽器就可以下載或觀看了
  • curl/wget之類的工具下載
    wget --user-agent="Mozilla/5.0 (X11; Linux x86_64; rv:6.0) Gecko/20100101 Firefox/6.0" {video_url}
    curl -L -A "Mozilla/5.0 (X11; Linux x86_64; rv:6.0) Gecko/20100101 Firefox/6.0" {video_url}
  • 用mplayer之類的播放器播放
    mplayer -user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:6.0) Gecko/20100101 Firefox/6.0" {video_url}
  • 如果Firefox有裝mplayer之類的plugin的話,就可以直接用瀏覽器播放解析完畢後的網址


  • 土豆網比較簡單,因為影片沒有被切割。優酷網因為將影片切割成了許多段,簡單的作法是產生播放清單, 再用-playlist選項丟給mplayer播放。


Example:
順便用Python寫了個很簡單的FLVCD warpper




Reference: