2010年6月11日 星期五

Hero其實還挺好用的

因為之前刷ROM,所以這次並不能隨著HTC原廠無線放送時一起榮登android 2.1 的極樂巔峰,不過老實說,我並不是挺在意的,因為那樣我會失去很多Modaco添加進去的功能。

不過最後,我還是想想,算了,人都是會死的,就讓它投胎去吧~於是本來是用Modaco的oven烤出幾版ROM刷來看看,不過刷機很快就出現了不想要得結果->損失掉一切設定與通訊紀錄,雖然這不失為對付女朋友檢查手機的好方法,但我不需要啊@@ 因為沒有女朋友

現在改刷XDA釋出的版本,內有wifi tether。這玩意的神奇地方,就是把手機變成3G無線AP,就可以讓筆電的無線網路改走3G,不是透過usb的分享網路方式。

其實我現在比較欣賞的是它當會議錄音的時候,收音的角度,下巴翹的剛剛好 XD 只是事後要跟人分享要記得轉檔為MP3。

提醒一下,錄音的時候請設定電話轉接到辦公室,然後開飛安模式。

Technorati 的標籤: ,

HTC Hero 惡搞日記 補記1 CyanOgenMod

http://www.cyanogenmod.com/downloads/recovery-image

CyanOgenMod 1.4是很好得備份與刷機開始。

Win 7 自動登入

有時候明明筆電只是你一個人使用,這時候能方便盡量就會給自己方便,所以連都登入驗證都懶惰。

不過為了基本使用者帳號,還是建立一個管理員帳號,然後每次都用它登入。一樣按下執行快速鍵( Win + R )

control userpasswords2

然後,選好帳號後取消一些礙眼的設定,打一下密碼存放,嗯,完成。

Win7誤中WGA 沒關係 試試這帖

KB971033是不能安裝的更新檔,裝了會讓你體會到螢幕瞬間黑掉得感覺,微軟真是偉大啊。

首先到新增移除把這更新移掉,然後按下Win + R的執行快速鍵,打入下面指令

takeown /f “%windir%\System32\Wat\*”

重新開機後,再次叫出執行,打入下面指令

icacls “%windir%\System32\Wat\*” /deny *S-1-1-0

原文

2010年5月12日 星期三

100 days in a row ? easy~

image

連續登入100天,很容易啊

2010年4月27日 星期二

An OpenBox PipeMenu

#!/bin/sh
####################################################################
# Generate a set of expect files to these defined servers ,        #
# Generate a OPENBox menu concludes those expect files.            #
# Auther: IceKimo                                                  #
# Date  : Aprill 27 2010                                           #
####################################################################

主要就是先產生一堆通往各主機的expect檔(這樣連線時節省輸入帳號密碼的時間,但是當然會有洩密問題啦~)再藉由這些expect檔產生出選單,就這麼簡單~

#Envirement Settings
EFF=$HOME/bin/.conn2 # ExecFileFolder
[ -d $EFF ] || ( rm -rf $EFF ; mkdir $EFF )
[ -x /usr/bin/gnome-terminal ] && TERMINAL="/usr/bin/gnome-terminal -x" || TERMINAL="/usr/bin/xterm -e"

基礎重要設定只有存放expect檔案的位置與連線程式,連線種類其實還可以更多去包含kermit的語言,不過,等2012吧~

#       Functions to create every expect files connect to server.
#       SSH and Telnet are different expect template.
#       The expect files can be edited after Generated.
create_expect() {
file_exp="$EFF/$3@$2.exp"
        echo "#!/usr/bin/expect" > $file_exp
        echo "set tiomeout 30" >> $file_exp
  if [ X${1:0:3} = "Xssh" ] ; then
# Depend on the password field , empty this by SSH PubkeyAuthentication
        if [ -n "$4" ] ; then
cat << EndOfSSHExpect >> $file_exp
        spawn $1 -l $3 $2
        expect "*assword:" {send "$4\r"}
EndOfSSHExpect

因為SSH連線可以使用鑰匙認證而不需要密碼,因此可以密碼留空白,其實這整個程式裡面大量使用HERE Document的轉向技巧產生各個檔案

        else
cat << EndOfSSHExpect2 >> $file_exp
        spawn $1 -l $3 $2
EndOfSSHExpect2
        fi
  else
# The TELNET PROTOCOL
cat << EndOfExpect >> $file_exp
spawn $1 $2
expect "ogin:"
send "$3\r"
expect "assword:"
send "$4\r"
EndOfExpect
  fi

希望可以個別放一些特殊expect語法的話,比如說登入後修改啥環境變數之類,把檔名寫好在$5欄

  if [-n "$5" ] ; then
        cat $5 >> $file_exp

  fi
  echo "interact" >> $file_exp
  chmod 510 $file_exp
}
# Configure file was embeded in this Script, Now I change it
# To edit config on a .config file, keep your password secret
ConfigFile=$EFF/.config

