2006/12/31

网络恢复

庆祝一下,今天基本上网络访问都正常了,这次地震的影响满严重的,不知道为什么海底光缆没有备份措施,MSP,SNCP :)


2006/12/28

调整ubuntu的启动服务

这方面Ubuntu和Debian是完全相同的,引导时有init进程读取/etc/inittab配置文件,inittab决定启动模式(mode),各种不同模式x使用不同目录/etc/rcx.d/下的启动脚本来控制启动时所需要启动那些服务,因此很容易就可以把系统配置成多个不同功能的模式,比如2模式为控制台,5模式为GUI模式等。

而启动模式不一定需要修改inittab文件,那样太麻烦了,可以在内核启动的时候作为参数传递给Linux,而不同的内核参数可以作为不同的启动菜单项做在GRUB的配置文件中(/boot/grub/menu.lst),这样就方便了。

如果平时都使用GUI的图形界面,通常2~5模式都是相同的,要想配置一个不同的模式出来,可以手动去修改/etc/rcx.d(x指模式)目录下的文件,不过刚发现的一个更好的方法是安装sysv-rc-conf,这是一个基于perl的命令行工具,可以方便的启用/禁止某个模式下的某个服务。

2006/12/27

控制Ubuntu的多语言

Linux系统的开放在多语言方面体现的非常明显,Ubuntu下关于语言(locale)的设置可以得到很多不同的组合效果,胜过Windows。

Linux下应用程序的多语言能力是动态的,也就是说同一个应用程序的同一个版本,就可以支持多种语言,Windows也可以做到这一点,但Windows做到这一点是依赖于应用程序,而Linux是整个系统的统一行为。Linux下语言或者说locale的切换取决于环境变量,最重要的几个变量是: LANG,LANGUAGE,LC_xxxx等,其中LC_xxx是一组变量,控制本地化的方方面面,比如LC_TIME控制时间格式,LC_CTYPE控制字符集,而为了方便,设置了LANG变量,当LC_xxx没有设置时,就自动参考LANG,另外设置了LC_ALL变量,替代所有LC_xxx变量,所以这些变量之间是有优先级的: LC_ALL > LC_xxx > LANG,而LANGUAGE是一个独立的变量,有些应用需要使用它决定用户界面语言。所以像这样设置
LANGUAGE=en_US
LANG=en_US.UTF-8
LC_CTYPE=zh_CN.UTF-8
就可以得到英文的系统,但仍然可以使用SCIM输入中文,重点在于LC_CTYPE,因为LANG已经设置到英文(相当于所有的LC_xxx设置到了英文),如果不设置字符集(LC_CTYPE),就不能调出中文输入法。而同时LANG的值也一定要指明UTF-8,很多软件依赖这个来决定当前编码,比如Gnome的终端。

2006/12/24

游戏Ubuntu

在Linux下很少有好玩的游戏,不过使用dosbox这个模拟器却可以玩很多dos下的游戏,现在dos下的很多游戏都已经free了,所以从网上下载已经没有版权的限制了,这个网站http://www.abandonia.com可以下载到非常多的dos游戏。

很多游戏已经不能在现代的windows下玩了,却可以很好的运行在dosbox这个模拟器下,这个模拟器是跨平台的, 在Ubuntu的源里面可以找到0.63 版本的dosbox,而官方可以下载到0.65版本的dosbox,0.65版本要稳定一些,支持的游戏也更多一些。

莲花大赛车,波斯王子,这些大学时代令我废寝忘食的游戏现在可以在Linux下再次玩起,相当的不错。

2006/12/22

du小结

du命令可以统计目录和文件大小,我经常用,常常为了看我哪些目录占用了过大的空间,缺省的du命令会递归到目录下的每个子目录,并显示出来,我不喜欢这样的显示结果(太乱),我一般只看当前目录下的第一层子目录,看清楚了后再决定到哪些子目录下去看
。所以我使用du的方式是
du --max-depth=1
du的统计结果是以k为单位,我也不太喜欢,我要加上-m表示以M为单位,这样会更清楚一些,所以就会变成
du --max-depth=1 -m
有时,目录较多时,我会通过sort命令来排一下顺序,把大目录放在后面显示,这样比较清楚,于是需要借助管道
du --max-depth=1 -m | sort -n
一定要在sort后加-n,否则就是按字符排序,而不是按数字大小排序了。


2006/12/19

firefox内存

ubuntu下发现firefox内存占用非常大,摸索一番,发现"罪魁祸首"是Flash,找了一个可以方便disable/enable Flash的插件Preferences Toolbar,做了一个测试,打开新浪网新闻页面,如果开Flash,Firefox内存占用在250M左右,而禁止Flash后,这个数字降低到40M左右,差别显著啊。


