2012年9月30日 星期日

IP Camera (IPCam) 轉 Virtual Webcam (Webcam)

讓 Skype、MSN 可以連接 ipcam 的畫面

IPCam <-> IP Camera Adapter (IP Camera Filter) <-> ManyCam (windows) <-> IM (Skype、MSN)


* ip camera adapter 支援 MJPEG 格式
* MJPEG 格式沒有聲音


($29.00 USD) AMCap
($49.95 USD) ManyCam

(free、donate)(no watermark) IP Camera Adapter
(free) IP Camera Filter
(free) AlaxInfoIpVideoSource


* IP Camera Adapter sometimes crash with ManyCam




Reference :
How to Convert an IP Camera to a Virtual Webcam | Tech Tips - Salon.com
IP Camera Adapter Documentation
FEBON: 將IP CAMERA的影像透過skype 傳送出去的方法

Showing All Webcams - mjpeg.net Live Webcam Directory and Webcam Search Engine
World Wide LiveCams

fcitx 4.2.4.1-6-i386 dbusstuff 連接錯誤


bug :
$ fcitx
[WARN] /build/buildd-fcitx_4.2.4.1-6-i386-AQ5khh/fcitx-4.2.4.1/src/module/dbus/dbusstuff.c:86-連接錯誤(/usr/bin/dbus-launch terminated abnormally without any error message)

solution :
$ vi .xinitrc
export XMODIFIERS=@im=fcitx
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export QT4_IM_MODULE=fcitx
eval `dbus-launch --sh-syntax --exit-with-session`
fcitx &

atp-get 使用 proxy

# vi /etc/apt/apt.conf
Acquire::Http::Proxy "http://username:password@domain.com:3128";

fcitx 輸入日文

# apt-get install fcitx-mozc

# pkill fcitx

$ fcitx &






Reference :
Chakra@中文: 在 Chakra 上安裝 Mozc 日文輸入法

Linux APC UPS 監控軟體

apcupsd




Reference :
网管经验谈:使用Linux服务器监控UPS - 服务器专区 | IT168


飛瑞 A-1000 更換電池



Reference :
飛瑞A-1000 UPS不斷電系統更換電池 - 玩物尚誌 by lyhcode

Linux 監控 UPS 電量 (飛瑞 A-1000)

看到產品介紹說的
具通訊介面(Relay),透過Winpower監控軟體,隨時掌控UPS狀態,可支援WindowsLinuxUnix等作業系統。(A-1000)


$ wget http://www.ups-software-download.com/winpower/data/linux/Winpower_setup_Linux.tar.gz
$ tar zxf Winpower_setup_Linux.tar.gz
$ cd Winpower_setup_Linux/Linux
$ sudo ./setup_console.bin

# 出現這個要輸入序號
Please Enter the Serial Number:: 511C1-01220-0100-478DF2A
$ cd /opt/MonitorSoftware

$ ./agent start
$ ./monitor
$ ./Manager2






Reference :
伊頓飛瑞慕品股份有限公司 - A系列A-500&A-1000

伊頓飛瑞慕品股份有限公司 - 下載中心

2012年9月29日 星期六

apt-get 只下載、不安裝 套件 (download only)

下載套件包
$ apt-get download bash

下載原始碼
$ apt-get source bash




Reference :
How do I use apt-get to only download packages? - Ask Ubuntu

apt-get 不安裝推薦套件

# apt-get --no-install-recommends install perl



# vi /etc/apt/apt.conf
// Recommends are as of now still abused in many packages
APT::Install-Recommends "0";
APT::Install-Suggests "0";




Reference :
HOWTO: Tell "apt-get" not to install "recommends" packages in Debian Linux | Debian Ubuntu Linux Solutions Blog

Linux Display Manager


         1) Use of      2) Choice  3) Choice     4) Customized  5) User
            Xsession.d     of WM      of Locale     Startup        List
  XDM       ++             --         --            ++             -
  GDM       +              +          ++            some alt.      ++
  KDM       --             +          --            custom         ++
  WDM       ++             +-         --            --             -



(128K) LightDM - simple display manager
(204K) xdm


(1.2M) SLiM - desktop-independent graphical login manager for X11
(2.2M) kdm
gdm
enhance
CDM




Reference :
XDM, GDM, KDM, WDM shootout :-)

debian / ubuntu 手動強制移除損壞套件

# mv /var/lib/dpkg/info/PACKAGE_NAME.* /tmp/
# dpkg --remove --force-remove-reinstreq PACKAGE_NAME




Reference :
Manually remove a broken package in Ubuntu/Debian

