2015年12月16日 星期三

Delete/Drop Linux hibernate

Story:
   One day, I was stupid to write a script to hibernate the system in a LOOP! Thus, the system always goes to sleep after I boot it... Hence, I need to delete/drop the hibernate file for my system to boot normally.  If you also has this requirement, you can follow the following step to make your system back to normal.

1) Boot into the other Ubuntu OS.  You can boot into Live USB/CD.

2) Open gparted application and ... format the swap partition.



3) After you did 2), check the UUID of swap in /etc/fstab.  It should match the one below. My swap partition is sda3.

$ ll /dev/disk/by-uuid
lrwxrwxrwx 1 root root 10 12月 18 08:01 6fc1830e-dc28-4ac3-8280-abe589caaf17 -> ../../sdb1
lrwxrwxrwx 1 root root 10 12月 18 08:01 7e2c74db-b055-478b-a4f5-efe6c7da8cd1 -> ../../sda1
lrwxrwxrwx 1 root root 10 12月 18 08:01 bd0a28dd-e394-42df-9f20-d3173c2e82c3 -> ../../sdb2
lrwxrwxrwx 1 root root 10 12月 18 08:01 eaee4cc9-cfdc-4d3c-a445-53ea1d2bf025 -> ../../sda2
lrwxrwxrwx 1 root root 10 12月 18 08:01 ee522705-2e15-47a5-a938-a737764a917b -> ../../sda3

3) Reboot.  That's all.

2015年12月15日 星期二

tmux breaks vim's color

If you use 256 color in your vim editor, and it is broken when you enter tmux. My solution is to force use 'tmux -2' when I enter tmux. You can also add it in ~/.bashrc.

alias tmux='tmux -2'

2015年9月20日 星期日

Erlang SSL Socket server

I cannot find a good example on Internet to create an SSL socket server in Erlang.  The following example here is a good one but  ... it doesn't work.  Thus, I create my owned one and test it with another erlang shell (client).

Hope this is helpful for anyone who are suffering on Erlang TLS Socket connection ...


-module(tls_socket_server).
-export([start/0]).

start() ->
  ssl:start(),
  server(4000)
.

server(Port) ->
  SockOpts = [{certfile,"certfile.pem"}, {keyfile, "keyfile.pem"}, {reuseaddr, true}, {active, false}],
  {ok, LSocket} = ssl:listen(Port, SockOpts),
  spawn(fun() -> accept(LSocket) end).

accept(LSocket) ->
  {ok, Socket} = ssl:transport_accept(LSocket),
  Pid = spawn(fun() ->
    ssl:ssl_accept(Socket),
    loop(Socket)
  end),
  ssl:controlling_process(Socket, Pid),
  accept(LSocket).

loop(Socket) ->
  case ssl:recv(Socket, 0) of
    {ok, Data} ->
      io:format("Got packet: ~p~n", [Data]),
      ssl:send(Socket, Data),
      loop(Socket);
    Error ->
      io:format("Error on socket: ~p~n", [Error])
  end
.
Besides, if you are using R16* versions of Erlang, the TLS socket handshake will always crash. It's an Erlang BUG. See here

Reference:

  • http://erlycoder.com/89/erlang-ssl-sockets-example-ssl-echo-server-ssl-client-

2013年12月29日 星期日

Auto login setting for Xubuntu

Add the line 4 as the following figure.


This will be very useful when you need vnc server to run in this machine after rebooting it.

2011年1月27日 星期四

Convert CD to .iso file

最近買新Macbook air,沒有光碟機...
然後又不是很有錢可以買Macbook air的外接光碟機
所以就在Linux下使用 dd 這個內建的指令來把 CD 轉成 .iso 檔
再餵給MBA吃~~


dd if=/dev/cdrom of=/home/user/iWork.iso


if: 光碟機device
of: 想要輸出的檔案

that all ~ easy and very useful tool

2010年6月6日 星期日

Vim regular expressions