2006/12/18

Opera 居然 支持bittorrent

今天无意中发现的,使用Opera 9下载一个torrent文件,居然在Opera中就直接开始下载目标文件了。刚开始感觉Opera很强,不过转来一想,这不一定是非常好的事情,毕竟torrent是和http是完全不同的协议,如果Opera花费过多的精力在这些"辅助"功能上,而浏览器本身没有做好,那又有什么用呢?

2006/12/15

Ubuntu 彩蛋

apt-get是debian的旗帜型软件,强大又灵活,相信他的开发人员也一样是这么认为的

输入 apt-get -h,我看到了结尾处给出了 "This APT has Super Cow Powers."
我的英文不好,所以我在我的Ubuntu中文环境上试了一下,被翻译成了 "本 APT 有着超级牛力。" 多么直白!

超级牛是什么样子? 运行apt-get moo,我就看到了这只超级的牛,加上一句 "Have you mooed today?"

开发者似乎也没有放过aptitude(apt-get的前端), 依次运行
aptitude -vv moo
aptitude -vvv moo
aptitude -vvvv moo
aptitude -vvvvv moo
aptitude -vvvvvv moo
aptitude -vvvvvvv moo

我笑翻了 :)

可爱的Linux,可爱的Debian,可爱的Ubuntu。。。

2006/12/12

mail to blog失效了?

测试一下

2006/12/11

统计执行命令的次数

看到一个有趣的命令:
history|awk '{print $2}'|awk 'BEGIN {FS="|"} {print $1}'|sort -rn|uniq -c|sort -rn|head -10
看到你执行的bash命令的次数,我的结果是:
    195 ls
    152 cd
     29 sudo
     18 vi
     12 rm
     12 mv
     11 tar
      6 ./sp-sc
      4 soapcast
      4 grep
典型的伪程序员,连make都没有 :)

2006/12/08

Firefox自动退出

莫名奇妙,我的ubuntu下的firefox就坏掉了,打开很多网页自动退出,前几天都还好好的,好像我只是做了一次apt-get update/apt-get upgrade,firefox坏了后,我发现PC几乎就没有什么用了,现在浏览器还是真的是不可缺少,三番五次折腾,终于发现卸载flash插件就好了,至于原因我也没有搞清楚(有一说是flash和scim冲突)。

又想到flash插件应该不是一个open source的软件,否则应该有人会打上补丁,就不会有这样的事情发生了...


2006/11/30

ubuntu下的在线游戏

http://ftp.fedora.cn/,这个非常类似于联众,叫做"蓝迪",不过在Ubuntu/Mac/Windows下都可以玩,我玩了一会斗地主,相当不错,就是人气比较差一些,为了凑齐一桌通常要等好一会,在游戏大厅可以看到每个人的操作系统类型,呵呵,绝大部分都是mac,linux和windows是少数的异类,为什么mac比linux还多啊?

比较sopcast和ppstream

刚刚看火箭直播,比较了sopcast和ppstream,发现一个很奇怪的现象,在用sopcast时,同时上网也是非常流畅,而用ppstream时,上网就变的很慢了,很多网页都打不开了。当然sopcast是在Ubutntu下用的,ppstream是在Windows下,所以也有可能是Linux和Windows的网络性能差异导致的,继续关注。

2006/11/29

sopcast

今天尝试了sopcast,houhou,还不错。在http://www.sopcast.org/download/下载linux命令行版本sp-sc.tgz,解压缩以后,就有一个sp-sc的可执行文件,这一个文件就ok了,再到http://www.sopcast.org/channel/ 找需要的频道,比如上海体育,鼠标停一下可以看到一个链接,sop://211.152.34.35:3912/6001,这个就是提供给sp-sc的参数了,把这个地址记下到命令行下面,执行:
sp-sc sop://211.152.34.35:3912/6001 8900 8800
就会看到命令行里一堆的输出信息,不用理它,稍等几秒钟,再用mplayer去打开
http://127.0.0.1/8800 这个URL,就可以看了。

看起来有点复杂,不过这样就可以不用切换到windows去用ppstream了。
其实那些参数只有一个是变的,就是那个6001,是频道的channel no,在sopcast网站上都列出了,所以还是蛮简单的。

2006/11/28

修复xp网络

家里的一台xp sp2的PC不能上网,拨号倒是成功,连ping也是通的
,就是看不了网页,ftp也不行,提示socket error,怀疑是TCP/IP出了问题,上网查找一番,发现 微软的网页倒是给出了一个模糊的解决方案,似乎可以通过命令行的netsh工具重新设置TCP/IP,小心的尝试了一下,重启,居然搞定了!