2012年9月26日 星期三

Adobe Reader PDF 字型無法顯示

曾經碰過缺少東亞字型的問題

改用 Foxit Reader ,會偵測缺少 Eastern Asian Language Support 語言,下載後就可以正常顯示了




 Reference :
Foxit 中文字体显示问题(Eastern Asian Language Support)_立本堂-limestone_百度空间
Adobe - Adobe Reader : For Windows

yum 無法更新、安裝時錯誤

yum 無法更新、安裝時錯誤

# yum update

# yum install xxxx
[Errno 4] IOError:




嘗試解法:

1. 確定套件源沒問題

2. DNS 是否無法查詢

# vi /etc/resolv.conf
nameserver 168.95.1.1
nameserver 8.8.8.8




Reference :
CentOS 更新失敗 @ 文森特の灰肝誌 :: 痞客邦 PIXNET ::
yum源urlopen error错误 - B612号小行星 - 51CTO技术博客

2012年9月25日 星期二

Compass 安裝

安裝 Ruby
# Windows
http://rubyinstaller.org/downloads/

#Linux
$ sudo apt-get install ruby1.9.1
安裝 Compass
$ gem install compass
$ export PATH=${PATH}:/home/yan/.gem/ruby/1.9.1/bin

$ compass create





Reference :
Install the Compass Stylesheet Authoring Framework | Compass Documentation

2012年9月24日 星期一

debian / ubuntu 編譯安裝 fcitx (未完)

fcitx - A Flexible Input Method Framework - Google Project Hosting
wget http://fcitx.googlecode.com/files/fcitx-4.2.6.tar.xz
wget http://fcitx.googlecode.com/files/fcitx-configtool-0.4.5.tar.xz
wget http://fcitx.googlecode.com/files/fcitx-googlepinyin-0.1.6.tar.xz
wget http://fcitx.googlecode.com/files/fcitx-cloudpinyin-0.3.0.tar.xz
wget http://fcitx.googlecode.com/files/fcitx-fbterm-0.2.0.tar.xz
wget http://fcitx.googlecode.com/files/fcitx-4.2.6_dict.tar.xz
wget http://fcitx.googlecode.com/files/table.tar.gz


安裝 fcitx 相依
sudo apt-get install cmake libenchant-dev libxkbfile-dev doxygen libicu-dev

wget http://downloads.sourceforge.net/project/presage/presage/0.8.8/presage-0.8.8.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fpresage%2F&ts=1348505655&use_mirror=nchc
mv presage-0.8.8.tar.gz\?r\=http\:%2F%2Fsourceforge.net%2Fprojects%2Fpresage%2F presage-0.8.8.tar.gz
tar zxf presage-0.8.8.tar.gz
cd presage-0.8.8/
./configure --prefix=/opt/presage
make
make install


安裝 fcitx
xz -d fcitx-4.2.6.tar.xz
tar xf fcitx-4.2.6.tar
cd  fcitx-4.2.6/
mkdir build
cd build/
cmake .. -DCMAKE_INSTALL_PREFIX=/opt/fcitx -DENABLE_DBUS=ON -DENABLE_CAIRO=ON -DENABLE_PANGO=ON -DENABLE_TABLE=ON -DENABLE_GTK2_IM_MODULE=ON -DENABLE_GTK3_IM_MODULE=ON -DENABLE_QT_IM_MODULE=ON  -DENABLE_OPENCC=ON


Linux fsck

(轉) 注意事項:
1、如遇提示FSCK时,请小心。如果可能,请尽快断开系统,UMOUNT所有分区。
2、必需执行FSCK时,先做准备工作,方法一:可事先用dd命令将所涉及到的分区输出到另外的存储体上(最好不要在出错的存储体本身上做dd) 命令大致结构可如: dd if=/dev/sda0 of=/dev/sdb0 .....
3、必需执行FSCK时,先做准备工作,方法二:将整个LINUX存储体挂载到虚拟机环境,将LINUX存储体设为Nonpersisten模式,再执行,执行过后,如果数据完好,应尽快通过FTP等方式拷贝出来。
4、必需执行FSCK时,先做准备工作,方法三:将整个LINUX存储体挂载到其他系统上(如WINDOWS),做好镜像后再做FSCK。
5、如上面几种方式均因条件等原因无法实施,必须执行时,可小心观察FSCK的执行提示(关掉-a)如果发现有提示节点错误需更正或清0、节点描述文件大小不正确等信息,应停止执行FSCK。
6、因恢复需要参考很多信息,因尽可能保持系统不工作状态,至少不得再次MOUNT分区(即便不做任何读写操作,也会因系统的工作原理不断降低数据恢复的可能性,增加数据恢复的难度)
7、寻求专业数据恢复公司帮助。