Vim是個好東西
尤其是可以使用regular expression來強化search and replace
以下是我在寫論文時常常會用到卻也常常會忘記得功能 =_=
偏偏網路上的說明又經常讓人看不懂(一些阿宅的自我表示法,非阿宅就看不懂)
記錄一下我的感想

=====================
用latex寫論文時,有時為了讓老闆可以看哪些地方改了,會把修改的地方用其他顏色標示出來
在tex裡面就用 {\color{blue} content} 把文字包起來
老闆看完要把tex回復時又要一個一個把 color tag 拿掉,很殺時間,所以用search and replace可以很快的把這些事情作好

在vim的command底下可以使用
%s:\({\\color{blue}\)\(.\{,10}\)\(}\):\2:gc

• %s是指search and replace 的 command
• : 是分隔符號
• \( \) 是把search的text分成三部份
• 第一部份找{\color{blue}
• 第二部份的 . 表式任何字元,但只限找10字元內 \{,10}
• 第三部份找 }
• \2則是表示要把找到的字串換成第二部份的內容(第一跟第三部份就自動清失了,等於是把color tag拿掉的意思)

此外,第二部份我的找法是先找 \{,10} ,再找\{,20}, \{,30}...以此類推,最後找 * (無限字元)
這樣找的原因是如果一開始就找*,會把其他的color tag也抱含進來,這樣會大混亂~所以要從小範圍先找,目前沒想到更好的找法,只能暫時這樣了

reference:

2010年5月12日 星期三

Humor

所謂的幽默~
並不是無止盡的恥笑別人的弱點
揭露別人的癐疤
踐踏別人的自尊
扭區別人的價值
而只求輕蔑一笑……

如果無法作到收放自如、恰到好處

但願慎言寡歡~

2010年4月17日 星期六

Install ffmpeg in Mac

ffmpeg是一個非常強大的open source audio/video convert 軟體

在Mac下也是可以安裝
如果要轉h264格式的檔案,在compile ffmpeg之前要先安裝libx264
解開後進到目錄下執行

./configure --enable-shared --disable-asm
make
sudo make install

接著安裝 ffmpeg

svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg
cd ffmpeg
./configure --enable-pthreads
make
sudo make install

That's all.

以上是透過svn去抓最新的ffmpeg,並把他放到ffmpeg的目錄裡,進到ffmpeg目錄後先作好configure再make and make install .... 標準的Unix/Linux installation

前提是,請先裝好 Xcode ~

2010年3月18日 星期四

Mac connect to Ubuntu Samba server

首先必需要於Ubuntu上設定好Samba server,怎麼設定就去這看吧~這裡就不多說了


在Mac上就……非常簡單,在Dock上的Finder按右鍵,選擇Connect to Server
然後會跳出來下面這個視窗,此時輸入Server的address
接著輸入於設定Ubuntu Samba Server時所建立的帳號與密碼
很簡單的就可以把分享的資料夾mount進來
就這麼簡單~~~此時桌面上會出現一個資料夾的icon,就把他當作是一個資料夾來用,可以直接開啟裡面的文件,讀或寫資料進去……just like a local data folder~~

Perfect ~~



2010年2月16日 星期二

Take a screenshot on Mac

Mac 是一個非常好用的系統,各種功能都作的很完整且很方便
這邊記錄一下怎麼作 screenshot

Shift+Command+3: 這個組合按鍵會直接把整個螢幕都截取下來,然後去桌面就可以看到截取後的影像檔(在windows下的話若不另外裝軟體,大概就是要先按PrtSc,然後到小畫家把影像Past上後再存起來)

Shift+Command+4: 滑鼠會變成十字形,移動滑鼠把想要截取的地方選起來後就可以進行截取

但有時候我們想要截取某一個視窗,一樣也是先按Shift+Command+4,接著按一下空白鍵(Space)把滑鼠移到想要截取的視窗上,One click,一樣…截取的圖會自動存到桌面