不过这个文档实在是不怎么样,看的晕晕乎乎,对于这个netsh命令,给出的说明是:
"对于运行 Windows XP SP2 的计算机,可以使用新的 netsh 命令来重建 Winsock 项。",这是啥子意思嘛?

2006/11/23

网络电视

一直喜欢看火箭的比赛,不过今年央视很奇怪,居然火箭比赛转的很少(也许是去年转的太多了,火箭又输的多,被人痛骂),无奈只能寄希望于网络,发现ppstream还不错,里面有个台湾的纬来体育台,基本上火箭的比赛都转,呵呵,非常对我的胃口啊,体育真的魅力很大,台湾的解说员也对YM推崇倍至。

Ubuntu下倒不知道有什么软件可以做这种事情,sopcast行吗,我还没有试过...
(没有电视直播看的时候,espn的文字直播还是不错的,比新浪的强多了)

2006/11/22

blogger 又可以访问了

不知道是GFW的偶然失误还是大发慈悲,blogger又可以访问了,不过我十分肯定的相信这一次也一定挺不了多久,所以抓住这难得的间隙发帖庆贺一下。

2006/10/08

KDE和中文输入

我使用很少的KDE程序,但有些KDE程序确实做的比对应的gnome程序要好,比如Quanta, Kate,但是问题在于,Ubuntu里缺省如果安装KDE程序的话,不能输入中文,我试了很多方法,都没有搞定,后来居然在一个介绍Ubuntu下日文输入的网站上发现,其实很简单,再安装一个组件scim-qtimm 就搞定了,真是踏破铁鞋无觅处得来全不费工夫。

2006/10/07

Google Checkout

看到这个服务,我忍不住去注册,可惜暂时还不支持中国用户,不知道过一段时间会不会支持。很早以前就有Paypal帐号,不过嫌用起来太麻烦,一直都没有真正用过,相信google做的话,应该会好用一些,而且一定可以和Adsence结合(呵呵,这个比较不错),虽然可能不会有Paypal那么多功能,但相信一般人都不会用到太多花哨的功能。快点在支持列表中加上China吧...

2006/09/25

Killer APP

看某人的blog(此人使用mac),说ubuntu不错,但缺少killer app,我心有同感,我希望能够有下面这些程序的Linux版本:
* photoshop/painter GIMP用起来还是感觉不太习惯
* cooledit 刚开始用audacity,希望能和cooledit一样好用
* visual studio 唉,习惯这个了,不知道ubuntu下面用啥软件代替这个
* IE 有些网站没办法,只能用IE,为了这个切换到Windows好像很不值,但又没什么方法。
不过Linux/Ubuntu已经有些软件有点Killer的样子了,所以才用那么多人不再留恋Windows,我最喜欢的是:
* apt-get
* LAMP
* bash

(怎么随便写个东西,都在用wiki格式 :))

easyubuntu

ubuntu下有一些设置还是有些麻烦的,比如一些解码器的安装,字体的调整等,有人专门把这些麻烦的事情脚本化,并提供了图形界面,叫做easyubuntu,老少咸宜,童叟无欺啊。

不过安装后,可能要先 export DESKTOP_SESSION="gnome" 再运行它 :)

2006/09/22

怎么能这样呢

被错误的判定为垃圾blog了,。。。。真是比窦娥还冤啊,不知道什么时候才能解除,现在每次gmail过来的帖子都要再用验证码验证才能发,好考验眼力啊,google大人,快点给我验证一下啊。

photo to blog流程

这个是刚刚研究出来的,为了Gmail to Blog更加完美,我做了数次实验,发送照片到blogger,不过统统失败,原因在于Gmail不支持内嵌HTML,因此也就不能把<a href=xxx>这样的语句发送到blogger上,而照片必须要这样的HTML才能在blogger上显示,flickr更是直接给出了一段HTML代码,这下可小有麻烦了,一番google之后,有强人给出解决方案,将网上照片拖放到gmail的写邮件的窗口即可,我小试一下,后后,果然搞定,强啊,

现在的流程是: photo -> F-SPOT或web -> flickr -> Gmail -> blogger , 看起来眼花缭乱,不过其实还是相当方便的,我还试了一下,flickr是可以直接到blogger的,不过感觉还是经过Gmail转一下比较好,比较统一,另外这个F-SPOT也是不错的,小小推荐一下。

2006/09/19

gmail写blog

很酷的功能,blogger支持从邮件发送blog,这篇就是从gmail发送过来的,想想好处有什么:
恩,可以使用gmail的搜索,可以增加一个归档的地方(反正gmail的一个G怎么也用不完),可以不用忍受web界面慢腾腾的速度,可以一篇稿子发多个blog,。。。好处多多啊。

