博文

目前显示的是 三月, 2008的博文

家里的电脑终于又可以用了

此事说来话长。这台电脑是03年买的,然后一直多病多灾。搬了几次家之后,因为内存显卡松动,经常启动不起来。而后,突然发现,每次进入windows的时候,在选择启动项之后,屏幕要黑很久,大约在30s左右,然后下面出现一条白色的进度条横线,然后才能出现windows启动画面(一个滚动条滚啊滚)。好吧,只是多等等。但是久了之后,启动完经常发现某某图标无法显示,或是干脆报告说某某“应用程序初始化失败”,一片乱七八糟,只能充启。但是,启动10次,至少大概有2-3次是处于可使用状态的,并且每次从休眠中恢复时,不存在此问题。所以我从来都是休眠,不安装任何系统补丁,以避免重启。我错误的以为是我的主板大限已到。直到某一天,windows彻底启动不起来了。gf眼睁睁的看着我重启N次无效。进入安全模式也不行。在读\windows\system32\config的时候会停数10秒,然后在读windows/config/system.log的时候彻底卡死。更可恨的是,即便是重装系统或是进入故障恢复台进行修复,它也经常读不出来某个分区。或者,本来正常,但是突然就找不到当前目录,以及该盘下的其它文件。以至于重装系统的时候从来没有办法成功的copy所有文件并重启。话说,我惊奇的发现,Freebsd仍然能正常运行。只是packages有些老了,放弃了从6.2升级到7.0的想法,更放弃了从xorg 6.x 升级到xorg 7.3的想法。这个……太痛苦了。于是我便pkg_delete -a,然后从ftp中用pkg_add -r重新安装需要的包。windows怎么办?所有分区都是ntfs的,进入故障恢复台,对所有分区反复的进行chkdsk,但是还是不行。周五我把我的硬盘挂在朋友的机器上,再次进行chkdsk,依然无法启动win。于是准备周六去买本子,扔掉面前这个老家伙。但是嘛,gf不愿去中关村(她比我懂行)。于是就只好另谋策略。周六我在网上搜索时无意中发现我之前出现的图标显示不正常可能是因为注册表损坏,再加上的确是在读取注册表的时候卡死,于是我便需要想办法修复注册表。但是因为硬件问题我没有办法去安装一个新的win。于是我便进入win的故障恢复台,备份注册表,然后把windows\repair目录下的5个注册表文件复制到\windows\system32\config下。然后启动,哇!成功了。一切恢复到刚装…

联想的枪手满天飞

明天要去买thinpad t61,但是今天还是要忍不住鄙视下它。因为我一周内已经看见两篇不同的枪稿了。一会儿说联想的杀毒软件好,一会儿说联想的送的座椅好。什么和什么啊!
推荐去搜索引擎搜索 "底层杀毒 联想 可是我们家就没个懂电脑的人"
你说,联想,你好歹这么大了,怎么还在学神舟呢?

2008-03-27

今天用eclipse写了第一个jface程序。简单的不能再简单,就是一个空窗口。准备,好好学学jface之后下一步学习rcp。目前还没有找到令人满意的界面编辑器,或者说,一个都没有用过。如果找不到的话,我就退回去用C++/WxWidget好了。
最近自己私有的时间还真是少。白天上班,下班后就回来打电话,挂掉电话就睡觉。嗯,等买了新本子,我准备花时间学下palmOS编程,然后写一个飞信客户端。对自己而言,至少可以省不少话费嘛。但是我对palmOS真是的很无知啊。试试看吧。如果有行家路过,麻烦给扔点palm OS 5.x的文档下来。还有,貌似skype是无法通过gprs进行语音通话的,那么,飞信也是sip协议,估计,都差不离吧。时间……时间……
最近对游戏的数值策划很感兴趣,有谁是做这个的吗?一起讨论讨论吧。我正在研究大话系列。

微软放弃了中文新闻组

刚又看到另一条坏消息,微软放弃了中文新闻组,专心建设它的技术论坛了。
From: "Sophie Tan [MSFT]" <sophieta@online.microsoft.com>
Subject: 微软中文新闻组公告
Date: Tue, 18 Mar 2008 11:05:07 +0800
NNTP-Posting-Host: 207.46.55.30