原本我是把設定值直接就跟程式寫在一起,不過這樣似乎太快樂了,還是拆出來一個檔好了

if [ !–x $ConfigFile ] ; then
cat << EndOfConfig > $ConfigFile
# Field up like the follow sample ; seperate by :
# PROTCOL:REMOTE_HOST:REMOTE_USER_ID:PASSWORD:OPITIONAL_EXPECT_FILE
telnet:ptt.cc:guest::
EndOfConfig
fi

echo "Choose an editor program you like to use, default is vi : " && read editor
which $editor
[ $?=0 ] && editor=`which $editor` || editor=`which vi`
$editor $ConfigFile

grep -v ^# $ConfigFile > $ConfigFile.tmp

exec 6< $ConfigFile.tmp
  OIFS=$IFS ; IFS=":"
while read pro host id passwd extfile <&6
do
        create_expect $pro $host $id $passwd $extfile
done

上面的作為是製造出設定檔,然後更改系統分隔字元,把設定檔餵進while read組合的迴圈,就會自動一行一行塞去做出expect檔案。exec <6 與<&6是指使用FD 6來作為串接的檔案代碼(File Descriptor),效果就是,嗯簡單的講,在UNIX觀念裡,所有東西都是檔案,FD 0通常就是標準輸入(鍵盤),所以這樣看FD 6就有如找個鍵盤來敲這檔案裡的字進程式。


  IFS=$OIFS ; unset OIFS ; rm $ConfigFile.tmp
###########Create the pipe menu for openbox ###############
pipe_menu=$HOME/.config/openbox/conn2.sh
echo '#/bin/sh' > $pipe_menu
cat << EndOfPipeMenu >> $pipe_menu
gen_menu() {
        # Generate Menu Item for Openbox
  echo "<item label=\""\$1"\">"
  echo -n '<action name="Execute"><execute>'
  echo $TERMINAL $EFF/\$1.exp
  echo "</execute></action>"
  echo "</item>"
}

這邊整段就沒啥,就是把PIPEMENU(另一支其實可以獨立的ShellScript)整個包起來用HERE Document產生出來後,最後作個提示如何修改openbox設定檔

echo '<openbox_pipe_menu>'
echo '<separator label="CONN2" />'

  echo "</item>"
}