2006/05/04

文本编辑器

我用过许多编辑软件,UltraEdit/ EditPlus/EmEditor/Notepad2/Programner Notepad/Notepad++/VIM/

我需要的特性有:

* 支持多种编码

* 多种语法显示

* 好用的搜索功能,尤其是Ctrl+F3的即时搜索,支持正规表达式

* 在文件夹中搜索

* 列编辑,大文件编辑,十六进制编辑等。

目前为止,还算满意的是EmEditor(可惜不支持16进制编辑)。

2006/05/01

动态域名

有很多免费提供域名的服务商,比如ddns.nu。可以注册并免费解析动态域名,但是通过web来更新ip很不方便,所以这些服务商大多提供客户端工具,比如ddns.nu提供ddns3.exe作为client。 免费服务商通常服务的质量不高,可能出现服务器连接不上等问题,这时需要多注册几个,可是多了以后更新又变的困难,这样就需要一个支持多服务商的客户端工具,dynSite就是其中之一。

安装程序为服务

Windows下可以将任意程序安装为Service,需要使用微软的两个工具srvany.exe和instsrv.exe,比如要将Autohotkey安装为服务,那么 instsrv autohotkey d:\portfolio\tools\srvany.exe 即可

然后修改注册表的HKLM\SYSTEM\CurrentControlSet\Service\autohotkey,添加一个key叫Parameters, 在key下面增加字符串的value,叫做Application,值为要启动的应用程序,在这里填"C:\Program Files\AutoHotkey\Autohotkey.exe" "C:\Program Files\AutoHotkey\Autohotkey.ini" 一定要正确的带入双引号。

交互式程序需要在Windows服务属性里面将这个autohotkey的服务的Logon下的Allow service to interact with desktop属性打开。然后 net start autohotkey应该ok了, 要注意服务是以什么用户来启动的,不同的用户可能权限环境等有所不同。

2006/04/29

线程的CPU占用率

TaskManager可以方便的察看进程的CPU占用率,但对于一个程序员来说,有时可能要看一个进程的线程是如何瓜分CPU的,嗯,幸好SysInternal的Task Explorer考虑了这个需求,用起来很方便。干脆用这个替代Windows的TaskManager吧。

时间管理

有很多这种类似的软件,但我想如果能够自动记录每个进程的激活时间的话,就可以省去大量的烦琐工作了。这种自动记录软件属于"monitoring"类别,比如Activity Monitor,Timing Monitor,评估了几款。

Track4Win,不错,功能少,只记录进程信息,设计比较好。一个大的缺点是进程的参数没有区分,Java的进程就没有办法区分了。

Activity Monitor,这应该算是Spy软件,但用来作时间管理缺少基本的统计功能。但作为Spy软件还是很强的,可以远程安装,执行命令,重启等,也有基本的进程信息的统计。

2006/04/26

使用TaskManager察看内存使用

经常需要使用TaskManager看一个进程使用的内存情况,今天才发现,如果应用程序最小化的话,TaskManager显示的内存占用会急剧降低,原因是这里显示的不是应用程序真正需要的内存,而是值当前应用程序的内存空间中映射到物理内存的部分,术语应该是Working Set,而Windows2000可以在应用程序最小化之后,将Working Set来一次Trim,这样就可以为其它应用程序留下足够的物理内存,当然被Trim的内存也不是立刻就不能访问了,它们只是被Windows做了标记,当系统内存足够时,它们一般仍然会保留在物理内存中的。这样就可以解释这个问题了。如果要看到真正应用程序耗费的内存,应该选择Virtual Memory一列,这才反映一个进程对内存的消耗量,这个值有时会大于Working Set,可能是因为上述的标记的原因,有时又会小于Working Set,这则是因为Windows的DLL机制,导致进程的内存空间中包括了一些已经load的共享库,占用了进程空间,但不额外占用物理内存。

2006/04/25

Blog的增量发布

Thingamablog很好,它是基于纯HTML的blog系统,并且是桌面版本的,可是随之而来的就是发布的问题,每次增加新的帖子都可能导致大量的静态HTML文件更新,那么几乎所有的文件都要上传,当Blog增大到一定程度,这如何解决?Thingamablog的解决方法比较简单,每中类别和首页中的blog数目是固定的,或者无限多,也就是说不提供分页功能,这样新的blog的影响就比较小了。

Wiki与Blog

Wiki和Blog还是不同,Wiki是按内容组织的,Blog是按时间组织的,最好两者都保留,这样可能好一些,但内容上可能要考虑一下,应该尽量避免出现大量的重复。

2006/03/27

MyWiki

我要建立一个代替blog的wiki系统了,^_^