微软中文技术论坛( http://forums.microsoft.com/china/default.aspx?siteid=15 )做
为微软全球统一平台, 是中国的广大用户,微软技术爱好者, 微软最有价值技术专家(MVP)
和微软 技术工程师活跃的全新交流平台,一起探讨问题,分享经验,共同提升价值。2008年
4月1日,活跃在微软中文新闻组的技术工程师将转战微软中文技术论坛,新闻组作为微软技
术爱好者以及微软最有价值技术专家交流的平台还将继续保留,特此公告.

其实,多谢微软对于新闻组的推广活动,我才得以接触了解新闻组。大一的时候还利用新闻组的积分奖励兑换了一件微软黑T-shirt。我很喜欢那里。微软花了很大的心血去经营它,上面有很多很多技术专家每天专职来负责给解答技术问题。(但是C/C++以及底层技术方面的专家很少,大部分看起来都像是做售后支持的一样)
只是05年往后,微软中文新闻组也渐渐的由盛转衰。cn.fan也持续的陷入萧条。然后我发现,真的是,它们所持的经营理念不同。cn.*是无版主一说的,但是几乎没有令人反感的广告和政治言论。微软中文新闻组尽管有版主,但是面对广告和政客的spam无能为力。他们没有权限删帖,只能把问题报告给美国那边,等那边的人解决。但是美国微软总部的那帮人又看不懂中文,且不了解轮子的这些东西将会惹来多么可怕的麻烦,于是便听之任之放手不管。
而另一方面,cn.bbs那边,最近几年也是举步为艰。相比于外层的cn.*而言,cn.bbs内容很丰富。但是对于各bbs的站长而言,他们根本不希望和外界相通, 新闻组对他们而言只是一个网络协议,只是一个站点间信息互换的承载工具。再加上教育部的一道道的重令,以及bbs本身技术老化,所以cn.bbs 基本不可能再有什么发展。
新闻组是多么好多么伟大的一项发明。但是,它太乌托邦了。 站在商家的角度,它希望让他投入的资本能以其更可控的方式运作并收…

Freebsd彻底放弃KSE,N:M终结

发信人: delphij (make universe...), 信区: FreeBSD
标 题: FreeBSD 8.0-CURRENT不再支持KSE
发信站: 水木社区 (Thu Mar 13 01:48:39 2008), 转信
Jeff Roberson 今天正式砍掉了 FreeBSD 的 KSE (M:N) 线程支持。这一变动会
使代码更容易维护,但先前 FreeBSD 版本(5.0-6.x)上编译的使用 KSE 线程库
的静态联编的文件将无法继续正常工作。动态联编的文件可以使用 libmap.conf
映射到 1:1 线程库(libthr)来使用。
————————————————————————————————————————————
linux的世界只有lwp,solaris也把它那么优秀的n:m的线程库放弃了,哦,现在,freebsd,也终于弃掉这块鸡肋了。
说到底,它的缺点是什么?说来说去,就是说它的模型太复杂了。还有呢?
呃,freebsd最让人love的一点就是,不同的线程库之间接口都是一样的,换线程库只需要修改下libmap.conf就可以了。
找了找,信件原文如下,CURRENT is no longer going to support KSE threaded applications. As
mentioned in UPDATING the following libmap.conf should work along with
compat libs for old dynamically linked libraries:libpthread.so.1 libthr.so.1
libpthread.so.2 libthr.so.2
libkse.so.3 libthr.so.3Statically linked binaries will no longer work. We're still investigating
whether 5.x binaries may have trouble due to problems in the 5.x libthr.
If this is the case we will make a special build of libthr to include in
compat5x. Thank…

太棒了!linux下有飞信可以用了

有人开发了一个针对pidgin的fetion插件。
详情请见: http://www.linuxsir.org/bbs/thread320802.html
这位帅哥好厉害。
正在试用中,很好,很强大!

"Static version not so static"

可恶的GPL。。。。。
因为win坏了,起不来。于是就只好转用freebsd/ubuntu。因为GF住的地方和我很远,于是每天就只能skype。
呃……头晕,装了AMD64版的ubuntu。但是skype在linux下只有for i386的。话说,即便是32bit的elf,只要不缺动态库,在64bit的OS下不也一样运行吗?好么,简单,下个static版的skype回来就行了。但是呢,下载完后用ldd一看,发现,哪是static啊,依赖10多个so呢。
后来在他们的jira上找到了解答:
https://developer.skype.com/jira/browse/SCL-251
简单来说,很多库是基于GPL或者 LGPL协议的。他们无法把这些库打包入自己程序中,除非采用一个与之兼容的版权协议。
回头想,那些做linux发行版的公司,真可怜

用java.nio使用mmap将一个字符串写入文件

@Testpublicvoidtest_nio_write_string(){ String s= new String("你好"); File file=new File("/tmp/test.txt"); RandomAccessFile outputFile = null; try{ outputFile=new RandomAccessFile(file,"rw"); } catch(FileNotFoundException e) { logger.error("创建文件失败",e); Assert.fail(); } FileChannel outChannel=outputFile.getChannel(); try{ MappedByteBuffer buffer; byte[] data=s.getBytes(); buffer=outChannel.map(FileChannel.MapMode.READ_WRITE, 0,data.length); buffer.put(data,0,data.length); buffer.force(); outChannel.close(); outputFile.close(); }catch(IOException ex){ logger.error("io错误",ex); Assert.fail(); } }

gnome 2.22今天发布了

对用户而言,比较关注的改变在这里:
http://library.gnome.org/misc/release-notes/2.22/#rnusers
我比较感兴趣的是它引入了一个叫做GVFS的基于网络的文件系统。这个东西,并不是像NFS这样的内核级文件系统。我觉得它很像fuse。GVFS对SFTP, FTP, DAV, SMB的这些统一给了一个上层抽象。其实很早以前nautilus就可以为这些不同的网络协议提供统一的文件夹形式的浏览方式,具体这东西是咋样我也不太清楚,貌似还可以和fuse混用。
好困,先睡了~~

杀不死的artsd

scm 10257 0.0 0.3 84624 6708 ? D 12:50 0:00 /usr/bin/artsd
-F 10 -S 4096 -s 60 -m artsmessage -l 3 -f
发现机器有些不正常,然后用ps发现,我的机器上启动了300多个artsd进程。gnome-panel死掉。右上角的时间定格在了12:21。(半个小时前)
很郁闷。这些artsd是用kill -9杀不掉的。这应该是一个kernel bug。my kernel: Linux 2.6.22-14-generic

在64bits的ubuntu下安装flashplayer

adobe目前还没有出64 bits的flashplayer,还好x64CPU和i386没啥质的区别。只需要在软件层面多装几个库就可以解决了。
步骤如下:
切换到root,打开软件包管理器看看“nspluginwrapper”有没有安装。如果没有,那么安装下。
然后退回普通用户,执行下面的操作。
1、创建插件目录
$mkdir -p ~/.mozilla/plugins/
2、去adobe的网站下载最新的flash压缩包。tar.gz格式的。
解压之后把libflashplayer.so取出来。放在~/.mozilla/plugins/
下载网址为:http://fpdownload.macromedia.com/get/flashplayer/current/install\_flash\_player\_9\_linux.tar.gz
3、用nspluginwrapper安装
$nspluginwrapper -i ~/.mozilla/plugins/libflashplayer.so
4、重启firefox

eclipse官网上的Linux 64bit版下载地址给错了

eclipse官网上的Linux 64bit版下载地址给错了,给的地址是32bit的。
我的ubuntu是64位的,软件源里最新的eclipse是3.2的,于是我就去官网下3.3的eclipse。下载后我没注意,解压后直接运行,然后报告
changming:~/eclipse> eclipse
eclipse: Command not found.
changming:~/eclipse> ls
about_files configuration eclipse.ini features libcairo-swt.so plugins
about.html eclipse epl-v10.html icon.xpm notice.html readme
搞的我莫名其妙的。
$ file eclipse
eclipse: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.2.5, dynamically linked (uses shared libs), not stripp
我以为它是动态连接的,然后缺少动态库。但是用ldd -v被告知说这个是静态链接的可执行程序。又搞的我莫名其妙。后来查了下,确实是动态库缺失,然后安装了ia32的libc的动态库后,果真可以运行了,但是jvm报错。
最终的解决办法是,找到镜像的文件目录,自己去找64bit版下载~!