Mac有的可不只是質感啊~~~~~

Perfect ~

2010年1月31日 星期日

Change login session by using VNC

用VNC連回Linux工作有時會碰到要reboot,所以login management就會選擇在重開機後自動登入,若無自動登入的話重開後VNC就連不回去了………

如果是使用kdm的話可以編緝/etc/kde4/kdm/kdmrc (for kubuntu platform)


把AutoLoginEnable設定為true後,在每次reboot後就可以自動登入
接著再把vnc server開好後就可以用VNC client連回去了

但…如果很閒…有時會用kde有時會用gnome、xfce、enlightenment....等等,必需告訴kdm或gdm在自動登入時要載入哪一個桌面
這時可以設定家目錄的 ~/.dmrc


Perfect ~

==========================
後記(2010/3/23)
現在的ubuntu作的很聰明,你不需要去設定/etc/X11/xorg.conf,而是當gdm/kdm啟動時,他就會自動去測試你的monitor,並把解析度設定好。

但…如果是把桌機當Server擺著,並沒有給他接上monitor,重開機後,ubuntu就傻了,因為偵測不到monitor,而沒把螢幕顯示設定好,所以你也就沒辦法透過vnc連回去……(這是我的猜測)

於是我乾脆自己指定monitor的解析度,記得 /etc/X11/xorg.conf裡面要加上Monitor這個Section,而且Section Screen裡要把Monitor指定進來,欺騙ubuntu說你有接上monitor....哈

2010年1月26日 星期二

php upload file size

會寫這篇是因為大部份網路上找到的資料都不是很正確……=_=

想要增加php程式的上傳檔案大小必需要改 php.ini (存放位置視各系統而定,我的Mac是在/etc/php.ini),一般網頁上寫的教學都說只要修改upload_max_filesize 就好,但我改了老半天還是不行……

後來我在php.ini裡面發現post_max_size這個參數,很明顯的~這個也是要改









哈 ~ 就這麼簡單

2010年1月11日 星期一

使用Gnu的cp程式

動機:在Mac下也是有console可以使用,但是Mac的cp這個指令,功能比較弱,就只能單純的copy,之前在Linux下使用cp指令時,可以用-u這個參數來確定source是否比destination來的新,如果有的話才copy,這樣在作backup時還滿好用的,但Mac下預設的cp程式並無此功能

Gnu utilities下載最新的原始碼,下載完後解壓縮,進到Gnu utilities目錄進行
./configure
make
就可以把所有的程式都compile好來使用

因為我只需要cp這個程式,所以並沒有執行 make install 來進行全部指令的安裝,我只到src目錄底下把cp這隻程式複製到 /bin 底下,複製好就可以使用了

複製前記得先將原來的/bin/cp備份

2010年1月6日 星期三

Mac connect to Kubuntu via XDMCP

好話先說在前頭……這實在是太 perfect 了....amazing~
以前要連線到Linux只能傻傻的用 VNC,效能其實不好,區網連線還是都會頓頓的

今天試了一直以來都懶得試的XDMCP……一點都不delay ...+_+實在是讓我非常吃驚,速度就跟在local端使用一樣……

網路上有一堆XDMCP的教學,不管英文或中或的…都寫的很雜亂,沒有系統,有看沒懂…

所以,以下開始記錄我是如何進行連線(只限Mac to Kubuntu):
快樂連線3步聚:
1. 編緝 /etc/kde4/kdm/kdmrc (Kubuntu端)

最下面可以找到
[Xdmcp]
Enable=false
Willing=/etc/kde4/kdm/Xwilling

把 Enable=false 改成 Enable=true,儲存離開

2. 編緝 /etc/kde4/kdm/Xaccess (Kubuntu端)
找到
#* #any hot can get a login window
#* CHOOSER BROADCAST

分別把前面的 # 拿掉

接著 reboot kubuntu

3. 連線! (Mac端)
打開 terminal
輸入 X -query IP

