2010年9月23日星期四

在Linux下安装无线网卡

LInux有一个名为NdisWrapper的工具转换Windows的无线驱动。

1.下载NdisWrapper程序
  从Google上搜索NdisWrapper,并下载。 我的为 ndiswrapper-1.56.tar.gz
2. 复制到 /usr/local/src
3. 解压
  tar zxvf ndiswrapper-1.56.tar.gz
4. 编译并安装
  cd ndiswrapper-1.56
  make
  make install
如果没有安装开发环境,要先安装
我的环境是CentOS,用以下命令
  yun groupinstall 'Development Tools'
5. 下载无线网卡的驱动
  我用的是buffalo的WLI-U2-KAMG54
6. 解压
  下载文件为wdrv-1052.exe,是用lha压缩的 (type wdrv-1052.exe 可查看到)
  下载Linux下的lha包
  rpm -ivh lha-xxxx.rpm 安装lha
  lha e  wdrv-1052.exe
7. 安装驱动
  cd到相应的驱动的目录下,下面还有win98, win200, vista三个版本,我使用了win2000
 下面有好几个文件,使用以 .inf  结尾的文件 netkamg.inf, netkamgl.inf
  ndiswrapper -i netkamg.inf
  ndiswrapper -i netkamgl.inf
8. 启动无线卡
  ndiswrapper -m # 建立一个名为wlan0的假名
  ifconfig wlan0 up  # 启用wlan0
  ifconfig  # 确认启动
  iwlist wlan0 s  # 搜索无线网络
9. 之后你就可以用iwconfig设置无线参数使用他了

2010年9月17日星期五

和老外在网上聊,必知的缩写(ZT)