* 檢查有問題的資料會被存到 lost+found (很亂,不易恢復)

Batch files if else condition

數值
IF %ERRORLEVEL% EQU 0 Echo No error found

 字串
if "%var% == "xxxx" (
    :: do something
) ELSE (
    :: do something
)




Reference :
If - Conditionaly perform command | SS64.com
More Powerful Batch Files- Branching with \"If\" statements
windows - Batch files, vista x64, if and parenthesis - Stack Overflow

-- Could NOT find Presage (missing: PRESAGE_LIBRARIES PRESAGE_INCLUDE_DIR PRESAGE_API_COMPATIBLE)

-- Could NOT find Presage  (missing:  PRESAGE_LIBRARIES PRESAGE_INCLUDE_DIR PRESAGE_API_COMPATIBLE)

CMake Error at cmake/FindICU.cmake:72 (MESSAGE):

CMake Error at cmake/FindICU.cmake:72 (MESSAGE):
  Could not find ICU


# apt-get install libicu-dev

2012年9月23日 星期日

Google PinYin 谷歌拼音輸入法

- PageUp
= PageDown
Ctrl + Shift + t 簡繁切換


* 按住 Ctrl 可以看到選字框的拼音那邊會有小數字,之後再按數字鍵可快速跳到單字前面選字

debian / ubuntu vpn / pptp client

# apt-get install pptp-linux


# vi /etc/ppp/chap-secrets

username PPTP password *

# vi /etc/ppp/peers/myvpn
pty "pptp vpn.domain.com --nolaunchpppd"
name username  # 對應到 /etc/ppp/chap-secrets
remotename PPTP
require-mppe-128
file /etc/ppp/options.pptp
ipparam myvpn


連接:
# pon myvpn



# pon myvpn debug dump logfd 2 nodetach  # with debug


添加路由表:
# route add -net 192.168.8.0/24 dev ppp0
# route add default gw 192.168.8.254 device ppp0



Reference :
PPTP Client
Linux configure point to point tunneling PPTP VPN client for Microsoft PPTP vpn server

Linux VPN pptp dev / ip forward

# iptables -A FORWARD -i tun0 -o tun0 -j ACCEPT # vpn to vpn
# iptables -A FORWARD -i tun0 -o eth0 -j ACCEPT # vpn to ethernet
# iptables -A FORWARD -i eth0 -o tun0 -j ACCEPT # ethernet to vpn




Reference :
iptables - Linux IP Forwarding for OpenVPN - correct firewall setup? - Server Fault

DD-WRT 允許 WEB 遠端管理

http://192.168.0.1/
Administration -> Management ->
Remote Access
Web GUI Management Enable  Disable  
 
 
telnet 192.168.0.1
# iptables -I INPUT -p tcp -s --dport 80 -j ACCEPT
 
or allow from any where

# iptables -I INPUT -p tcp --dport 80 -j ACCEPT




Reference :
Web interface - DD-WRT Wiki

2012年9月22日 星期六

ASUS WL-520GL 刷 DD-WRT

1.

下載 DD-WRT 的 tftp 工具


2.

進入網頁 http://www.dd-wrt.com/site/support/router-database 搜尋 520GU

下載 dd-wrt.v24_mini_asus.trx (基本的 DD-WRT)、dd-wrt.v24_usb_generic.bin (加很多功能的 DD-WRT)


3.

關閉 AP,戳入後面黑色 reset 鈕,開啓電源等待電源指示燈開始閃爍後放開 reset 鍵,此時進入維護模式


4.

Windows IP 設定成 192.168.1.2


5.

開啓 tftp 工具

Server 指定 192.168.1.1

File 選取 dd-wrt.v24_mini_asus.trx


6.

待韌體上載後,等待兩三分鐘讓 AP 進行安裝,電源燈不再閃爍代表更新完成,正常重開 AP


7.

進入 http://192.168.1.1/ (root / admin) -> 系統管理 -> 更新韌體 -> 選擇 dd-wrt.v24_usb_generic.bin




Reference :
Asus WL-520GU 刷 DD-WRT 韌體
華碩 WL-520GU 刷 DDWRT 韌體 支援 USB Printer

2012年9月21日 星期五

debian / ubuntu wmii fcitx 谷歌拼音 GooglePinyin

# apt-get install fcitx fcitx-googlepinyin fcitx-module-cloudpinyin

$ fcitx-config  # 設定