echo '<openbox_pipe_menu>'
echo '<separator label="CONN2" />'
hosts=\$( ls $EFF/*.exp )
    for host in \$hosts
        do
          host=\$( basename \$host )
          host=\${host%.exp}
          gen_menu \$host
#         echo "<separator />"
        done
echo '</openbox_pipe_menu>'
EndOfPipeMenu
chmod +x $pipe_menu
cat << POST
Insert a line in your OPENBOX Menu $HOME/.config/openbox/menu.xml as example

<menu id="sshmenu" label="TERMINAL CONN2" execute="$HOME/.config/openbox/con
n.sh" />

POST

2010年4月22日 星期四

ASUS Wl-520GU改DD-WRT

其實這教學文在dd-wrt的wiki就有了(謎之音:XD那你賣點是啥啊),所以我決定使用ubuntu環境配合上一點點shellscript來完成這件事情。

簡單敘述這個組合的威力。dd-wrt是一個開源碼中給Router的韌體,很遺憾的說,其實我買了很多次ASUS的WL-520G系列Router,但是其實從來沒有看過裡面ASUS設定的介面,因為一開箱就馬上刷DD-WRT(…..),原廠韌體不錯啊,但是dd-wrt的強大除了調整無線功率之外,還有添加很多package程式。比如說,利用WL-520GU背後的USB多加一隻隨身碟,然後變身FTP/SAMBA或P2P動物機(ok,講到這裡很多人都不相信了),或者是扮演VPN的角色(by OpenVPN)。是的~你沒看錯,你剛剛花一千多一點買的家庭用IP分享器,可以VPN,就是那個回家辦公事的VPN。

凡事起頭難,尤其是人人常說,刷機有一定風險,一個不小心就準備再買個新的(其實也沒有這麼慘,那都是唬人的)。尤其是進入工程模式常常需要一些神秘的儀式…

首先簡單講要準備的東西,到dd-wrt下載好新的韌體(如我使用的dd-wrt.v24_vpn_generic.bin),將電腦網路線插到WL-520GU的Lan1孔裡(因為在救援模式,只有這個孔開放連線),在ubuntu安裝tftp軟體(我使用的是atftp)

wget http://www.dd-wrt.com/routerdb/de/download/Asus/WL520GU/-/dd-wrt.v24_vpn_generic.bin/1966

sudo apt-get install atftp

然後調整網卡跟等一下router同個網段,因為這樣兩邊等一下才不需要路由轉換就可以連線(不要以為刷機中的路由器會幫你轉封包,要是這樣霍金還可以跑步游泳的說)。參考指令如下

sudo ifconfig eth0 192.168.1.2 netmask 255.255.255.0

要作傳說中神秘的Hard-Reset,又稱30-30-30 Reset 因為每個步驟都大約30秒,用個小小script輔助一下

#!/bin/bash
function Wait() { for (( x=30 ; x > 1 ; x-- )) ; do echo $x && sleep 1; done }
echo 將電源線拔掉後按下 Enter計時 && read a
Wait
echo 持續按住背面RESTORE時恢復供電,再次按下 Enter 計時 && read a
Wait
echo 如果電源指示燈持續閃動,恭喜你進入Restore模式

如果你可以ping到192.168.1.1,恭喜恭喜,接下來就很容易了。如果沒有,除了沒有接對線(Lan1 !! 誰教你接WAN!!) 你有沒有把網卡IP設定在192.168.1.x的同網段也是重點…真還不行,拔掉電源再來一次,這樣多插幾次還不會弄壞你的Router的(但是你也不會高潮就是了)。

接下來我們真正進入弄壞Router的領域了,歐,不是,是DD-WRT的歡樂新世界。參考指令如下

atftp -p -l dd-wrt.v24_vpn_generic.bin --verbose 192.168.1.1
sleep 300 && echo DONE

注意到傳完以後一定要等夠五分鐘,這樣韌體才會寫入FLASH,不然,就再來一次。wiki上說要等Five EARTH Minutes,請各位火星人務必忍耐一下。

然後呢?把電源拔掉再插回去(相信你已經不是今天第一次了…應該很熟悉這感覺了)就好啦,有沒有很簡單啊?~馬上打開瀏覽器連線192.168.1.1,如果看到dd-wrt威脅你一定要設定管理帳號與密碼,不然就不給你用的對話,趕快把名字簽一簽,以後就是你要對她負責啦~~

#!/bin/bash
ping –c1 192.168.1.1
[ X$? == X0 ] || $( echo 連線測試失敗,請設定完連線再開始 ; exit 1 )
which atftp
[ X$? == X0 ] || sudo apt-get install atftp
function Wait() { for (( x=$1 ; x > 1 ; x-- )) ; do echo .$x && sleep 1; done }
echo 將電源線拔掉後按下 Enter計時 && read a
Wait 30
echo 持續按住背面RESTORE時恢復供電,再次按下 Enter 計時 && read a
Wait 30
echo 如果電源指示燈持續閃動,恭喜你進入Restore模式
Wait 30
echo 開始刷機 確認輸入y && read a
[ X$a == Xy ] || exit 0
atftp -p -l dd-wrt.v24_vpn_generic.bin --verbose --trace 192.168.1.1
Wait 300 && echo DONE

2010年4月19日 星期一

製作離線安裝的MSN Live 服務

最近還真是有點懶的寫東西,勉強一下野人獻曝
製作方法是這樣的,首先按照規矩下載wlsetup線上安裝版程式,然後照自己習慣安裝起來以後,到C:\Program Files\Common Files\MSN Live\.cache底下把各msi安裝檔撿回來重複利用。
msi安裝的方式可以用cscript來靜默安裝,寫法如下

@ECHO Install MSN Live XXX
start /wait msiexec /i 檔案名稱.msi /passive /qb

依序把檔案名稱都寫完在這個.cmd的script檔裡,只要點它就會自動裝完MSN Live 服務。
以我自己來講,我只用Messanger與Writer兩個功能。

其實以上是本來製作Windows 7安裝光碟時自動安裝步驟之一,它的基礎機制就是SetupComplete.cmd。但是因為那是在個人帳號啟始前就安裝,加上本人懶惰又不想徹底研究這機制,於是寧可包成另一個手動安裝package。

這次寫出來有一個比較可以自慢的一招,下載最新的Avira Antivir小紅傘來安裝,借助GNU的wget.exe工具程式來下載。cmd內容如下:

cd %SystemRoot%\Setup\
start /wait wget.exe http://dlce.antivir.com/package/wks_avira/win32/en/pecl/avira_antivir_personal_en.exe
@ECHO Install AntiVir
start /wait %SystemRoot%\Setup\avira_antivir_personal_en.exe

真的很簡單喔~~!

2010年3月11日 星期四

WD's Advanced Format HD Technology

電腦硬碟將進入新紀元 恐衝擊微軟XP

回應

2010-03-10 14:00:58 中央社台北10日電

電腦硬碟即將邁入30年來,數一數二的重大格式變動。明年初以前,所有硬碟將改用「先進格式」,改變大家儲存資料的方式。
「英國廣播公司」(BBC)今天報導,提升至先進格式,可讓硬碟製造商更輕易生產出較大硬碟,且更省電也更可靠。
不過這也意味著,微軟XP(Windows XP)用戶轉換硬碟時,可能發生問題。
自從DOS作業系統走入歷史,硬碟空間就被設定為512位元組(byte)區塊,並多虧IBM把此格式用於軟碟,512位元組從此成了標準規格。
當硬碟僅有幾百萬位元組(megabytes),512位元組十分實用;但當硬碟有一兆位元組(terabyte)、甚至更多資料時,繼續用512位元組就比較不合理了。
每4K為一磁區的先進格式,意味浪費空間會減少近8倍,不過將允許硬碟每個區塊都多出一倍空間,來進行錯誤碼修正。
透過「國際磁碟驅動器、設備和材料協會」(International Disk Drive Equipment and Materials Association,Idema),所有硬碟製造商都已承諾,在2011年1月底前改採4K先進格式。
硬碟廠商已展開教育與宣導活動,讓一般大眾了解新的格式,也提醒微軟XP這類舊作業系統的用戶可能會遭遇的問題。
這是因為早在各界決定使用4K格式前,微軟就已推出XP。磁碟機製造商、希捷公司(Seagate)產品行銷經理伯克斯(David Burks)說:「預設的512位元組磁區安裝在電腦結構的許多層面裡。」
相反地,Windows 7、Vista、OS X Tiger、Leopard、雪豹(Snow Leopard)與Linux去年9月發行的各版本核心,都掌握了4K先進格式的趨勢。
為了協助XP順利過渡,先進格式化硬碟將可「假裝」它用的仍是容量512位元組磁區。當取讀硬碟資料時,這種假象不會被注意到;然而,某些情況下,寫入資料可能影響電腦性能。在部分狀況下,硬碟寫資料將不是一個步驟,而是兩個步驟,引起約5毫秒的延遲。
自己組裝電腦、或換掉舊硬碟、改用新格式的用戶,最可能碰到這類性能問題。

 

===========以正視聽分隔線=====================

原文

Exploring WD's Advanced Format HD Technology

 

所謂增加儲存空間,是因為壓榨原來的ECC空間,從320B降到220B。

圖中綠色的ECC被減少之外,前方用來導正的Sync也減少,(譯電說的浪費空間)

而為何跟舊XP的效能有關係?這叫做Data Align的計算機科學(真不好意思,剛好我知道),舊的LBA存取硬碟時Sector參數結尾是63(請打開BIOS自己看<保證是),所以會如下圖

硬碟模擬的XP叫他存取的有小小的位移,於是計算機會忠實的執行指令,用兩個機械動作時間完成(效能就往下掉了)。 WD說:別怕,請加灌我們的WD Align 或是調背後Jumper…

 

所以這是宣傳新聞就是了….

2010年3月7日 星期日

Wubi 可以clone

幾百年沒有這樣發善心、宏大願造福人類了,居然我也會去松山社大去幫忙做個志工。意外的收穫就是本篇,Wubi是ubuntu安裝在windows的一隻程式,用了它就可以不用重新切割硬碟,就安裝好Ubuntu。
其實,今天也是在下第一次這樣安裝,就不小心上手了(呵 有些事情是講天份的~)。
wubi基本上主體是wubildr這程式,一看名字立刻聯想到ntldr了嗎?馬上打開boot.ini看,果然最下面被改成wubildr.mbr,這名字一看立即推測他是用來模擬開機MBR的一個檔,或是指向wubildr的位置。而安裝完的東西都放在ubuntu這個資料夾下,打開一看,boot底下是menu.lst(給grub用的),而disk裡面出現swap檔案,以及一個root.disk檔案,不用說,這肯定就是硬碟RAW檔。因此只要複製這個檔案,基本上就等於直接複製磁碟映像擋了。
如果這樣寫完,顯然就有欺世之嫌。使用wubi開機的linux,可以在/host底下存取原本的硬碟,好,解散!

2010年1月7日 星期四

自動登入tty

#!/bin/sh
if [ $# -lt 2 ] ; then
        echo "Usage $0 tty[1~6] Username" && exit 1

# 用兩個參數表示要在哪個tty用哪個帳號登入
fi
echo "#!/bin/sh\n/bin/login -f $2" > /usr/local/sbin/autologin_$2

# 先寫一支script負責該帳號登入,主要利用login –f 參數
chmod 755 /usr/local/sbin/autologin_$2
sed -i -e 's/exec/#\t exec/g' /etc/event.d/$1

# 把舊的ttyX設定裡執行槓掉
echo "exec /sbin/getty -n -l /usr/local/sbin/autologin_$2 38400 $2" >> /etc/event.d/$1

# 將新的登入方式放進去最後一行
cat  /etc/event.d/$1

# show一下設定檔有沒有錯,

2010年1月5日 星期二

UNR Ubuntu Netbook Remix

Ubuntu Netbook Remix (UNR) 是一個特化的”官方”版本

可以看得出來操作桌面介面經過設計。安裝方法除了直接下載UNR版本,或是製作UNR的開機USB碟之外,還可以從8.04之後正式版本直接升級。這裡就摘錄如何從8.04”升級”。

將下面兩行加入source.list

deb http://ppa.launchpad.net/netbook-remix-team/ppa/ubuntu hardy main 
deb-src http://ppa.launchpad.net/netbook-remix-team/ppa/ubuntu hardy main 


然後把gpg key加入

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys $key

$key可以從PPA的網頁上找到,現在是B796B6FE

然後更新後安裝套件

apt-get install desktop-switcher go-home-applet human-netbook-theme maximus ume-launcher window-picker-applet metacity



好,裝完了。

參考資料: https://wiki.ubuntu.com/UNR

2010年1月1日 星期五

Tux2live Project

https://tux.nchc.org.tw/trac/tux2live/wiki

Tux2live是一套適合使用者建立自己所屬的 Linux Live system(Live CD, Live usb ,...)的工具,擁有易使用且客製化的打包架構,無論是個人使用環境或客製化功能服務主機,只要硬碟中已經建立好 Linux 環境,便能一五一十的打包成可攜帶的 live 環境。

Tux2live is a toolkit to package your Linux live environment from what you installed in hard disk. And it's easy to customize and configure your own live system.

https://tux.nchc.org.tw/trac/tux2live/