- 有沒有比較方便的gnu套件管理工具
mac 上有brew, chrome上面也有chromebrew - Google Play的安裝目錄在哪?
/opt/google/containers/android/rootfs/android-data/data/data - 如何切換到開發者模式
如果想使用bash, - 備份系統 (切換到開發者模式, 會清空原本的資料)
- 按住ESC + Refresh + POWER重開機
- 跳出 "Chrome OS is missing or damaged. Please insert USB stick."
按下ctrl + D - 等待重開機即可
- bash 執行檔案會Permission denied
基於安全性, os 在mount的時候, 設定了noexec參數
要解決這狀況可以在.bashrc中加入remount的命令
sudo mount -o remount,exec /home/chronos
2018年12月29日 星期六
Chrome OS Note
2016年2月18日 星期四
Linux 透過FreeTDS連接MSSQL (一) 安裝與設定
當Linux工作者遭遇到了MSSQL, 真是一件很麻煩的事情, 想不到我真的遇到了這件事情
再來會紀錄一下使用方法
安裝
- FreeTDS
官網 : http://www.freetds.org/
github : https://github.com/FreeTDS/freetds
預設會安裝於 /usr/local/bin , /usr/local/etc - unixODBC
官網 : http://www.unixodbc.org/
採用 yum 安裝
yum install unixodbc
- FreeTDS
設定檔 : /usr/local/etc/freetds.conf 或 $(HOME)/.freetds.conf
http://www.freetds.org/userguide/freetdsconf.htm
假設我要連到某一台SQL Server, 就得加上以下設定
[TDSNAME]
host = [server host]
port = 1433
tds version = 7.0
client charset = UTF-8 - unixODBC
設定擋 : /etc/odbcinst.conf
[FreeTDS]
Description = FreeTDS Driver
Driver = /usr/local/lib/libtdsodbc.so
設定擋 : /etc/odbc.ini 或 $(HOME)/.odbc.ini
[SERVERNAME]
Driver=FreeTDS
Servername=TDSNAME
Port = 1433
Database=DBInstance
TDS_Version = 7.0
- FreeTDS
tsql -S TDSNAME -U ID -P PASSWORD - unixODBC
isql -v SERVERNAME ID PASSWORD
2015年6月21日 星期日
VIM - 建構golang的編輯環境
中斷了好幾年的更新, 讓新的篇章從vim + go 開始
- VIM 相關
- Homebrew 套件管理工具
http://brew.sh/index_zh-tw.html
透過brew安裝的軟體都會被放到 /usr/local/Cellar目錄中,
未來如果要更新版本, 可以使用 update 先跟新清單之後再進行upgrade - vim 最新版
brew install vim
會安裝完成 vim 7.4 - go 安裝
- 透過 homebrew
brew install go - 官網下載
https://golang.org/ - 安裝 Vundle
- https://github.com/gmarik/Vundle.vim
git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle - 設定 .vimrc
-
" vundle 設定 set nocompatible " be iMproved, required filetype off " required " set the runtime path to include Vundle and initialize set rtp+=~/.vim/bundle/vundle/ call vundle#rc() " alternatively, pass a path where Vundle should install plugins "let path = '~/some/path/here' "call vundle#rc(path) " let Vundle manage Vundle, required Plugin 'gmarik/vundle' " The following are examples of different formats supported. " Keep Plugin commands between here and filetype plugin indent on. " scripts on GitHub repos filetype plugin indent on " required " To ignore plugin indent changes, instead use: "filetype plugin on " Brief help " :PluginList - list configured plugins " :PluginInstall(!) - install (update) plugins " :PluginSearch(!) foo - search (or refresh cache first) for foo " :PluginClean(!) - confirm (or auto-approve) removal of unused plugins " " see :h vundle for more details or wiki for FAQ " NOTE: comments after Plugin commands are not allowed. " Put your stuff after this line 新增Plugin 在.vimrc中加入 Plugin '套件' 執行 vim +PluginInstall +qall 或是開啟檔案輸入 :PluginInstall
- 安裝自動補齊功能
- https://github.com/Valloric/YouCompleteMe
- 在.vimrc中輸入
Plugin 'Valloric/YouCompleteMe'
Plugin 'fatih/vim-go' - 執行 :PluginInstall
這邊會執行很久, 之後你可能會看到現這個錯誤ycm_client_support.[so|pyd|dll] and ycm_core.[so|pyd|dll] not detected; you need to compile YCM before using it. Read the docs!
沒錯, 這邊就是要你自己去使用cmake編譯ycm
先安裝cmake ( brew install cmake)
然後執行 ~/.vim/bundle/YoucompleteMe/install.sh - 安裝需要的go binary
打開隨便一個go檔案, 輸入 :GoInstallBinaries
便會開始安裝需要的套件
©Yichen
2012年7月14日 星期六
我還是喜歡 vim
不過對於每一台主機上的 .vimrc 每次新增都得重新定義我的習慣, 所以還是存一份在這邊吧, 在陸陸續續慢慢的更新
雖然我沒用到什麼大強大的功能, 不過這就是一種習慣吧
set tabstop=4
set wrap
set ai
syntax on
set shiftwidth=4
set nobackup
set showcmd
set incsearch
set fileformats=unix
filetype on
"autocmd BufEnter *.pc set filetype=esqlc
set bg=dark
set t_Co=256
highlight comment ctermfg=gray guifg=green
set fileencodings=utf-8,big5
set encoding=utf8
set tenc=utf8
" code mest
map
map
map
map
map
map
map
"To have the numeric keypad working with putty / vim
imap
imap
imap
imap
imap
imap
imap
imap
imap
imap
imap
imap
imap
imap
imap
" Line highlight 設此是游標整行會標註顏色
set cursorline
" Column highlight 設此是遊標整列會標註顏色
set cursorcolumn
" highlight CursorLine cterm=none ctermbg=0 ctermfg=none " 顏色的前景色與背景色要如何
highlight CursorLine cterm=none ctermbg=0 ctermfg=none " 顏色的前景色與背景色要如何
highlight CursorColumn cterm=none ctermbg=0 ctermfg=none " 顏色的前景色與背景色要如何
" highlight Pmenu ctermfg=1 ctermbg=4 guibg=grey30
highlight PMenu cterm=bold ctermbg=Black ctermfg=Gray
"se noswf
set nohlsearch
filetype on
Mac terminal 顯示中文的方式
打個ls想查看目錄, 在Finder裡面看的到的中文也都變變成亂碼了, 這......晴天霹靂
其實這沒什麼好怕的, 只是要修改一下shell的環境設定而已
1. 於登入目錄下新增 .bash_profile or .profile 都可以, 然後新增以下幾行
export LC_ALL=C
export LANG=zh_TW.UTF-8
alias ls='ls -w'
2. 新增 .inputrc , 並新增以下幾行
set convert-meta off
set meta-flag on
set output-meta on
重新啟動 terminal 就可以囉...
©Yichen
2012年4月29日 星期日
從外部連結 VirtualBox 內的 ubuntu ssh service
1. 首先打開VirtualBox並設定好 port forwarding , 參考下圖
192.168.1.20 是我Mac機器的ip, 而10.0.2.15則是VBox內ubuntu的ip
- 首先要知道 VBox的安裝路徑, 正常來說應該在
/Applications/VirtualBox.app/Contents/MacOS - 輸入下列三個指令來設定外部的 port forwarding
./VBoxManage setextradata "ubuntu64" "VBoxInternal/Devices/e1000/0/LUN#0/config/ssh/Protocol" TCP
./VBoxManage setextradata "ubuntu64" "VBoxInternal/Devices/e1000/0/LUN#0/config/ssh/HostPort" 2222
./VBoxManage setextradata "ubuntu64" "VBoxInternal/Devices/e1000/0/LUN#0/config/ssh/GuestPort" 22
要注意, ubuntu64 是我的 vm name, ssh是前一步驟設定的名稱
e1000的部份, 也可能要填入 pcnet, 到底要填什麼必須要看網卡
可以到下圖的紅色區域來確認
ssh -p2222 user_name@192.168.1.20
Mac 上的 PrintScreen
MacOS 內建了兩組快速鍵, 讓我們達到 PrintScreen 的效果, 並將 png 檔存放到桌面上
- Command + Shift + 3 : 擷取整個畫面
- Command + Shift + 4 : 會出現一個十字狀, 可自行選擇擷取範圍, 如果按下 space 鍵, 會變成一台照相機, 可以選擇擷取的 form
2011年7月31日 星期日
面對奧客的智慧
2011年7月24日 星期日
怎麼備份 iTunes 資料庫
忘記Mac帳號密碼怎麼辦?
- 重開機時按住 command + S
- 在 #root 下輸入 以下指令
a. fsck -y
b. mount -uaw /
c. rm /var/db/.AppleSetupDone
d. reboot
2010年3月1日 星期一
變調的生活
不久前在噗浪上有朋友跟我說,現在的我與十幾年前剛認識的時候,臉上少了那一切都無所謂的笑容,似乎總是沉浸在煩惱當中,雖然我不知道我在別人眼中是個怎樣的人,不過夜深人靜的時候,我自己也會有這種感觸,人長大了之後責任也相對的變多了,許多過去不願意面對的事情陸陸續續的出現,我也總是秉持著日子總是過得下去,一昧的順從家人的每一個決定,最後原來壓抑了許多的壓力在自己的心理. 努力替自己找一個出路,能重新調整令自己快樂的生活.
每天 “起床->上班->回家睡覺->起床->上班”持續的loop已經變成我生命中的一切了嗎? 該好好的想想是否穿插一些其他的樂趣在裡面了.
2010年2月16日 星期二
[料理] 第一次做烤蔥餅
今天是2010年的大年初三,人家說初一早,初二早,初三睡甲飽, 不過我似乎沒有睡甲飽的命,一早又被叫起來了,因為我記錯時間,以為自己從今天開始值班,其實香港是明天才開始交易阿….
無論如何我還是早起了,結果心血來潮,打算自己做個烤蔥餅來吃吃看,就開始了這一段恐怖之旅….
準備材料 : 中筋麵粉 + 發粉 + 水 + 蔥 + 胡椒粉 + 沙拉油
詳細步驟就等我下次做好一點再來補上,這次感覺有點失敗,沒做出我要的味道
希望距離下次不要太久….
2010年1月2日 星期六
快樂的小學同學會
很奇妙的契機,以及莫名奇莫不懂得放棄的幾個人互相督促,竟然讓我們這些十幾年沒聯絡的小學同學重新又聚在了一起,當天吃了甚麼東西,我根本一樣都記不得,我只知道突然就大家一直拍照、聊天、走來走去,突然就到了結束的時間了,一直到此時我才發現這真的不是一場夢,大家都還是跟以前一樣,儘管時間在每個人的心理與外在都刻劃下了各式各樣的痕跡,不過我們還是有一段共同的記憶是忘也忘不掉的,一起努力狂奔的運動會,以及周末相約在警察公墓打著超小型棒球,原來大家都沒忘,真正讓我體會到甚麼叫做友情歷久一樣濃,搞笑咖永遠都是搞笑咖。這是不會變的!
最高興的是我們每個人都能高高興興的站在老師面前跟老師問好,我想這也是身為神聖的教職人員最高興的一件事情吧,而且我覺得老師似乎都沒甚麼變!真是太神奇了,原來只有小孩子會長大阿!!!!
-
畢業旅行的我們
-
十六年後的我們
2009年11月29日 星期日
[C語言] 如何計算某一段程式碼執行時間
在Unix-like中,我們可以用 time [option] command 這種方法來計算出command執行所花費的時間,不過若是該command是一個daemon process, 我們一般來說 都只會監看log,此時若要知道某一段程式碼執行花費了多少時間, 當然我們可以用gettimeofday以及localtime_r來取得詳細的日期與時間來進行相減的動作, 不過若是單純只想計算時間,這邊提供clock function來做更加的方便, 下方是使用的Sample Code
#include <stdio.h>
#include <time.h>
/* This sample will display how to calculate the program execution time */
int plus(int iEnd)
{
int i = 0;
while(i < iEnd)
i++;
return i;
}
int main(int argc, char *argv[])
{
clock_t start_time, end_time;
float total_time = 0;
int iNum = 0;
if (argc < 2)
{
printf("Usage : %s Num\n", argv[0]);
return -1;
}
start_time = clock(); /* mircosecond */
iNum = plus(atoi(argv[1]));
end_time = clock();
/* CLOCKS_PER_SEC is defined at time.h */
total_time = (float)(end_time - start_time)/CLOCKS_PER_SEC;
printf("Time : %f sec \n", total_time);
return 0;
}
2009年11月22日 星期日
走向紅毯的那一段,攜手的幸福
記得去年底的時候大家都想趕在2009孤鸞年之前結婚,不過今年我還是好多好朋友都陸陸續續走入人生另一個階段,或許是快進入而立之年,也該面對許多較重要的抉擇了,真高興大家都有確切的目標與對象能夠努力。
※ 恭喜十年的好朋友呼嚕以及過幾天也要結婚的淑雯(左二)
※ 恭喜好朋友永承也踏入禮堂
大家一定要幸福喔~~~~
當然過幾個禮拜的淑雯也要幸福阿…
看著你們這麼甜甜蜜蜜,我也該努力尋找自己那遙遠的幸福,許多事情不是短時間能解決的,不過對於自己的人生還是得認真的去過,看著你們這麼用心的經營自己,真是令人羨慕,或許過去很多事情不是自己能夠選擇的,但是未來一定能靠自己決定方向。
2009年6月29日 星期一
你的孩子有補習嗎?
@台北車站南陽街
最近吃早餐的時候常常踢到早餐店阿姨在跟其他阿姨討論關於小孩補習的事情,內容不乏是
1. 補習班補幾科多少錢,補習好貴喔.
2. 小孩補完半年內成績是否有所進步,是不是應該換補習班了.
3. 還需要讓她去補甚麼.
記得我自己國三的時候有補習,為了要考高中,高中的時候也有補習,為了要考大學,甚至還待過重考班還有去年的研究所補習班(最後沒去考 >< ) ,不過除此之外我都沒再去補任何其它的東西,現在回想起來,如果可以讓我再選擇一次,我真的不想再把自己丟到補習班裡面,讓老師用大量的題目幫我念書,國中跟高中的時候每到了補習日最高興的時刻就是跟同學一路打打鬧鬧的到補習班門口,然後就開始陳悶的課程.難怪我總覺得童年的回憶好少,大部分都在學校與補習班中度過,透過記憶題型以及增加熟練度來減短解題時間,或許十個小孩中有七個可以使用這種方式來達到效果,但是剩下的三個他們怎麼辦?家長們又能察覺小孩的痛苦嗎?或著說家長認為這就是我們所要的競爭力?
父母總是希望自己的小孩能有好的成就,好的成就代表的是甚麼? 是父母無法達成的夢想或是小孩自己的夢想?
新加坡電影 小孩不笨 裡面令我印象深刻的一句話「for your own good」,這應該也是大部分的父母與小孩爭執時最常說的一句話吧,有時候不希望小孩經歷我們過去曾經經歷過痛苦的一段路,而希望他們能跟隨著我們的經驗來跳過那段過程,我總會思考未來對於自己的孩子是否也會如此?其實我比較希望能透過自己的經驗幫助他度過那段過程,而不是讓他避免進入那段過程,凡事沒有所謂的來不及,只有我們願不願意多花點時間罷了,有許多事情不親身體驗是無法在留存在記憶裡面的,每個年齡有各個年齡應該完成的目標以及該過的生活,做為父母不應該直接送他們到終點,而應該是在一旁觀賞著孩子的成長,並適時的拉他們一把.
記得我第一次覺得爸媽很煩的時候是他們覺得我補習後功課還是沒進步的時候,從此我就很討厭談論成績這件事情,我心裡總是喃喃的唸著”難道他們不知道我不是一個很會唸書的人嗎?”,一直到現在我都覺得他們依然不知道,我不覺得自己愚笨,只是有時候考試真的跟我很無緣,我喜歡動手學習遠遠勝過再紙上書寫解答,而送小孩子去補習的各位,您是否曾經觀察過您的孩子真正想要的是哪種學習嗎?
不知道現在的升學環境還要多久才能擺脫"沒有補習就沒有競爭力"這種觀念,讓父母也不用再思考自己小孩要補多少科要學多少才藝,要花多少錢? 讓小孩自己決定自己想要學的東西吧,希望我以後能跟別人討論下面這三件事情
1. 我的小孩跟我說她想學甚麼才藝.
2. 我的小孩放學後休閒活動是甚麼
3. 我的小孩又跟我分享了甚麼.
2009年5月31日 星期日
[網路文章] 縱然人生是白忙一場,也要忙得很快樂
最近收到了這一篇轉寄信,我覺得還不錯就存下來囉
儘管很多事情總是一場空,不過愉快的過程總是無可代替,對他人的付出只要不要以等價的要求也可以過得很快樂,因為那是一件愉快的付出,我喜歡過程更勝於結果.你呢?
| 有一隻狐狸,在路上閒逛時,眼前忽然出現一個很大的葡萄園, 「即使生命是一場空,也要空得很充實, |
2009年4月16日 星期四
如何使用shell撰寫ftp自動傳輸
在 Unix 中若要進行定時備份,通常都會將資料直接tar起來然後再進行壓縮再將其丟到另一台Server或是磁帶中去存放,而傳送到另外一台機器除了使用remote copy外還可以使用ftp來當作傳輸介面,下面來分享一下我所知道的三種透過shell達成ftp傳送的功能
方法一 : 使用腳本
TMP為暫存腳本
#!/bin/sh
ftp -i -n 主機名 <<TMP
user $ID $PWD
bin
put $L_PATH $R_PATH
quit
TMP
方法二 : 使用外部檔案當作腳本
$file 為指令檔案
#!/bin/sh
echo "open 1x.xx.xx.x0"> $file
echo "user $loginName $password">>$file
echo "bin">>$file
echo "hash">>$file
echo "cd /usr/database">>$file
echo "put data$filename">>$file
echo "close">>$file
echo "bye">>4file
#自動執行FTP
cat $file | ftp -n
方法三 : 使用 ".netrc" 來設定ftp連線
a. 請於家目錄下方新增一張檔案.netrc內容如下
machine 192.168.1.15 login ftp1 password 123
b.將檔案權限設定為 600
-rw------- 1 yichen root 45 3月 29 10:35 .netrc
c.在此使用者身分下連線到192.168.1.15時會自動使用ftp1/123登入ftp
所以shell中可使用 ! 進行ftp session 跟 shell session進行切換
#!/bin/sh
ftp 192.168.1.15 <<!
cd xxx
put xxx
lcd xxxx
!
2009年4月5日 星期日
Linux 如何使用命令行編輯 ( Command-line Edition )
在使用AIX的ksh進行操作的時候總是覺得能在命令列使用vi的操作模式來進行指令的行內(in-line)編輯以及歷史指令的搜尋是一種令人很愉快的事情,當然這,這個功能就叫做命令行編輯 (Command-line Edition )
若要使用這個功能可執行「set –o vi」來達成。
不過最好的方法當然是寫入設定檔囉,以CentOS的bash為例
主要設定檔為 /etc/bashrc 提供root進行所有帳號的範本設定
每個User的家目錄下面也會有一張 .bashrc 的檔案提供User進行設定
我們可以將開啟命令行編輯的指令寫在其中一個檔案裡面,這樣每次登入就都會開啟功能了。
操作方式
如同vi一樣,分為兩種模式,操作方式與vi同
Input 模式
直接輸入指令
Command 模式 ( ESC可進入 )
命令完全與vi相同,前後指令切換與搜尋依據為shell history檔,
Ex. $HOME/.bash_history
ps. 上面的set –o vi 也可以是 set –o emacs
2009年3月2日 星期一
Bye Bye 內湖德安百貨
去年內湖德安百貨那塊土地被元大集團收購後,一直傳出有要改建為內湖第一豪宅的消息,不過隨著台灣房市的崩盤,也讓這個消息逐漸消失,想不到在前幾天的新聞上又看見了「經營艱辛 德安百貨走入歷史」的新聞,相信對很多曾經在內湖居住過的人來說都會有點不捨,這個看盡內湖成長的百貨公司竟然要在捷運通車的前夕正式與內湖說再見,儘管接下來仍然是百貨公司,不過改由元大經營的日湖百貨,在我心中代表的意義卻已經完全不同,德安兩個字早就深植在我的生活中,儘管之後從內湖消失了,我相信仍然會如同當初的環亞百貨一樣,留存在人們的記憶中,久久無法散去.
依稀還記得當初那塊大土地上原本佇立的是我這輩子第一次吃的麥當勞,小學還曾經去那獨棟兩層樓的麥當勞參加他們舉辦的參觀活動,看了如何製作香噴噴又美味的漢堡薯條,以及觀賞著其它小朋友與麥幫勞叔叔及漢堡神偷共度的慶生會,當時的小學生應該都跟我一樣好希望可以過一次這種生日,我超喜歡漢堡神偷的,不過沒幾年突然發現這家麥當勞就這樣被德安百貨給壓扁了,變成了水泥製作的方型建築,麥當勞只剩下小小的角落,似乎就失去那種感覺,不過此時德安百貨正式入侵了內湖的生活圈,由於內湖交通的不便利,德安很快的變成了我與同學們相約見面以及逛街的地方,現在回想起來,我終於了解為什麼德安這種小型的社區型百貨公司能夠存活,因為我自己在不知不覺間將那邊內定為與朋友相約最佳地點後,回家的路上經過也會前往逛個兩圈,儘管周年慶不會比SOGO那邊的隆重,也不會有所廣告,不過對於存在該生活圈的我來說卻沒有一次不知道,而且去逛一下也很容易遇到認識的人,或許這也是社區型百貨特有的一種特性吧。
德安帶動了四週的商圈發展,由於前往百貨公司閒晃的人變多了,四週的店家也一間一間陸續出現,而那一小段的成功路除了傳統市場(湖光市場)之外也陸陸續續出現了「必勝客、何嘉仁美語、內湖戲院、溫蒂漢堡、HANDTEN、佐丹奴、NET、好樂迪‧‧‧」,店家越開越多,後來還有內湖醫院也出現在那附近,在當時德安生活圈已經成為全內湖最熱鬧的一個地段,也變成了附近住戶閒暇時打發時間的好所在,不過隨著年齡增長,台北市交通越來越方便,大家逐漸擴展了自己的生活圈,逛街的地點開始進入了西門町與東區,內湖商圈的生意似乎每每只能維持平盤的發展,沒有太多的增長,店家也開始進行更替,經過了一段時間的淘汰後,剩下的就是目前的景象,大家總是期待著內湖捷運通車之後能否再次的刺激消費,吸引更多的人潮,可惜內湖的捷運蓋的特別的久,而且高架的設計也讓天空消失了一大半,每每騎車經過那一段路都覺得好暗阿,整個感覺就是很昏暗很壅擠,不知道這個問題是否有在當初設計的考量之內?
不過等不到哪天了,緊接著等待通車的會是招牌不知道長啥樣子的日湖百貨,希望內湖能再次發展起來,畢竟在我心中還是個標準的內湖人!

