公告版位

安裝套件

sudo apt-get install pulseaudio pulseaudio-utils
sudo apt-get install mplayer
sudo apt-get install libmpg123-dev mpg123

動態切換HDMI or jack輸出

amixer cset numid=3 n
        n is 0=auto, 1=headphones, 2=hdmi.

測試音源方法

aplay /usr/share/sounds/alsa/Front_Center.wav

執行mplayer + pulseaudio時發生的問題

1. 撥放音樂時會卡

修改/etc/pulse/default.pa

The newer implementation of the PulseAudio sound server uses timer-based audio scheduling instead of the traditional, interrupt-driven approach.

tsched = 0,代表改回interrupt driven

load-module module-udev-detect tsched=0

Reference PulseAudio FAQ

https://wiki.archlinux.org/index.php/PulseAudio/Troubleshooting#Audio_quality


文章標籤

Perry Wu 發表在 痞客邦 留言(0) 人氣()

學習case 1

使用express時,這樣使用

app.js
app.get('/musicbox', musicbox.getBoxInfo);
musicbox.js
musicbox = function() {

}
musicbox.prototype.getBoxInfo = function(req, res) {
this.xxx
}

發現 在musicbox中的getBoxInfo的this 不是指向musicbox本身的,而是指向外部變數所以改寫成以下,改成閉包的方式

musicbox = function() {
    var self = this;
    this.getBoxInfo = function(req, res) {
        self.xxx
    }
}

學習case 2

event trigger的this是聽那個event的obj. 以底下例子來說,this就是player

