Dec 28, 2010
这收获,太大了
大学3年, 一直在"推销" Linux (ubuntu, debian ...), Google, Firefox , 现在好像也没几个人用他们。
今天项目组就有2人开始尝试blogspot.com 了, 而,Ubuntu、Firefox是我们的指定工作平台和浏览器, 哈哈
Dec 25, 2010
setup subversion on Debian/Ubuntu
1. install software
$ sudo apt-get install subversion libapache2-svn
2.
$ sudo svnadmin create /home/svn
$ sudo chown -R www-data:www-data /home/svn
3. configure
$ sudo vim /etc/apache2/mods-enabled/dav_svn.conf
uncomment
DAV svn
SVNPath /home/svn
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd
4. create password file
$ sudo htpasswd2 -cm /etc/apache2/dav_svn.passwd
$ sudo htpasswd2 -m /etc/apache2/dav_svn.passwd
5. reload apache2
$ sudo /etc/init.d/apache2 reload
deploy GAppProxy 2.0 on GAE
现在只是每天使用,早就忘了,当年是这么把它传到 appspot.com的了。下面记下
0. Install Google App Engine SDK for Python
http://code.google.com/appengine/downloads.html#Google_App_Engine_SDK_for_Python
http://googleappengine.googlecode.com/files/google_appengine_1.4.0.zip
download and extract uncompress google_appengine_1.4.0.zip.
modify PATH variable in ~/.bashrc for GAE.
1. checkout GAppProxy
$ svn checkout http://gappproxy.googlecode.com/svn/trunk/ gappproxy
2.deploy GAppProxy
modify fetchserver/app.yaml, application:
$ cd gappproxy && appcfg.py update fetchserver
login appspot.com, My Applications->
3. edit localproxy/proxy.conf
listen_port, fetch_server
4. testing
$ localproxy/proxy.py
authenticate Debian/Ubuntu repositories: install public key
couldn't be verified because the public key is not available: NO_PUBKEY xxxxxxxxxxxx
$ gpg --keyserver subkeys.pgp.net --recv-keys 55BE302B
$ gpg -a --export 55BE302B | sudo apt-key add -
or
sudo apt-key adv --keyserver pgp.mit.edu --recv-keys 55BE302B
Dec 23, 2010
搭建项目组内部wiki
上周笔试题是边学边用txt2tags完成的,最近,项目组要写很多文档,为扩大做准备。首先想到的就是wiki了,其实,之前一直用trac做wiki的,但,trac有些不好的地方。
trac的不爽之处:
1. 啥都做, 喜欢 do one thing, and do it well.
2. 貌似用的自己的数据库,想只把wiki分离出来不太方便
3. 想把wiki页面转换成其他格式,不是很方便
自己用过一段时间的vimwiki, 总觉得太简单了,而且,那天项目组来个用emacs的就不好整了。
考虑到txt2tags one source multi target. 纯文本,语法也比较简单,容易上手,txt2tags.org 几乎所有页面都可以查看源文件。
最终,决定用txt2tags,用git管理 *.t2t,大家都可以随便修改wiki页面,当然,修改稍微麻烦了些,必须先通过git checkout下来,必须学习txt2tags markup语法,然后,一个字一个字的写,写好再push上去,我已经写好git hooks/post-update 根据修改文件在/var/www/wiki下生成相应的 .html。
虽然难了些,但,我们是开发组,大家应该多学习点知识,不管是编码还是写文档,争取都做得专业点,争取做公司技术实力最强的项目组。
一切都刚刚开始,好的愿望,希望坚持会有好的结果。
Nov 29, 2010
working in Ubuntu
明天过去继续安装、配置, 安装乱七八糟的软件,修改配置 总是很麻烦,但,能不用windows 这点麻烦算什么 :-)
chinaunix php code jam
今年十一快结束了,发现CU的PHP编程大赛,做了10几道题,又一个2等小奖。
今年CU mm 显然更加友好,我以为只有一件T恤,今天CU mm 打电话说还有本书呢, 赞
广告时间, 迎接ChinaUnix九周年庆技术实践之二----C/C++编程大赛!
Nov 25, 2010
fcitx en_US local
英文locale, 所以要修改下配置文件, /etc/gtk-2.0/gtk.immodules 或者 /usr/lib/gtk-2.0/2.10.0/immodule-files.d/libgtk2.0-0.immodules
找到 xim , 在适当的地方加上 en,如下:
"xim" "X Input Method" "gtk20" "/usr/share/locale" "en:ko:ja:th:zh"
$ im-switch -s fcitx
note: 也许需要 dpkg-reconfigure locales
重启下 X即可
Nov 18, 2010
Nov 4, 2010
first oss contribution
最近我的任务就是给开源社区fix bug,所以,用我的巨烂英语, 很不好意思的和国外developer交流着
patch 如下,下次争取fix c code
diff --git a/utils/alsa-compile.sh b/utils/alsa-compile.sh
index 4f72d10..1ae0c49 100755
--- a/utils/alsa-compile.sh
+++ b/utils/alsa-compile.sh
@@ -329,6 +329,16 @@ is_rpm_installed() {
fi
}
+# Echo "true" if deb installed, else "false"
+is_deb_installed() {
+ dpkg -l $1 2>&1 | grep -Eq '^ii'
+ if test "$?" = "0"; then
+ echo "true"
+ else
+ echo "false"
+ fi
+}
+
# Install package
# $1 is package name
install_package() {
@@ -340,6 +350,14 @@ install_package() {
Fedora|RHEL)
test "$pkg" == "lsb" && pkg="redhat-lsb"
;;
+ Debian|Ubuntu)
+ test "$pkg" == "lsb" && pkg="lsb-release"
+ test "$pkg" == "git" && pkg="git-core"
+ test "$pkg" == "alsa-lib-devel" && pkg="libasound2-dev"
+ test "$pkg" == "gettext-tools" && pkg="gettext-base"
+ test "$pkg" == "gettext-devel" && pkg="gettext"
+ test "$pkg" == "ncurses-devel" && pkg="ncurses-bin"
+ ;;
*)
echo >&2 "Cannot install $1 for unsupported distribution $distrib."
exit 1
@@ -352,6 +370,9 @@ install_package() {
Fedora|RHEL)
yum install -y $pkg
;;
+ Debian|Ubuntu)
+ apt-get install -y $pkg
+ ;;
*)
echo >&2 "Cannot install $pkg for unsupported distribution $distrib."
exit 1
@@ -400,6 +421,12 @@ check_kernel_source() {
install_package $kernel_devel
fi
;;
+ Debian|Ubuntu)
+ local kernel_devel="linux-source-$(uname --kernel-release | sed 's/-.*$//')"
+ if test $(is_deb_installed $kernel_devel) = "false" ; then
+ install_package $kernel_devel
+ fi
+ ;;
*)
echo >&2 "Cannot install kernel sources for unsupported distribution $distrib."
exit 1
Oct 25, 2010
Eclips/Android-sdk: Unable to connect to repository
使用android-sdk 的 $ android update sdk 时, 也有类似错误.
但是在Windows安装却没有问题,而且Linux下 curl 查看,可以连接到服务器的。
后来网上看到,应该是所有的Java app都会出现 “Unable to connect to”。
解决方法:
将/etc/sysctl.d/bindv6only.conf 中的 net.ipv6.bindv6only = 1 改为 net.ipv6.bindv6only = 0
$ sudo invoke-rc.d procps restart
Oct 23, 2010
Setup Android Develop Environment
Download Eclipse from http://www.eclipse.org/downloads/, Eclipse IDE for Java Developers.
tar xvf eclipse-java-galileo-linux-gtk.tar.gz
1. Install ADT
Error message: org.eclipse.wst.sse.core 0.0.0' but it could not be found
# install ADT for developing Android
Start Eclipse, Help -> Install New Software,
Add site:
Google Android Tools - https://dl-ssl.google.com/android/eclipse/
Eclipse GEF - http://download.eclipse.org/tools/gef/updates/releases/
Eclipse EMF - http://download.eclipse.org/modeling/emf/updates/releases/
Eclipse GMF - http://download.eclipse.org/modeling/gmf/updates/releases
Eclipse Webtools - http://download.eclipse.org/webtools/updates/
Google eclipse Plugin - http://dl.google.com/eclipse/plugin/3.5
Choose "Google Android Tools", then select "Developer Tools" and install it.
2. Install Android SDK
download android-sdk_r07-linux_x86.tgz
$ tar xvf android-sdk_r07-linux_x86.tgz
$ cd android-sdk-linux_x86
$ tools/android update sdk
modify ~/.bashrc, add android-sdk-linux_x86/tools to PATH environ variable.
3. Create Android target
$ tools/android create avd --target "android-8" --name "android-8"
$ tools/android create avd --target "android-7" --name "android-7"
4. Setup Eclipse
Eclipse, Window -> Preferences -> Android, SDK Location, locate to your android sdk directory.
Android通过JNI调用native code
1. 创建Java类,这个类的作用是描述native code中的函数, 比如DemoLib
2. 生成native code头文件, javah -jni ...
3. 实现native code
4. 编写jni/Android.mk
5. 编译native code, 生成动态库
6. 在Java程序中调用native code
7. 测试
0. 先通过 Eclipse 创建一个Android Project
Project name: LibDemoTest
Build Target: Android 2.2
Package name: org.ox0spy.libdemotest
Create Activity: LibDemoTest
1. 在src中添加一个新类 - DemoLib
Package: org.ox0spy.libdemotest
Name: DemoLib
DemoLib.java 内容如下:
package org.ox0spy.libdemotest;
public class DemoLib {
static {
System.loadLibrary("demo");
}
public native int multiply(int a, int b);
public native String greet();
}
注意: 编辑完了一定保存下.
2. 生成native code的头文件
$ cd ~/workspace/LibDemoTest/bin
$ javah -jni org.ox0spy.libdemotest.DemoLib
$ mkdir ../jni
$ mv org_ox0spy_libdemotest_DemoLib.h ../jni/
3. 实现native code, demo.c 内容如下:
#include "org_ox0spy_libdemotest_DemoLib.h"
JNIEXPORT jint JNICALL Java_org_ox0spy_libdemotest_DemoLib_multiply
(JNIEnv * env, jobject obj, jint a, jint b)
{
return a*b;
}
JNIEXPORT jstring JNICALL Java_org_ox0spy_libdemotest_DemoLib_greet
(JNIEnv * env, jobject obj)
{
return (*env)->NewStringUTF(env, "Hello Android!");
}
4. 编写jni/Android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := demo.c
LOCAL_MODULE := demo
include $(BUILD_SHARED_LIBRARY)
5. 编译native code
$ cd ~/workspace/LibDemoTest
$ ndk-build # 先将android-ndk-r4b加入你的PATH中
6. Java程序中调用native code, 我在LibDemoTest.java中用到了native code
LibDemoTest内容如下:
package org.ox0spy.libdemotest;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class LibDemoTest extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
DemoLib demoLib = new DemoLib();
int result = demoLib.multiply(100, 100);
String str = demoLib.greet();
TextView tv = new TextView(this);
tv.setText(str + "\n" + Integer.toString(result));
setContentView(tv);
}
}
7. 测试, Eclipse, Run -> Run
我碰到的错误:
No implementation found for native
碰到这个错误时,我是用System.load("demo")加载动态库的,而且从logcat的输出发现libdemo.so已经成功加载了。
我是因为一开始没有用javah -jni 生成头文件,自己写的native code函数声明是:
jint multiply(jint a, jint b);
所以, 只要用javah -jni 生成头文件应该就不会碰到这个问题了.
Oct 16, 2010
Ubuntu 升级到 10.10, 解决Firefox无法播放flash
想想,这是我用Linux这么多年来,第一次升级系统, 每次我都觉得升级太麻烦, 要等好长时间,所以,直接下载iso,重新安装;昨天睡觉前开始升级,早上起来就好了,整体感觉很好。
10.04 desktop 升级到 10.10
Alt + F2, 输入 update-manager -d , 下面根据提示操作就对了。
目前唯一的问题是 Firefox 看不了 flash, 从 Firefox -> Tools -> Add-ons 看到播放flash用的是 gnash 而不是 adobe-flash,虽然 dpkg -l | grep adobe-flash , 可以看到 adobe-flashplugin已经安装了,但 firefox add-ons 上看不到, 我认为是这两个冲突导致的。
卸载 gnash
$ sudo apt-get purge gnash
$ sudo apt-get purge gnash-common
重新安装 adobe-flash,问题解决.
$ sudo apt-get install --reinstall adobe-flashplugin
Oct 14, 2010
public access git on ubuntu/debian
gitosis搭建: setting up gitosis on ubuntudebian
gitweb搭建: setting up gitweb on ubuntudebian
gitosis权限: gitosis权限
现在,有个项目,自己项目组的人肯定要有commit权限,但其他人也要有readonly权限,虽然,可以在gitosis-admin 中添加readonly组,但,我们不可能找每个人要ssh public key吧
这时候, 可以用 git-daemon
$ sudo apt-get install git-daemon-run
修改 /etc/sv/git-daemon/run , 把git repo的路径设置正确就行
$ cat /etc/sv/git-daemon/run
#!/bin/sh
exec 2>&1
echo 'git-daemon starting.'
exec chpst -ugitdaemon \
/usr/lib/git-core/git-daemon --verbose --base-path=/srv/gitosis/repositories
把要让匿名访问的git repository目录下放一个名为 git-daemon-export-ok 的空文件.
$ sudo sv restart git-daemon
$ git clone git://mypc/Your-test.git
Oct 10, 2010
gitosis权限设置
下面看下gitosis权限设置
gitosis有组(group)和成员(members), 权限就是对repository的访问限制.
有两个关键字修饰 repository ,一个是 writable, 一个是 readonly.
writable 意思是,对这个repository 有写权限
readonly 是, 对这个repository 只有读权限
最常见的例子:
[group gitosis-admin]
writable = gitosis-admin # 注意,后面不要加 .git
members = ox0spy@lucid
这三句话是啥意思呢?
第1句,定义一个组, 名字为 gitosis-admin
第2句, writable = 后面跟的是仓库名, 只是这个仓库名是去掉.git的,所以, 我们在 git clone 时,要自己加上 .git,如下:
$ git clone gitosis@localhost:gitosis-admin.git # 注意最后的 .git
writable 后面可以跟很多个仓库名, 他们以whitespace分开, 一般以空格分隔,如下:
writable = gitosis-admin android mytest
第3句, members 说明这个组的成员, 成员名是 username@hostname , @hostname 不能去,否则会报错.
成员之间也通过 whitespace 分隔,通常用空格分隔.
可以发现,成员属于某个组, 而对repository的访问权限是通过组控制的.
这样的话,如果同一个repository,想让某些用户只能读,不能写,就必须新建一个组, 下面就看下怎么实现这个功能.
[group test] # 该组用户可写
members = ox0spy@lucid lfs@debian
writable = mytest
[group test_ro] # 该组用户只读
members = toor@ubuntu
readonly = mytest # 只读,这里是readonly 而不是 readable
这样,toor@ubuntu 就只能对 gitosis@Your-server:mytest.git 进行读
members 可以包含其他组的所有成员
[group member_test]
writable = memberTest
readonly = mytest
members = ox0spy@lucid @test
# 这里的 @test 就是上面 test组的所有成员 (ox0spy@lucid lfs@debian)
最后,要说的是, 一个组可以只有 members, 没有 writable 和 readonly,如下:
[group another_group]
members = monkey@abc cow@gentoo
这个组只是为了被其他组包含而定义.
setting up gitweb on ubuntu/debian
$ sudo apt-get install gitweb
2. 设置
修改 /etc/gitweb.conf
# projectroot 设置成你自己的仓库路径, 这是gitosis默认路径
$projectroot = "/srv/gitosis/repositories/";
view /etc/apache2/conf.d/gitweb # 一般不用修改
$ cp -r /usr/share/gitweb /var/www
3. 测试
$ curl localhost/gitweb/
Oct 8, 2010
setting up gitosis on ubuntu/debian
# run on server
$ sudo apt-get install git-core gitosis
2. generate ssh key
# run on your pc
$ ssh-keygen -t rsa
3. upload the ssh public key
# run on your pc
$ scp ~/.ssh/id_rsa.pub USER@YOUR_SERVER:/tmp
4. create admin repository
# run on server
$ sudo -H -u gitosis gitosis-init < /tmp/id_rsa.pub # monkey's ssh public key
$ sudo chmod 755 /srv/gitosis/repositories/gitosis-admin.git/hooks/post-update
5. checkout gitosis-admin
# run on your pc
$ git clone gitosis@YOUR_SERvER:gitosis-admin.git
6. grante right for members
# run on your pc, add new group - android
[group android] # team name
writable = 0xdroid-0x5 0xdroid-0x4 # project name
members = monkey@debian cow@ubuntu # members
# add cow's ssh public key
$ git add keydir/cow@ubuntu.pub gitosis.conf
# grante cow commit right to android
$ git commit -m "Granted cow commit right to android"
$ git push # now, cow has the commit right.
7. create new repositories
There are two ways to commit your code:
a. checkin your codes from zero
# create new repositories - 0xdroid-0x5.git
$ cd YOUR-CODE-DIR
$ mkdir 0xdroid-0x5.git && cd 0xdroid-0x5.git
$ git init
# modify .gitignore
$ git remote add origin gitosis@YOUR_SERVER:0xdroid-0x5.git
$ git add .
$ git commit -m "initial import"
$ git push origin master:refs/heads/master
b. checkin your codes from old git repo
$ cd YOUR-OlD-GiT-REPO
$ git remote -v
$ git pull # update
$ git remote rm origin
$ git remote add origin gitosis@YOUR_SERVER:0xdroid-0x5.git
$ git push origin master:refs/heads/master
8. checkout codes
$ git clone gitosis@YOUR_SERVER:0xdroid-0x5.git
Oct 7, 2010
Sep 29, 2010
Jul 24, 2010
Jul 23, 2010
据说我有做山寨机牛人的潜力
中午项目组同事吃饭, 一原moto老兄又开始给大家科普下山寨手机,后来讲到,他一朋友,专做山寨手机,Linux很厉害的,年薪 40w$,深圳一山寨厂的技术头。
后来讲到,我有这种潜力,多谢这么看好我 :-)
记录下,看看n年后我在干嘛
Jul 16, 2010
在这边快2个月了
从来没有这么认真的学习、工作过,每天早早起床上班, 中午吃饭都在讨论技术问题,下午自愿加班继续没完成的工作...
项目的管理模式也发生了很大的变化,不像以前的传统项目管理模式,总是PM分工大家做。现在,大家讨论要完成那些feather, 然后,每个人自己选择喜欢的task。当然,这种Alige的管理模式要想run的好,项目组必须有一个好的氛围,大家都很自觉才行。一旦scrum运行的好, 工作的确是件快乐的事情
这种模式也可以让每个人最大限度的发挥出自己的水平/潜力,任务是自己选择的,加班也是自愿的,哈哈
在这边工作快2个月了,收获还是蛮大的,上次也被manager沟通了下,竟然说我support做的不够积极,应该更加主动些, 汗 ...
然后,把环境搭建、wiki管理、版本控制、自动编译、自动测试都让我做, 还要更加积极的support其他人, 更要命的是要完成的任务还不能比别人少
我还有最头疼的英语要补,每次写email、文档都要浪费很多时间(必须英文), 还好 communicator上可以写中文,不然真的疯了。
ps: 昨天门禁卡出问题了,没法输密码,今天老外问我咋回事,费了好大的劲,写了句很烂的英语,才让他明白,不知有没有被鄙视
努力 ...
Jul 3, 2010
May 5, 2010
惆怅
放假第一天晚上,成了多余的,只能在马路上溜达,还好ys陪聊,聊得后来也开始
不爽了,然后坐着末班车回去 ...
第二天, 去同事那边吃饭,感觉男方男人好累,做饭、扫地 (北方现在也这样?
)。天气超热, 回来时拿了2箱雪糕、火炬、冰淇淋
第三天, 高中同学小聚下,1对 + 1对 + 我 :-( ,幻想下Yang的美好五一 :-D
然后,昨天一个电话、今天一个电话,让我又开始幻想新的工作了,只是一个口头
offer;
但,我还是很厚道的告诉了项目经理及老总我的想法,老总给我讲了很多,sign
现在只好再等待几天看吧,也许开始新的工作,也许继续现在的工作,也许开始疯
狂找工作 ....
kao, 做个厚道的人容易嘛
Apr 14, 2010
Mar 18, 2010
Mar 16, 2010
一年了
去年6月份才知道tuxedo,明天就要给新同事做tuxedo的培训。写了一下午+一晚上
ppt,明天早上还得再准备下。
其实,他们用到的很少,如果不写tuxedo服务的话,他们只需要知道tmboot,
tmshutdown这两个命令就可以了,
而我在.profile中已经加了一条alias, alias tmreboot='tmshutdown -w 2 -y;
tmboot -y',所以,他们只需要tmreboot就搞定了。
但是,要讲上45分钟呢,就不得不找些其他东西讲,但这么点时间有不可能讲太
多,太深的我也不会啊 :-P
嗯,马上要做的项目应该挺锻炼人的,我们做C的人不多,主要分实时交易+批量交
易,打算让我负责实时交易线[目前一共3个人 :-)],
批量现在也是3个人,再加个项目经理,我们项目组就7个人 ....
Mar 10, 2010
被win7折腾了两天
而且装了很多联想的东西,机器简直比牛慢太多,无奈之下,优化,把一个大分区变成
n个小分区,就在感觉用起来可以忍受时,系统提醒我要重启下,结果噩梦就开始了
重启后就出现了windows最经典的画面---蓝屏,然后联想的修复工具主动提出
可以用它
修复,结果失败了。。
面对陌生的win7,我使劲找boot.ini 等系统文件,后来才知道win7的启动方式
和以前不一样了
少有的下班拿着电脑回来折腾,学习了下win7不同版本的差别,找win7旗舰
版,下载ubuntu 9.10,
就在昨天凌晨2点多,看着win7还得下载好久,就先删除所有分区,重新分区,安
装了ubuntu。然后,
拷资料,刻win7盘,实在累的不行了,就把ubuntu装起来,然ubuntu继续工作,我
睡觉了
早上7点多起来继续折腾,白天又装了大半天win7及驱动、常用软件、做ghost
备份,装系统真是重体力活。
win7旗舰版还是挺好用、挺漂亮的,速度也可以,就是一些安全提示很烦
联想自动识别笔记本型号,然后给你安装相应驱动,这个挺好的,不用一个一个找
驱动了
装好系统、驱动、常用软件后,一定做ghost备份,省得下次再麻烦
睡觉去 .
Mar 7, 2010
一副对子 [zz]
from: http://pengzhang444.blog.163.com/blog/static/1345276201012492258476/
鸟在笼中,恨关羽不能张飞;
人处世上,要八戒更需悟空。
Mar 6, 2010
中国人的方式
中国人的方式
夜叉
上传:sun.y.q
最近我才知道很多人,对我不爽对我有很多成见.
因为他们说我太刁,没有拍着他们,没有给足他们面子.
这就是他们对人的方式,
拉帮结派保护自己的方式.
我觉得着真他妈的可悲,
我觉得着真他妈的可笑.
你们总是在标榜自己,
以为思想已升华已无可挑剔,
装模做样甚至人模狗样,
站着茅坑不拉屎
还怕有人来攻击你.
我觉得你真他妈够缺的,
看着牛B烘烘其实根本不自信.
我觉得你真他妈的老了,
借用痛仰说的话老棒子们该下课了.
* 我没拍着你,没有给足你面子.
* 你就对我不爽,这是中国人的方式.
人无完人,金无足赤,这个道理,我和大家一样,
也会觉得没有疑义, 但着不是理由,
因为通过这件事,我已不知从哪儿,
有了太多的怀疑.
因为这点小的陋习,都没有解决,
我怎么相信你,
你们这些艺上层建筑的建设者,
有伟大的人格,有伟大的人格.
* 我不会拍着你,不会给足你面子,
* 但愿我没伤害你,这是我的方式.
Mar 1, 2010
Feb 28, 2010
招行网银真烂
能再申请了,只有U Key,号陈免驱动
先是考虑到底装windows xp 还是 2k3 or win7,反正手上都没盘,更没 .iso
win7的m2.win死活没下下来,好不容易找到一个貌似靠谱的xp,然后下载
vmware 7 for linux
早上起来开始安装,直到吃完午饭1点多回来发现才装完,然后更新系统补丁,
装下载工具、firefox(及插件)、输入法、im工具,
每个工具都要去官方下载然后狂点下一步,装完后还被装了一堆根本没给你选择是
否安装的垃圾插件,,再一个一个卸载,md,
想想apt-get install xxx 一步搞定。。,没办法,一切都是为了能用下网银
网银的客户端也是很难用的。。。
一个周末折腾这po东西了,只是下记录下,看看多少年后招行的网银使用起来
能真的方便
ps: 我觉得工行的网银还可以
Jan 16, 2010
听了场讲座
用了我三个小时,感觉不如 Google 30分钟,看 2 个小时,然后休息半个小时效果好
据说
1. 30年左右还会发生一个 0x200
2. 曾经西北自然环境很好 (3000年前吧),
3. 印度板块向亚洲板块俯冲,所以现在珠穆朗玛峰还在继续增高,如果能打通珠
穆朗玛峰会对大西北有好处的(环境会变好),如果能削平珠穆朗玛峰,哈哈,那简
直太有利了。。
第一条也是由于这个版块漂移造成的,而且印度板块还在向这边漂。。。
4. 大约1万年前,第四纪最后一次冰期(Wurm冰期)结束以来的全新期,总之马上又
2500 年了,所以又该发生点什么了。。。
debian lenny 安装显卡驱动
ox0spy@debian:/code$ sudo lshw
*-display UNCLAIMED
description: VGA compatible controller
product: Quadro NVS 140M
vendor: nVidia Corporation
physical id: 0
bus info: pci@0000:01:00.0
version: a1
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress vga_controller
bus_master cap_list
configuration: latency=0
看到 product: Quadro NVS 140M ; vendor: nVidia Corporation
2. 下载显卡驱动
到 http://www.nvidia.com/object/unix.html 找最新的显卡驱动,然后看看
REDEME 中是否支持自己的显卡
发现: 190.53 支持 Quadro NVS 140M
ox0spy@debian:/code$ wget
http://us.download.nvidia.com/XFree86/Linux-x86/190.53/NVIDIA-Linux-x86-190.53-pkg1.run
3. 安装需要的包 (由于系统已经安装过,所以确定下就行)
ox0spy@debian:/code$ dpkg -l linux-headers-$(uname -r) build-essential gcc
ii build-essential 11.4 Informational list of
build-essential packages
ii gcc 4:4.3.2-2 The GNU C compiler
ii linux-headers-2.6.26-2 2.6.26-21 Header files for Linux
2.6.26-2-686
都已经安装好了
4. 安装驱动
ox0spy@debian:/code$ sudo sh ./NVIDIA-Linux-x86-190.53-pkg1.run
提示必须到字符界面安装,并且要关闭所有X程序
ox0spy@debian:/code$ sudo /etc/init.d/gmd stop
进入字符界面,重新开始安装
ox0spy@debian:/code$ sudo sh ./NVIDIA-Linux-x86-190.53-pkg1.run
提示需要 gcc-4.1 而我的是 gcc-4.1,忽略继续安装就行,最后会提示xorg.conf
已经更新并且安装成功
5. 确定驱动安装成功 (lspci 会显示硬件及其驱动信息)
ox0spy@debian:/code$ lspci | grep -i vga
01:00.0 VGA compatible controller: nVidia Corporation Quadro NVS 140M
(rev a1)
哈哈,看MTV爽多了。。。
Jan 10, 2010
linux 彩蛋
Alt-F2 输入 free the fish
Alt-F2 输入 gegls from outspace
哈哈,挺好玩的..
更多的彩蛋: http://www.eeggs.com
Jan 4, 2010
回顾 && 展望
从2008 年开始做计划, 什么计划也全不记得了,应该完成的也不太好,2008本
来就是想玩玩的.
2009年的计划,完成的还可以,除了一个0%, 一个20%,其他完成的都还可以,
最大的问题是计划安排的不好。
2009大事记:
2.14 到bj, 待了2周
3.3 来到 xx
3.17 开始在 nt 工作,给sc省xx做项目.
6.19 从 nt 离职
6.22 开始在git工作,在cd市xx待了一个月,然后从7.28一直在xx
9.22 转正
12.31 用了3年的E2离我而去 ...
之前写过一篇,http://ox0spy.blogspot.com/2009/11/blog-post_25.html
现在看来重点还是没把握住,故,现在再简单的列下今年应该做的事情:
1. 学习英语 (搞定那本词汇书,再至少看一本专门讲英语的书籍) 12个月(每
天看点)
2. pro*c, oracle 管理、开发 (熟练掌握pro*c的开发、调试; 掌握基本
oracle管理) 2个月
3. dbx, gdb (看debug a programming with dbx并掌握dbx的使用; 至少看一
本gdb的书籍) 1个月
4. c, linux system programming, unix system programming (看完手头
c的书籍, the c programming 应该再看一遍; lsp, apue, upe, aup, alp看一遍)
3个月
5. 安全编程 (如何安全编程、如何exploit有bug的程序) (Secure
Programming、shellcode handbook) 1个月
6. c socket programming (tcp/ip 3卷, unp 2卷) 3个月
7. tuxedo 服务开发 (如果有这方面的项目就好好学习下) 2周
8. 把手头的算法书看完 1个月
9. debian、 aix系统管理 (看官方doc就可以了) 平时没事时看看
10. python 能把自己常用的掌握就行 (CLI下够用就可以了) 2周
11. 把blog从blogspot迁到appspot上
12. 丰富下个人生活
把以前计划中的web扔掉。没办法暂时只能这样,先把工作内容搞精,提高下收
入再说...
看起来时间很紧啊,争取都能做好,让这个10年能有个好的开端!