如果是Windows或是其他的Linux要連線過去可能要找其他的連線程式,但在Mac上用預設的 X 就可以了





心得:
雖然速度很快很好用,但是不知道是Mac上的X有問題還是怎樣,用一段時間後就會出現無法與X server連線的錯誤……所以只好再用回VNC了………

2009年12月11日 星期五

自製早餐

以前住的地方有廚房,晚餐可以買些菜、飯、麵回去自己煮,搬到這來後沒有廚房也就沒有再自己煮過了,這次自己去買了簡單的鍋子跟爐子回來,重新開始我的烹飪生活,不過…大概也只能煮煮火鍋弄弄早餐之類的

今天一早起床就開始動工,把土司先放上去烤一烤…土司光是烤香味就一直噴出來…(餓~~)


接著早餐最重要的就是蛋,把蛋打上去…煎熟,隨後我又把鮪魚罐頭(海底雞)跟玉米也放上去加熱,雖然冷冷的也是可以吃,不過加熱過味道又更香~~
哈…裝盤
接著再把起司也丟到鍋裡,等起司軟了之後把土司蓋上去,起司就會黏在土司上面
開始把料鋪上去
夾起來吃一口~~
吃完第一個起司口味的,接著吃蛋的

吃完再補上一顆 kiwi ~
Perfect ~~ 呼…有點飽

這樣吃其實不會比出去外面買便宜多少,不過這是一種生活嘛~~哈
下次可以再買些生菜,美乃姿之類的回來調味,嘿嘿 ~~~

2009年11月30日 星期一

我的憤怒來至於人的白目

也許我是牌氣不好,但我的牌氣往往來自某些人的過度白目…
是過度白目哦…小白目一下我還不會生氣
即然你們可以過度白目,難道我不可以生氣嗎?
或許有些人就是看不清自己的白目…真的是整個眼睛白都白了

當然…如果有人敢肆無忌憚在我面前耍白目…我就敢肆無忌憚的讓你了解我火燒起來時是有多大一把~~

2009年10月5日 星期一

AnytoISO



在Mac底下如果要把 .mdf 轉成 .iso 的話,有一個工具非常的方便,叫作 AnytoIso


只要把要轉的檔案選取進來,就會自動幫你把他轉成 .iso ,非常簡單好用,目前我只有試用過 .mdf to .iso。

2009年9月20日 星期日

Apache+PHP on Mac







想在Mac上面裝apache+php簡直比吃飯還容易只要到System preference裡面設定即可
首先,到System Preference裡的Sharing


進去之後,直接將Web Sharing打開就可以了使用Apache,簡單到暴…


打開 http://localhost 就可以看到,而 http://localhost/~yourname 是系統內某位使用者的網頁,如果要放置網頁,只需要放置到自家目錄的 Sites目錄下面就可以了

而php的部份,apache預設是把php disable的,我們需要將php加入 http.conf 這個設定檔

sudo vim /etc/apache2/http.conf


將LoadModule php5......... 這行前面的#拿掉,緊接著

cd /etc
sudo cp php.ini.default php.ini

之後如果對php有任何特殊的需求請到php.ini裡面修改

最後,回到System Prefrence->Sharing,把Web sharing取消再打勾(重啟Apache的動作),你的Apache就有php可以用了

Perfect


如果想加裝Mysql的人…可以參考MAMP

Reference:
http://www.devarticles.com/c/a/Apache/Using-Apache-and-PHP-on-Mac-OS-X/
http://foundationphp.com/tutorials/php_leopard.php

2009年9月17日 星期四

安裝好後卡在「Do you Already own a MAC」

在Aspire one上裝好Mac後,卻進不去,卡在「Do you Already own a MAC」的頁面上,按下一步卻又跳到最前面去,沒完沒了

結果…好像是網卡方面的問題,把以下的步驟作過一遍,跳過這個步驟即可