asl是Age, sex and location 的所写,年龄,性别和地址(国籍) lol是laugh out loud的缩写,意思是大声笑,笑的很开心的样子
ppl=people
bbs=be back soon=很快回来
thx=thanks % i3 D! }5 U, o. L2 W2 q
ur=your - n+ i! \1 u+ e$ s+ W/ W, h2 B
asap=as soon as possible
g2g = got to go + g. h% i7 }: S( i
ttyl = talk to you later
brb = be right back 6 K+ |0 p7 L3 O% \$ ^6 Y) t+ b- {) v
bbl = be back later
bio brb=上个厕所就回( N; H! X! Z2 f! s/ ?; J  m% o9 P
afk = away from keyboard (away) ; [5 K+ N( Y; s# F2 X, b
u = you
plz = please 4 P1 L: e. c' Q( M9 u8 ]
y = why * N0 [5 d" o- K0 Z1 @( b
w8 = wait
l8er = later & a" ?! X/ t+ M. _, V
cya = see ya (later)
nvm = nevermind
nm = not much
gl = good luck
gf = girlfriend , A! {; q' `/ g; P! b
bf = boyfriend
luv=love
RUOK=are you ok?3 b1 X9 x: d0 s6 f" h: a
sp=support
cu=see u( U( [4 e+ w& m+ n; A% j8 d& W- s* [
cul8er= see you later
ft=faint
ic=i see
soho=small office home officer- k- u8 S( y4 ^( w# C7 }% {
btw=by the way
gn=gn8=gnight=good night=晚安) U, A) j6 [- V8 Q. ~) {
nn=nite=晚安
说明:一般第一个人常说gnight/gn8,然后第二个人用nite,后面的用nn什么的都可以了。不要问我为什么,约定俗成而已。1 P7 }" k) l* N2 [! E3 E
hiho=hola=yo=hi=hey=hellow=ello你好,大家好
wuz up=sup=what's up=(原意:怎么样你?/有什么事儿嘛?)也可作为问好用(当然是比较熟的两个人之间的问候),回答时有事说事,没事用"nothing/nothin much/not much/nm等回答就可以。" t2 x- E# e' G. E0 h2 `: J
OMG=oh my god=我的天;我靠!
OMFG=oh my fucking god=我的老天;我靠靠;
wtf=what the fuck=怎么会事!?;我日!;
OMGWTFBBQSOURCE !!!表震惊到了极致. / q# N* W5 o/ T
n1=nice 1=nice one=漂亮
pwnz=ownz=牛比!(例句:pwnz demo!;lefuzee ownz all the others!). R  ^  u8 m1 D
rullz=强!(例句:lefuzee rullz!;you guyz rull!!!)% y' L, p/ X: j+ M
you rock!=你牛比!
lmao=laughing my ass off=笑的屁股尿流/ P) d) n, d1 a" b, W  f9 S
rofl=roll on floor laughing=笑翻天了
roflmao=rofl+lmao=笑到爆了!! p, k1 h1 x0 v
语气强度排序:hehe

---其他简写---
1,FU=f uck you=*你;滚
2,STFU=Shut the f uck up!=他妈的给我闭嘴!# R- T7 P( v- p4 i/ L2 u4 G  U
3,k=ok=okay=okie=好的,恩. X1 M" t2 M; W
4,sux=suck的第3人称单数形势(例句:that sux)=sb;滥/ E# w: D: }: v. f' |% c- C  m9 E2 \
5,gimme=give me=给我
6,xfer=transfer=传输4 y$ V. z2 |- c  W- V8 Z- A8 d
7,em=them=他们的宾格
8,thx=thanks=谢谢$ p4 _: ^8 ^( c% Y; o
9,happy bday=happy b-day=happy birthday!=生日快乐( _& e( E# G4 j- q
10,dunno=dont know=不知道
11,kinda=a little bit=有点(例句:The game is kinda hard for me.i kinda think i should get it done as soon as possible.)
12,tho=though=虽然尽管(例句:That demo was very nice,kinda old tho.那个demo很不错,虽然有点老)
13,plz=please=请: k, P/ q6 P9 m
14,cmon=c'mon=come on
15,suka=s ucker suck(吮吸),er(表“人”),吮吸的人...没天真到无邪的人都能明白了。
16,enuff=enough=足够& Y0 q/ J( [" Y* U6 M
17,hax=hack=cheat=作弊,说谎(很地道时尚的词,老外用的比较多); G7 \5 h" S& z: v
18,ty=thank you 原本用的不多,不过现在又开始兴起来了2 l* J8 z3 p: S1 Q* N
19,conn=connection=线路,网络,网络类型 (例句:what conn do you have? / cable )
20,asap=as soon as possible 尽快
21,imo=in my opinion 我认为
22,smh=shake my head (摇头叹气)
23,dayum=damn=dang3 x  E; K' T% A5 e
24,ttyl=talk to you later$ ^  h' I# v# m2 ^* l
25,b/c=because" e9 C) B7 R4 e! I% k! W/ R
26,j/j=j/k=j/p=just joking, kidding, playing (开玩笑)
27,w/=with! h: l4 Q2 }5 J5 |/ \3 y
28,w/o=without% B6 }2 T9 \& b* \* E
29,holla=来和我讲话,also, holla at yo boy, holla at yo girl etc.8 L3 A, o1 |; J/ @, @( b: Q2 c- n
30,atcha=at you
31,gotcha?=got you?
) b) x" B8 t6 n5 G( u" J8 |( k
4 U5 o# e: u3 P' ~2 p
---特殊用语---
1,w00t=woot=what=虾米?!主要表示what和yeah的意思,例如惊叹和兴奋。, T, `, Z& m- ?  Y( _9 O
2,1337=l337=l33t=leet=elite=很强,超强的西西(例句:l33t demo;lefuzee is l337!!!!)
3,lame=滥;衰 (例句:dude,thats the lamest thing ive ever heard.哥们,这是我听过的最sb的事情。)% C) ~* z2 v) x; ]) J! D
4,dude=d00d=(原意:花花公子)哥们,朋友* p% @1 a7 @$ R
5,pffffff=whatever=随便;爱咋咋地; ("f"的多少和"pffffffff"的长短代表你的感情激烈程度)$ Z/ J0 A+ K% X
6,n00b=newbie=新人,新手;小嫩手
7,sry=不好意思;
---表情符---
:  )7 P+ W! O+ l6 Z+ U8 b
; D
; o* @3 Y* j- h. i( Y! `  X
; o: m% t+ |. c0 ]7 L+ W
: > --- (gay smile)
\o/ --- (欢庆)
\\o --- (欢庆)
o// --- (欢庆)# t2 \( `( w: x5 o* N! \; ]8 O
D: --- (吃惊)
Oo=O_o=虾米!(挣大眼睛表示惊叹)* d. U9 c9 r, ]6 J9 T* m9 N
<3=心,表示喜爱  X+ a: g5 H8 S* l4 W0 l4 {
2=to
4=for( u9 ?, B/ N. Y0 u: H1 }0 W  `
B=be7 X$ c$ _1 t/ W) K9 z" n
U=you4 b! o! G8 W+ {4 X& e! B) I# n; L  |/ o
R=are* H& b% M6 r" q: s8 V2 u
C=see
AFK=away from keyboard
ASAP=as soon as possible1 z0 J$ j  D- M
BTW=by the way
BBIAM=be back in a minute7 V, v9 A" Q+ Z
CU=see you
CUL=see you later7 p2 q3 ^  q0 A5 w2 Y, c
CWYL=char with you later
FE=for example  C$ B1 M) U& Z0 c2 l
F2F=face to face
FYI=for your information(供参考)
FYR=for your reference7 |) ?9 K. [5 t: V1 f8 U7 e
FU=...这个不用说了吧 0_0
GL=good luck
GTG=got to go: _  d( p: `$ j
GTH=go to hell
HTH=hit the hay(睡觉去了,hay:床)
IAC=in any case
ILY=i love you  a& a4 S5 y0 T1 |! \2 `, `# m
IMO=in my opinion! E  z  N% {! a% {) Q
KIT=keep in touch+ W1 h' m+ }9 r( o& k: L3 K8 W
NRN=no reply necessary(不必回信): y: y* h$ _; ~# @$ X
NP=no problem" l. c8 o* h6 {( a8 |
OMG=oh my god
OIC=oh i see# ~, |/ K+ X* q! g2 K# q4 R, E, ^
OTOH=on the other hand
ORLY=oh really?* j) l- ]5 S. |, Q! T$ p2 _  R
PEM=privacy enhanced mail(保密邮件)
RSN=real soon now(马上)
TM=trust me" U1 G5 U& W$ `$ O& I
WB=welcome back( @& b7 X9 q- g8 M( M$ j5 A+ `6 b2 |
WTG=way to go
WYP=what's your problem?


FROM: http://www.xiaochuncnjp.com/thread-1203466-1-1.html

2010年8月16日星期一

Ruby语言里面block, Proc, lambda的区别

简而言之Proc就是可变的block,是可插入代码段。
而lambda是可变函数。

Proc与lambda有以下区别
1.lambda检查参数个数
2.Proc的返回值为函数返回值。return之后的代码不执行。

http://www.robertsosinski.com/2008/12/21/understanding-ruby-blocks-procs-and-lambdas/

2010年8月12日星期四

百度小说阅读背景文字变换

把下面的链接拖动到浏览器工具栏里,点击即可改变背景颜色,文字颜色与大小。

Change font and color

2010年8月3日星期二

PCのWIFIを通してIPHONEからインターネットアクセス方法

http://d.hatena.ne.jp/adonishi/20080912/1221232426


Windows-XPとiPhoneでのWifiルーター化
iPhone | 00:13

さてはて、先日(ちと遅い)夏休みとして、青春18きっぷで奈良へ行ってきました。もちろん鈍行乗り継ぎなので、片道9時間ぐらいかかります。半分ぐらい寝てましたが、後の半分はiPhoneに大量に入れていった、DVDなどから変換したビデオを見てました。おかげでぜんぜん飽きずに9時間(x2)が終わって楽勝でしたよ。

その時、一緒に持っていったラップトップ(Windows-XP SP3)で、iPhoneをWifiルーターとして上手く使う方法を確立したので、まとめて見ます。(今まで何度か試していたのだけれど、いまいち上手く行っていなかったのでした。結構めんどうくさいです。)

基本的な方針
WindowsからJailbreakしたiPhoneへWifi接続(adhoc)をした後に、PuttyのSOCKSフォーワーディング機能を使って、windowsからの接続をiPhone経由で3Gネット側へ確立できるようにする。

(しかし、そう簡単には行かないんだよなぁ、これが、、、)

必要なプログラム等
Putty - http://www.chiark.greenend.org.uk/~sgtatham/putty/
FreeCap - http://www.freecap.ru/eng/
そしてもちろんJailbreakしたiPhone
設定
Wifi接続の設定
まずWindowsとiPhoneをWifiで接続しますが、一対一での接続でいいのでadhoc接続をします。

ここでは、iPhoneのIPアドレスを10.0.0.1、Windows側を10.0.0.2とします。

まず「ネットワーク接続」開いて(「スタート」->「接続」->「すべての接続を表示」)、ワイヤレス・ネットワークの接続を探します。
そのプロパティを表示し「ワイヤレス ネットワーク」のタブを選びます。
一番下の「詳細設定」を押して、「アクセスするネットワーク」の中から「コンピューター相互(ad hoc)のネットワークのみ」を選びます。(後で戻しておくと良いでしょう。)
「詳細設定」を閉じて「プロパティ」に戻り、「優先ネットワーク」の「追加...」を選びます。
「SSID」を適当なものに(ここでは「adhoc」)設定、「キーは自動的に提供される」のチェックをはずす。
「ネットワークキー」とその入力確認が入れられるようになるので、適当なパスワードを(5文字、もしくは13文字)を両方へ入力
「OK」を押して「プロパティ」に戻り、また「全般」のタブに戻る。
「インターネット プロトコル(TCP/IP)」を選択し、「プロパティ」を押す
「次のIPアドレスを使う」を選択し、「IPアドレス」に「10.0.0.2」、「サブネットマスク」に「255.0.0.0」、「デフォールト ゲートウエイ」に「10.0.0.1」を入力
「OK」で「プロパティ」へ戻り、また「OK」で「プロパティ」を閉じる
これで設定は終了。接続してiPhone側の設定をします。

iPhone側で「設定」->「Wi-Fi」に「adhoc」が出ていたらそれに接続、無かったら「その他…」を開き、名前:「adhoc」、セキュリティ:「WEP」、パスワード:(さっきWindowsで設定したパスワード)を入力し「Join」します。
Windows側で、「ネットワーク接続」にある、ワイヤレス・ネットワークの接続をダブルクリックして「ワイヤレス・ネットワークの選択」を表示します。
登録した「adhoc」が見えるので、それを選択して「接続」を押します。
接続できたらiPhone側上で、この「adhoc」接続の設定を開き、IPアドレスの設定を「DHCP」から「静的」にします。
「IPアドレス」を「10.0.0.1」に、「サブネットマスク」を「255.0.0.0」にします。


これで、設定できました。

メモ:通常Windows同士でad hoc接続をする時には、IPアドレスはWindowsが擬似DHCPサーバーになってくれるので、お互いに相手先からIPアドレスが取れます。しかし、iPhoneはこれをしてくれないので、今回の場合iPhone側はIPアドレスが取れますが、Windows側はIPアドレスが取れません。なので、静的にIPアドレスを設定してやる必要があります。
こうすると、他のWiFiアクセスポイントに接続する場合などに、非常に不便なので、「ヴァルヘルIPコンフィグ」 - http://www.valsoft.jp/delphi/vipconfighp.html 等の設定スイッチ・ユーティリティを使用することをお勧めします。
SOCKSトンネルの作成
次にPuttyでiPhoneにアクセスしてSOCKSトンネルを作ります。

あまり知られていないのかもしれませんが、Putty(もしくはOpenSSH)には、SSHアクセスの他に、特定のポートのフォーワーディングや、SOCKSによるダイナミックなフォーワーディング(トンネリング)を作ることができます。今回はこの機能を使って、Windows上にSOCKSポート(localhost:1080)を作って、iPhone上までトンネルを作ります。

まずPuttyを立ち上げて、iPhone Wifiルーター用の設定を作ります。
「ホスト名(または IPアドレス)」に「10.0.0.1」を入れます。
「カテゴリ」から「接続」を選び、「keep aliveの間隔(秒、0でオフ)」を2秒程度に設定します。
「カテゴリ」から「接続」->「SSH」->「トンネル」を選びます。
「源ポート」に「1080」を、「送り先」に「localhost」、その下のラジオボタンを「ダイナミック」にします。
そこで「追加」ボタンを押します。(すると上のリストに「AD1080」と表示される)
また、最初の所へ戻るために、「カテゴリ」から「セッション」を選ぶ。
「保存されたセッション」の所へ適当な名前を付けて保存を押す。(「iPhoneAdhoc」など)
これでトンネル設定、終了です。

iPhoneにWifi接続後、Puttyでこの設定を読み込んで「開く」をすれば、SSH接続のウインドウが表示され、それと同時にSOCKSトンネルが確立されます。(閉じる時には、SSHのウインドウに「exit」と入れれば閉じます。)

メモ:この設定の途中で「keep aliveの間隔」を数秒に設定していますが、これをしないとWiFi接続がすぐに切れてしまいました。それの対策として設定しています。(ここがまた、はまった所だったのでした、、、)
SOCKS用のユーティリティFreeCap を設定する。
この状態でSOCKSトンネルが動いているので、一応、SOCKS対応のIEやFirefoxの設定でこれを指定してあげれば、接続できるのですが、DNSがSOCKSに対応していないため名前が引けないのと、毎回SOCKSの設定するのが面倒なので、ここは登録したアプリケーションのすべてのアクセスを強制的にSOCKS経由にするFreeCapと言うユーティリティを使うことにします。( http://www.freecap.ru/eng/ )

FreeCapを立ち上げて「File」メニューから「Settings」を選びます。
「Default Proxy」の「Server」に「localhost」を、「Port」に「1080」を入れて「OK」を押します。
「File」メニューから「New Application」を選びます。
アプリケーションの設定画面が出るので「Browse...」を押してSOCKS上で使うアプリケーションを選びます。
すると、必要な情報が入るので問題なさそうなら「Ok」を押します。
メイン画面に設定したアプリケーションが現れるので、それをダブルクリックするとSOCKS対応状態でアプリケーションが開きます。

ふう、大変長い設定でしたが、これで、iPhoneをWifiルーターとして使えるようになります。

2010年7月14日星期三

Oracle查询里面用正规表达式

Oracle10g开始支持正规表达式的查询了。

例子

SELECT statistic#, name, class
FROM v$statname
WHERE REGEXP_LIKE (name, '(pga|uga)');

2010年7月9日星期五

Linux画面解像度設定

我的显示器经常不能识别出来,很多时候都是800x600的解析度。
下面是1024x768时的设定,供参考

在Centos里面无需手写,用system-config-display来设置。

cat /etc/X11/xorg.conf
# Xorg configuration created by system-config-display

Section "ServerLayout"
Identifier "single head configuration"
Screen 0 "Screen0" 0 0
InputDevice "Keyboard0" "CoreKeyboard"
EndSection

Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
Option "XkbModel" "jp106"
Option "XkbLayout" "jp"
EndSection

Section "Monitor"

### Comment all HorizSync and VertSync values to use DDC:
Identifier "Monitor0"
ModelName "LCD Panel 1024x768"
### Comment all HorizSync and VertSync values to use DDC:
HorizSync 31.5 - 48.0
VertRefresh 56.0 - 65.0
Option "dpms"
EndSection

Section "Device"
Identifier "Videocard0"
Driver "savage"
EndSection

Section "Screen"
Identifier "Screen0"
Device "Videocard0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 24
EndSubSection
EndSection


另外用

gtf 1024 768 60

# 1024x768 @ 60.00 Hz (GTF) hsync: 47.70 kHz; pclk: 64.11 MHz
Modeline "1024x768_60.00" 64.11 1024 1080 1184 1344 768 769 772 795 -HSync +Vsync

可以得到modeline的值,有需要可把这行粘帖到Monitor区里面