# for wmii (或使用 startx 啓動的 X)
$ vi .xinitrc
#export LC_CTYPE="zh_TW.utf8"
export XMODIFIERS=@im=fcitx                                                                                                  
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
#eval `dbus-launch --sh-syntax --exit-with-session`
fcitx &

# 字體大小設定
# vi /usr/share/fcitx/skin/YOUR_SKIN/fcitx_skin.conf
FontSize=24

快捷鍵:
- 選字框翻上頁
= 選字框翻下頁
Ctrl + Shift + f 簡繁切換


fcitx 輸入法特性:
* 虛擬鍵盤
* 繁簡轉換
* 雲拼音支援


bug:
opencc 轉換變亂碼 (因为 -> 因爲)




Reference :
Fcitx 小企鹅输入法 - Ubuntu中文
fcitx面板和字体大小config了结果还是一样小。。。 - 查看主题 • Ubuntu中文论坛

2012年9月20日 星期四

Zim - A Desktop Wiki

Ctrl + f 搜尋本頁
Ctrl + Shift + f 搜尋所有筆記

* 有 version control
* latex equation editor
* Collect Clipping in Zim 類似 Evernote 網頁剪貼功能 (for firefox Zim Capture)




Reference :
Zim - a desktop wiki

2012年9月18日 星期二

vim NERDtree

.vimrc
nnoremap :NERDTree 
map e :NERDTreeToggle  " \e 來開啟 / 關閉 NERDTree
let NERDChristmasTree=1
let NERDTreeAutoCenter=1
let NERDTreeMouseMode=2
let NERDTreeShowBookmarks=1
let NERDTreeShowFiles=1
let NERDTreeShowHidden=1
let NERDTreeShowLineNumbers=1
let NERDTreeWinPos='left'
let NERDTreeWinSize=31

let NERDTreeIgnore=['\.o$', '\~$', '\.a$', '\.bak$', '\.d$']  " 忽略檔案


快捷鍵
 ? 開啟或關閉說明
:Bookmark 將游標當前檔案或目錄加到書籤
D 刪除當前游標書籤項目




Reference :
Vim之NerdTree的帮助 - 漠北风 - 博客园
無障礙 VIM on WIN32 - NERDTree - 大象先生 - 無名小站

軟體自動更新機制設計


1. 從網站上檢查是否有新版本
2. 下載更新檔 (可能是一整包直接更新到最新。或是版本差異(比較麻煩))
3. 檢查檔案checksum
4. 關閉程式
5. 更新檔案
6. 更新後重新設定與啟動主程式
7. 清除暫存檔



轉貼:

***自动更新机制***
基本要求:
1、更新量最小;
2、更新安全性有保证;

高级需求:
1、做包工作量最小
2、可回溯
3、可自动删除客户端不再需要的文件




Reference :
Python auto update mechanism
自动更新机制初探 - 凌度 - 博客园
更新-說的比做的容易多了 @ 就是資安 :: 痞客邦 PIXNET ::

2012年9月17日 星期一

python yaml

# pip install PyYAML



# write to file
f = open('update.yaml', 'w')
   
aproject = {'project1': {'Checksum' : checksum,
                                           'Package': package,
                                           'Version': version}}

yaml.dump(aproject, f, default_flow_style=False)
f.close()


# read and parse from file
f = open('update.yaml')
x = yaml.load(f)
print x




Reference :
PyYAML
yaml简介以及在python上的应用 - 继续迷糊 - ITeye技术网站
How can I create a yaml file from pure python? - Stack Overflow

2012年9月16日 星期日

python zip file

import zipfile
sourceZip = zipfile.ZipFile(_file, 'r')
sourceZip.extractall(_temp_dir)


* 底下有人將 zipfile function 封裝成一個類別,方便使用




Reference :
How to Extract Specific File Types From Zip Files With Python Programming | eHow.com
unzip - Unzipping directory structure with python - Stack Overflow
[Python学习]在Python中处理zip文件 - limodou的学习记录 - limodou是一个程序员,他关心的焦点是Python, DocBook, Open Source …

Tags :
zip、unzip、uncompress、extract zip

python check file / directory exist

# check file exist
os.path.isfile(fname)
# check direcotry exist
os.path.exists(file_path)




Reference :
filesystems - How do I check if a file exists using Python? - Stack Overflow
 

python mkdir / rmdir / remove file

# mkdir
os.mkdir('tmpppp')

# rmdir
os.rmdir('tmpppp')

# rm -r
def rm_r(directory):
    for the_file in os.listdir(directory):
        file_path = os.path.join(directory, the_file)
        try:
            if os.path.isfile(file_path):
                os.unlink(file_path)
        except Exception, e:
            print e
    os.rmdir(directory)