1) during boot press f8
2) at promt boot write: -s (to enter in single user mode)
3) when all is ready, go to promt root and write this: /sbin/fsck -fy (enter)
4) When is finished you will receive this message:"File system was modified."
5) unmount all
smile.gif write on promt : /sbin/mount -uw / (enter)
6) now set your root password, on prompt wirte: passwd root (enter)
7) now the system will ask you to insert the new password, insert them and then press enter, rewrite and repress enter.
8) Now write on promt: touch /Volumes/NAME!/var/db/.AppleSetupDone (remember DOT before AppleSetupDone) and then press enter
9) on promt write: reboot (enter) (the system will reboot now)
10) Now don't touch nothing during boot, at login page, insert like user: root, like password, them that you have choose.

Reference:
http://www.insanelymac.com/forum/lofiversion/index.php/t69878.html

2009年8月10日 星期一

Wireless connection

最近裝了ArchLinux在Acer Aspire one 上面,wireless driver必需透過AUR安裝新的madwifi-hal Driver,Driver裝好後接著只要裝好network manager就可以進行連線,可是……

1. KDE 4.3 的Network manager有問題…還沒完全作好
2. 安裝Gnome的network-maanger-applet居然也是沒辦法運作,開啟後在system tray上看不到network manager icon

所以…只好學習怎麼手動進行連線了=_=

  1. 如果要連上沒有任何加密的AP,It's easy
    iwconfig wlan0 essid AP_essid
  2. 如果要連上WEP加密的AP,要加一下WEP key
    iwconfig wlan0 essid AP_essid key s:AP_key
  3. 如果要連上WPA加密的AP,就麻煩了,因為很麻煩,所以我寫了一個script以利方便進行連線

    #!/bin/bash
    echo "Connecting to \""$1"\"via passphase \""$2"\""
    killall dhcpcd
    ifconfig wlan0 down
    wpa_passphrase $1 $2 > /etc/wpa_supplicant.conf
    ifconfig wlan0 up
    iwconfig wlan0 essid $1
    wpa_supplicant -B -Dwext -i wlan0 -c /etc/wpa_supplicant.conf
    dhcpcd wlan0
    ifconfig wlan0

    將以上放到wireless.sh檔案中(vim wireless.sh),檔名可自設
    chmod +x wireless.sh
    進行連線時用root身份執行 ./wireless.sh AP_essid AP_key

後來覺得Aspire One的無線網卡在Linux上實在是很不穩,於是我插上LonTech的USB網卡,發現怎麼沒有動靜@@,原來…要自己加裝Driver,以前在ubuntu上裝上去就可以抓到,但在ArchLinux上要自己裝Driver,果然……ubuntu把很多driver都預設裝上去了,所以比較肥大也是有原因的~而ArchLinux也不會麻煩到哪裡去,wiki上什麼鬼東西都寫的好好的……照著作就可以了,這次我參考了Wireless Setup的網頁

以下是裝USB wireless driver的過程
  1. 首先,我知道我的USB網卡是pacman -Sy zd1211-firmware所以我要加裝這個Driver: zd1221rw
  2. pacman -Sy zd1211-firmware
  3. 我寫了另一個script,專門連這個USB wireless device
#!/bin/bash
echo "Connecting to \""$1"\"via passphase \""$2"\""

#Close all conection
killall dhcpcd
ifconfig wlan1 down
ifconfig wlan0 down

#Prepare ESSID and password
wpa_passphrase $1 $2 > /etc/wpa_supplicant.conf

# wake up wireless interface
ifconfig wlan1 up
iwconfig wlan1 essid $1

# Set up the wireless connection for WPA
wpa_supplicant -B -Dwext -i wlan1 -c /etc/wpa_supplicant.conf

# Connect
dhcpcd wlan1
ifconfig wlan1

Reference:
  • http://wiki.archlinux.org/index.php/Wpa_supplicant
  • http://wiki.archlinux.org/index.php/Wireless_Setup#Introduction