player.on('end', function() {
this.xxx
}

Reference link: https://software.intel.com/zh-cn/blogs/2013/10/09/javascript-this


文章標籤

Perry Wu 發表在 痞客邦 留言(0) 人氣()

目標

如前一篇實作的範例(使用cheerio 抓取蘋果日報的RSS資訊)

這裡接著要做的是讀取CNN的RSS資訊

一個中文的網站一個英文的網站來當練習,哈哈...

CNN的RSS連結為 http://edition.cnn.com/services/rss/

cnnRSS

Perry Wu 發表在 痞客邦 留言(0) 人氣()

目標

在node.js下使用cheerio以及request來讀取蘋果日報的RSS資訊

在http://www.appledaily.com.tw/rss這裡可以看到有提供的的即時新聞群組列表

而這次實作的目的就在於取得群組列表以及將指定列表中的資訊抓下來


appleRSS

實作

先使用Firebug確認要取得的條件後

文章標籤

Perry Wu 發表在 痞客邦 留言(0) 人氣()

簡介

開發應用時突然發現要準備網頁的多國語系支援,上網找一下資料發現多國語系可以做在前台,也就是網頁html+js的搭配組合完成語系呈現。

前端開發可參考此連結,我是沒多研究就是了

另一種就是直接後台給html時就包含了語系呈現了

個人傾向使用後台來達成這樣的機制,後台開發視野遼闊阿...,因為之前使用的是express + swig來達成MVC的動作,

所以這裡加入i18next,來達成多國語系

文章標籤

Perry Wu 發表在 痞客邦 留言(0) 人氣()

Install redis

  1. wget http://download.redis.io/releases/redis-3.0.0.tar.gz

  2. tar xvfz redis-3.0.0.tar.gz

  3. cd redis-3.0.0

  4. make

  5. server and client are placed in src/redis-server and src/redis-cli respectively.

Perry Wu 發表在 痞客邦 留言(0) 人氣()

  • usbmount

    讓USB flash插入直接mount

    sudo apt-get install usbmount
    
  • samba

    提供檔案共用

    sudo apt-get install samba
    
    mkdir /home/pi/share
    chmod 777 /home/pi/share
    sudo vi /etc/samba/smb.conf
    
    [Share]
    comment = ShareFolder
    path = /home/pi/share
    browseable = Yes
    writable = Yes
    public = Yes
    guest ok = yes
    read only = no
    
  • node.js
    wget http://node-arm.herokuapp.com/node_latest_armhf.deb
    sudo dpkg -i node_latest_armhf.deb
    

... 持續更新中 ...


文章標籤

Perry Wu 發表在 痞客邦 留言(0) 人氣()

概述

設定locale與能否瀏覽中文的網頁沒有直接的關係,即便把locale設置成 en_US.ISO-8859-1這樣一個標準的英文locale你照樣可以瀏覽中文的網頁,只要你的系統裏面有相應的字符集(這個都不一定需要)和合適的字體(如simsun),瀏覽器就可以把網頁翻譯成中文給你看。具體的過程是網絡把網頁傳送到你的機器上之後,瀏覽器會判斷相應的編碼的字符集,根據網頁採用的字符集,去字體庫裏面找合適的字體,然後由文字渲染工具把相應的文字在屏幕上顯示出來。


那有時候網頁顯示亂碼或者都是方框是怎麼回事呢?個人認為,顯示亂碼是因為設定的字符集不對(或者沒有相應的字符集),例如網頁是用UTF-8 編碼的,你非要用GB2312去看,而系統根據GB2312去找字體,然後在屏幕上顯示,當然是一堆的亂碼,也就是說你用一個錯誤的密碼本去翻譯發給你的電報,當然內容那叫一個亂;至於有些時候瀏覽的網頁能顯示一部分漢字,但有很多的地方是方框,能夠顯示漢字說明瀏覽器已經正確的判斷出了網頁的編碼,並在字體庫裏面找到了相應的文字,但是並不是每個字體庫都包含某個字符集全部的字體的緣故,有些時候會顯示不完全,找一個比較全的支援較多字符集的字體就可以了。


既然我能夠瀏覽中文網頁,那為什麼我還要設定locale呢?

文章標籤

Perry Wu 發表在 痞客邦 留言(0) 人氣()

VIM 常用安裝設定

.vimrc 設定值

set ts=4
set sw=4
" set noai
" set noci
set nu
nnoremap  :set invpaste paste?
set hlsearch
syntax on

set encoding=utf-8
set fileencoding=utf-8

Javascript相關

這個Wiki有整理一些javascript的Plugiin 連結

https://github.com/joyent/node/wiki/Vim-Plugins

如未來有需要安裝實在參考最新文件吧!


有裝兩個VIM的Plugin:

文章標籤

Perry Wu 發表在 痞客邦 留言(0) 人氣()

現象/問題:

使用winscp把中文檔案丟到linux 上,發現那些中文檔案無法使用node.js的readdir來存取 但是使用samba把中文檔案丟到linux上,readdir卻可以存取 此外, winscp上傳的中文檔,用SAMBA登入看到亂碼 SAMBA上傳的中文檔,用winscp登入看到是亂碼

解釋/過程:

winscp預設不知到是用什麼隊檔名進行編碼動作,所以winscp的檔名linux看不懂,只有winscp自己看得懂 而且,檔名編碼是根據每個應用程式的 如winscp高興使用特殊編碼來寫檔名,winscp自己看得懂就OK 讓winscp使用UTF-8的方式,設定步驟︰ 在 WinSCP 登入 (WinSCP Login) 畫面,點選有亂碼問題的期間 (Session) ,按下右側的編輯 (Edit) 。 將協定 (Protocol) 選為 SFTP 或 FTP 。 按左邊的環境 (Environment) ,把 UTF-8 檔案名稱編碼 (UTF-8 encoding for filenames) 從自動 (Auto) 改成開 (On) 。 按下儲存 (Save) 。

結論:

撞到這個問題一開始沒想到是winscp的問題,裝了iconv-lite做不停的轉碼測試,都沒有結果 一度想放棄來使用 workaround來讀取檔名資訊,以為顯示不正常是因為shell的問題....
  • ls --show-control-chars
  • tree -X
最後發現是winscp的問題... 出來混的還是要還... 整個系統使用UTF8進行檔名編碼最好

附註:


文章標籤

Perry Wu 發表在 痞客邦 留言(0) 人氣()