Reference :
15.1. os — Miscellaneous operating system interfaces — Python v2.7.3 documentation
file - Delete Folder Contents in Python - Stack Overflow

python http download file



Reference :
podcast - How do I download a file over HTTP using Python? - Stack Overflow

python 更新機制設計



Reference :
Python auto update mechanism - Server Density Blog
on adding an update checker to my Python programs at blog.humaneguitarist.org

Python get key



Reference :
keyboard input - How do I make python to wait for a pressed key - Stack Overflow

2012年9月13日 星期四

windows batch test file



Reference :
check existence of file or folder in batch - Tech Support Forum

windows set variable from command output

For /F "Tokens=2" %%I in ('Date /T') Do Set StrDate=%%I


for /F %I in ('wmic useraccount where name^="%username%" get sid ^| findstr ^2') Do Set SID=%I



* 在批次檔中要寫 %I 變數必須要寫成 %%I 才行



Reference :
Command Output in a Variable 
Redirect command output into variable - MSFN Forum 
The Will Will Web | 如何利用批次檔(Batch)讀取指令執行的結果或文字檔案內容

windows command get current username

echo %username%

windows command get current user SID

for /F "delims=" %I in ('wmic useraccount where name^="%username%" get sid ^| findstr ^2') Do Set SID=%I
echo %SID%

S-1-2-0 Local
S-1-5-14 Remote Interactive Logon
S-1-5-19 LocalService
S-1-5-29 NetworkService
S-1-5-32-554 Pre-Windows 2000 Compatible Access
S-1-5-32-555 Remote Desktop Users
S-1-5-32-556 Network Configuration Operators
S-1-6 Site Server Authority
S-1-7 Internet Site Authority
S-1-8 Exchange Authority
S-1-9 Resource Manager Authority




Reference :
Windows + wmic + memory - Stack Overflow 
Get SID of user
How To Find a User's Security Identifier (SID) in Windows
Get current logged in user name command line (CMD)
How to get a user's SID? - MSFN Forum

2012年9月12日 星期三

windwos logon / logoff / startup / shutdown script by command


Logoff script
copy/y logoff.exe %WINDIR%\system32\GroupPolicy\User\Scripts\Logoff
REG ADD "HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\System\Scripts\Logoff\0\0" /v Script /d logoff.exe /t REG_SZ /f
Shutdown script

copy/y poweroff.exe %WINDIR%\system32\GroupPolicy\Machine\Scripts\Shutdown
REG ADD "HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\System\Scripts\Shutdown\0\0" /v Script /d poweroff.exe /t REG_SZ /f


* /d 後也可直接用絕對路徑




Reference :

windows batch file comment

使用 ":: " 為開頭做註釋

:: comments
:: ..................
:: ..................




Reference :

windows command chang service start mode

sc config YourService start= auto




Reference :
Microsoft Windows XP - SC

python windows start mode change

>>> import wmi
>>> c = wmi.WMI ()
>>> service = c.Win32_Service (Name="YourService")
>>> service.ChangeStartMode (StartMode="Automatic")




Reference :
How to remove a service or change the startup type to disabled - Python

start / stop windows service

net stop ""
net start ""

html td 靠上對齊

test




Reference :
玩Web無窮(Enjoy Web Tech): HTML基礎教學(13)--表格的水平與垂直對齊

2012年9月6日 星期四

2012年9月4日 星期二

Google doc / drive 文件 / 雲端硬碟 離線使用

 * PC 的話要用 Chrome 瀏覽器才能使用


* 可離線檢視的檔案是加密過的,路徑未知??

 * 若要獨立取出檔案,須在連線時使用 Download




Reference :
在「Google 雲端硬碟」Android 應用程式中檢視離線檔案 - Google 雲端硬碟說明

javascript dictionary

var count = {
    "青椒" : 1,
    "黃瓜" : 2,
    "蘿蔔" : 3,
    "馬鈴薯" : 4,
    "萵苣" : 5,
    "甘藍" : 6,
};

count["青椒"] += 1;

console.log(count);

javascript switch case

switch (weekday) {
    case '1':
    case '一':
        alert('禮拜一');
        break;
    case '2':
    case '二':
        alert('禮拜二');
        break;
    case '3':
    case '三':
        alert('禮拜三');
        break;
    case '4':
    case '四':
        alert('禮拜四');
        break;
    default:
        alert('禮拜五');
        break;
}




Reference :
程式語言教學誌: JavaScript 快速導覽 - 多重選擇結構