November 25, 2008

real programmers don't write documentation

Posted by hufey at 04:26 PM | Comments (0)

September 16, 2008

It's not a || it's an && operation.

Jared Hulbert to Tomas, linux-kernel
show details 11:42 PM (10 hours ago)

Reply

> I read somewhere that AXFS is going to be a part of Linux kernel 2.6.28
> ( http://www.linuxdevices.com/news/NS6179099416.html?kc=rss )
>
> What are the advantages of AXFS compared to squashfs?

Depends on what you are doing and what features you care about. You
can read some of the threads starting ~Aug 20th for the details.

> Why not to include squashfs instead?

To be clear, the submission of AXFS has nothing at all to do with
squashfs. It's not a || it's an && operation.

But yeah, Christoph is right. 2.6.28 is iffy for AXFS anyway.

针对AXFS对squashfs的疑问,这是一个很有技巧的回答。
当然AXFS在performance的提升上,我在OLS2008的会议现场印象深刻!

Posted by hufey at 09:56 AM | Comments (0)

August 23, 2008

比尔盖茨的审查

比尔盖茨的审查

757个读者 翻译: wilddog 昨天 23:42:44 原文 引用 双语对照及眉批

简介

Joel Spolsky 技术博客中的超级牛人,原来是微软EXCEL项目中的一个程序经理,本文回忆了比尔.盖茨第一次审查他的文档的故事(当小牛遇到大牛),非常有趣,

Excel曾自带了一个糟糕透了的开发语言,当时这个语言还没有名字。我们称其为"Excel Macros".它没有变量、局部变量、子函数这些概念,几乎完全不可用。虽然它有是还一些高级功能,比如“Goto”。
­
它存在的唯一理由是:它看上去要比Lotus的宏要合理一些。Lotus的宏不过就是记录了一组键盘敲击的顺序,用来在单元格中输入长字符串。
­
1991年6月17日,我开始为微软的Excel团队工作。我的头衔是“程序经理”(相当于写需求分析的),我的任务是为Excel Macro 找到一个合适的改进方案。有人建议我可以用Basic来做这个方案。
­
Basic?!
­
我花了些时间和不同的开发团队商量。那时候Visual Basic 1.0 才刚刚推出,它简直是酷毙了!但在微软内部当时还有另外一个面临失败的项目"MacroMan". 他们试图开发另一种面向对象的Basic。这个团队好不容易才被告知他们的产品终于有了一个客户,就是我们Excel组. 当时他们的市场经理是Bob Wyman,是的,就是那个Bob Wyman(是谁?很有名吗)。可怜的Bob Wyan,我是唯一一个可以让他发挥推销才能的人。
­
如我上述,MacroMan快失败了,虽然它有一些支持者,但最后还是面临被停掉。Excel团队确信他们这个Basic团队正是我们开发Visual Basic For Excel 所需要的。我在这个项目的基础上试图再加入4个我喜欢的功能。Variant--一个通用的数据类型,可以随时保存其他类型的值。因为如果不这样的话,你必须先要定义一个转换声明才能保存单元格的值。后期绑定,也就是后来赫赫有名的IDispatch.另外两个特性是For Each语句(从csh中偷的)和With语句(从Pascal中偷的)
­
接下来我开始写Excel Basic的规格说明,它真是他妈的工程浩大,我想完成时大概有500页吧。(“瀑布模型?”(传统软件开发模式),也许你正在窃笑。是的,但是请你闭嘴)
­
那时我们常常请比尔.盖茨作些审查。基本上每个重要的功能比尔都得过一遍。我被告知把我的功能说明送到他办公室去,以便让他在审查会前做好准备。这个说明用了整整500页打印纸。
­
我把说明打出来送到了他的办公室后,正好当天还有一点时间,于是我试图评估一下Basic的日期和时间函数是否能处理所有Excel的功能。
在大多数现代程序开发环境中,日期被存为实数。整数部分是从过去某天算起的天数。比如说Excel中,以1900年1月1日为1算起,今天2006年6月16日就是38884。
­
我开始把Visual Basic 中的日期和时间函数和Excel中的都过一遍,看看是不是都能对应。我注意到Visual Basic文档中有一个很奇怪的声明:Basic 使用1899年12月31日而非1900年1月1日作为日期的原点,但不知什么原因,Excel中今天的日期值居然和Basic的一摸一样。
­
出问题了!
­
我跑到Excel资深程序员Ed Fries的面前.我想他应该知道为什么。
“哦”,他告诉我:“看看1900年2月28日”
“59”,我说
“现在再看3月1号”
“61”。
“60哪里去了”Ed问道
“2月29?1900是闰年!它可以被4整除”
“很好的猜想,但不对”,Ed边说边走,留下我一个人在那里深思。
我又做了一些研究。发现可被100整除的年份不一定是闰年,除非它能被400整除。
原来1900不是闰年。
“找到了,这是Excel的Bug”.我欢呼起来。
“错”,Ed说,"我们这样做是为了能导入Lotus 123(另外一种电子表格)的数据"。
“那它是Lotus 123的Bug?”
"正确,但很有可能是故意的。Lotus必须适应640K的内存。但当时并没有那么多的内存,如果你忽略1900,你就可以根据一年的尾数是不是00来判断那年是不是闰年。这样做非常简捷方便。Lotus的小伙子们可能认为历史上两个月误差1天并不是很严重。而Basic团队看上去想给这两个月擦屁股,因此他们又把时间原点调回来了"
­
“啊!”我恍然大悟,然后开始继续研究为什么那里还有一个设置1904为时间原点的复选框。
­
比尔做review的那天来临了。
­
那是1992年6月30日。
­
那时候微软还没有现在这么官僚化。我对Mike Conte,Mike Conte对Chris Graham,Chris Graham对Pet Higgins,Pet Higgins对Mike Maples,Mie Maples最终对比尔.自底向上大约有6级,而非现在的11级或12级。我们和使用8层管理结构通用汽车一样,是个充满乐趣的公司。
在比尔的review中,每一层负责报告的人都出席了,顺便带来他们的堂兄堂弟,表姊表妹,大姨小姑,还有一个专门记录比尔会说多少个“靠!”的人。当然“靠!”越少,结果就越好。
­
比尔进来了。
­
他居然是两手两脚,一个脑袋.....看上去还是象人类。
­
他手里拿着我的说明。
­
他手里拿着我的说明!
­
他坐下来和旁边的人开了个对我而言毫无意义的玩笑,有几个人在窃笑。
­
比尔转向我了。
­
我注意到在我的说明空白处写着一些注解。他读过第一页!(激动)
­
他已经读过第一页并写下了他的笔记!(更激动)
­
因为从提交说明到他手上不过一天时间,他一定在昨晚之前就读过。
­
我们开始一问一答。问题相当简单,但现在我已经记不清了,因为当时我一直在注意着他翻我的文稿...
­
他在翻我的文稿!!!(冷静,冷静,你可不是小姑娘了)
­
...我看到每页空白都写满了注解,他妈的,他居然全部读完了,还写了注解。
­
他居然全部读完了!
­
问题开始变得越来越难,越来越细。
­
提问有些随机。过去我常常认为比尔是我的大爷,事实上他是个好小伙!他读了我的说明,他的问题可能正记在说明的空白处。以后我一定得把这些问题都在Bug跟踪系统中标记出来。
­
终于最难的问题来了。
­
“我不知道,小伙子们”,比尔说,“有人研究过这个细节没有,比如说这些日期和时间函数。Excel有很多日期时间函数,在Basic中是不是能一一对应,他们工作方式是不是都一样的?”
­
“当然”,我说,“除了1900年的1月和2月”。
­
沉默。
­
“靠”的记录人员和我老板惊讶的对视一眼。这家伙怎么知道的?1月,2月是什么东西?
­
“OK,很好”,比尔拿起我的说明。
­
(....等等!我想知道......)
­
他们离开了。
­
“4个”,“靠!”的记录者宣布,"这是我有生以来记得最少的一次。比尔步入中年了"。如你所知,比尔当年36。
­
后来我对这次审查终于有了一个解释,"比尔并没想真的想要审查我的说明文档,他只是想确定一切是否在我控制之中。他的标准方式是问得越来越难,越来越难,直到你承认你不知道,然后,他就会提醒你你尚未准备好。如果我答起了他最刁钻的问题,没有人会确定会发生什么,因为这以前就没发生过。"
­
“如果是Jim Manzi,他会怎么表现?”有人问道,“Manzi会反问,‘什么是日期函数???’”(Jim Manzi就是把Lotus带垮的MBA)
­
正确。
­
比尔. 盖茨是个令人吃惊的技术狂热者,他理解Variants,Com对象,和IDispatch,知道为什么自动化和虚拟函数表不一样,也知道这个区别会导致双接口。他担心日期函数,如果不是他信任的人在开发,他会难以入眠。你可以对此嗤之以鼻,但他确实是一个程序员,一个真实的,地地道道的程序员。不是程序员的人去运作一个软件公司就像不会滑板的人跑去冲浪一样。“得了,我有非常棒的顾问在岸边指导我”,他们会一边说一边一次次从滑板上掉下去。那些标准 MBA就是相信管理是通用函数。鲍尔默会成为另外一个John Sculley吗?John Sculley曾差点把苹果公司搞垮,只因为董事会相信他卖百事的经历会对运作计算机公司有所帮助。MBA的迷信者通常相信这一点:你可以让组织做你完全不懂的事。
­
过去数年,微软变大了,比尔的管理范围过度扩展,他不得不投入更多精力去和US政府打交道。鲍尔默坐上了理论上的CEO这个位置,这可以让比尔花更多的时间做他最擅长的--领导软件开发,但这并不能克服11级管理层带来的问题。它导致无休无止的会议,顽固地不管如何也要创建每种产品的倾向,(微软在研发、官司、公司声誉上损失了多少亿美元,只因为决定开发一个Web浏览器,还让它免费。),还有就是过滥的招聘让微软正逐渐失去中层人员中的精英。(Douglas Coupland在Microserf*中写道:”在1992一年中他们雇佣3100人,你知道并非所有人都是珍珠“)
­
对了,派对已经搬地方了。Excel Basic变成了Microsoft Visual Basic for Appliation for Microsoft Excel,这个名字里面的注册商标符号太多,以至于我都不知道应该把他们放在哪里。我于1994年离开了微软,想来比尔已经完全忘记了我。直到有一天我读到华尔街日报对比尔的一次采访,他提到在过去,象招募一个Excel的程序经理的事情是多么困难,他们并非象苹果长在树上那样垂手可得。
­
他是谈我吗?或许应该是别人了吧。

Posted by hufey at 10:34 AM | Comments (2)

August 20, 2008

iphone browser's marketing share

这个数并不出意料,但是如果是文中说的“Windows Mobile 浏览器市场份额的4 倍,大约是 Linux 平台浏览器市场份额的40%”,那还是挺让人吃惊的。

Posted by hufey at 04:44 PM | Comments (0)

July 16, 2008

From 2.4 to 2.6 to 2.7?

Linus对未来linux kernel版本号命名的想法

from Stoyan Gaydarov
to linux-kernel@vger.kernel.org
cc torvalds@linux-foundation.org,
Alan Cox ,
gorcunov@gmail.com,
akpm@linux-foundation.org,
mingo@elte.hu
date Tue, Jul 15, 2008 at 10:10 AM
subject From 2.4 to 2.6 to 2.7?
mailing list Filter messages from this mailing list
mailed-by vger.kernel.org

hide details Jul 15 (2 days ago)


Reply


Filter Assistant


First things first, I would like to know what prompted the change from
2.4 to 2.6 kernels. I know that the change had to do with the
development version, the 2.5 tree and the massive amounts of patches
distros had to carry. Aside from this i think it was also the
scheduler changes that prompted the 2.6 version, but I don't know all
that much about it and any other comments about the change would be
great.

Second I wanted to talk about the linux 2.7.x kernel, whats in the
making or maybe even not started, that could prompt a change to a 2.7
version kernel, i know that a lot of good changes are going into the
kernel as part of the rcX kernels in the 2.6 version. Would we
continue to see 2.6 kernels until some big problem shows its head and
we all go "oh sh**" and then change something so massive that it
prompts the change or are we going to continue with the 2.6 tree. I
just want to get some information and peoples opinions on this, just
to see where things are headed.

-Stoyan G
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Reply

Reply to all

Forward


Linus Torvalds
to Stoyan, linux-kernel, Alan, gorcunov, akpm, mingo

show details Jul 15 (2 days ago)


Reply


Filter Assistant


On Mon, 14 Jul 2008, Stoyan Gaydarov wrote:
>
> Second I wanted to talk about the linux 2.7.x kernel, whats in the
> making or maybe even not started

Nothing.

I'm not going back to the old model. The new model is so much better that
it's not even worth entertaining as a theory to go back.

That said, I _am_ considering changing just the numbering. Not to go back
to the old model, but because a constantly increasing minor number leads
to big numbers. I'm not all that thrilled with "26" as a number: it's hard
to remember.

So I would not dismiss (and have been thinking about starting) talk about
a simple numbering reset (perhaps yearly), but the old model of 3-year
developement trees is simply not coming back as far as I'm concerned.

In fact, I think the time-based releases (ie the "2 weeks of merge window
until -rc1, followed by roughly two months of stabilization") has been so
successful that I'd prefer to skip the version numbering model too. We
don't do releases based on "features" any more, so why should we do
version _numbering_ based on "features"?

For example, I don't see any individual feature that would merit a jump
from 2.x to 3.x or even from 2.6.x to 2.8.x. So maybe those version jumps
should be done by a time-based model too - matching how we actually do
releases anyway.

So if the version were to be date-based, instead of releasing 2.6.26,
maybe we could have 2008.7 instead. Or just increment the major version
every decade, the middle version every year, and the minor version every
time we make a release. Whatever.

But three-year development trees with a concurrent stable tree? Nope. Not
going to happen.

Linus

Posted by hufey at 04:19 PM | Comments (0)

3G iPhone's Battery Life Beats AT&T Rivals--But EvDO BlackBerrys Run Longer

Posted by hufey at 11:31 AM | Comments (0)

April 18, 2008

为什么离开Google

和上个blog 可以对照着看

---
为什么离开Google
matrix 发表于 2008年4月17日 14时15分 星期四 Printer-friendly Email story
来自人各有志部门
Google
DigitalPig 写道 "谷歌治印报道,一个曾经在Google公司工作过得工程师在他的Blog上面写了他为什么离开Google的原因。(摘要了一下:) 在具有这样大小和影响的公司中,Google是一个让人兴奋的公司。有很多咖啡厅(perk?)和餐厅(在Mountain View总部有15个餐厅,免费供应从早餐到晚餐)。而且有很多的讲座。在Google中得到培训的机会也很多。当然以团队合作的名义出去玩的机会也很多。每个新员工都会有一个24‘’或者30‘’的显示器和一台公司配给的笔记本电脑(MacBook或者Thinkpad).对于Google这样的一个公司来说,它的出现改变了互联网以前糟糕透顶的搜索模式,而且它的新产品,比如GMail、Google Reader和Google Calendar一推出就收到广泛的关注而且变得非常的流行。这也让我感到非常的自豪。而且Google内部的邮件列表非常有活力,你可以在上面得到很多的信息,工作的非工作的。这也让我想到了早期的流行而且让人受益的USENET,而不是像现在这样充满白痴。(同意!)
不过虽然是这样,我还是离开了Google。我很享受我在Google的这段工作经历。但是我更加喜欢作为一个公司的创始人而不是一个大公司平庸职工。当然,咖啡厅和其他都吸引人,但是却不能激励我。相反,在一个公司刚开始的时期,每个员工都会对这个公司有着巨大的影响和很大的责任。这才是我追求的。这些年我也发现很多创新都来自刚刚成立的小公司。当然,在小公司工作也有很大的风险,因为大部分的小公司都倒闭了,但是至少还有1/10的公司能生存下来。相比而言,作为一个Google员工,就算Google股票翻一番或者翻两番,我都不能变得更加富有。

而且,Google中我所开发的项目也不和我的口味。虽然过了一两年员工会交换他们的项目,但是对于一个有很庞大代码库,工具和框架的Google来说,要熟悉这些然后再上手并不容易。开始的时候会感觉非常的郁闷。所以我觉得Google招聘人员应该在这方面多加注意。

现在我在一家即将成立的公司里面做社会网络(Social Networking)/移动空间(Mobile Space)开发。我的职位将是一个工程负责人。当然,对于小公司来说,一个职位将会扮演非常多得角色。不过,我能使用自己喜欢的Ruby开发。对于这份工作,我还是觉得很兴奋。

有人喜欢打天下,有人喜欢守天下。"

Posted by hufey at 11:30 AM | Comments (0)

April 17, 2008

逃离怪物公司及其他

在网上看到一个帖子提到某pixar前员工离开这家公司的事,找到了相关链接
逃离怪物公司
pixar的影片几乎我都看过,而且其中很多都买了非常好的DVD版本。其中一个乐趣就是
看DVD附带的制作花絮,包括对pixar的介绍。很羡慕他们的工作环境和工作方式,公司
花很大力气为大伙创造能尽最大可能发挥个人创造力和激情的环境。我对艺术的创造力
接近为0,对艺术的欣赏虽有提高也是从一个很低的起点开始,不过还是“虽不能至,心向往之”吧。
甚至比较起来这两年对google工作环境的夸张宣传,我觉得离pixar还有差距。
Steve Jobs--这个两个我欣赏公司的共同老板和灵魂人物,最近负面报道也很多。其中
有一个是美国评员工最满意的雇主,apple没有进前25。没看到那个表,不知道pixar是不是在里面。
这个帖子其实很简略,也没说出什么特别称得上内幕的东西。既然pixar人才济济,被埋没只怕
也无可避免。
这个故事告诉我们的是:即使是外人看来多么光鲜照人的公司,在里面生存也未必容易。
我说的容易是easy。

Posted by hufey at 02:35 PM | Comments (0)

April 07, 2008

3G专利分布

WCDMA:诺基亚(35%)、爱立信(31%)、高通(6%)、西门子(5%)、华为(5%)、其他(18%)
CDMA2000:诺基亚(22%)、爱立信(6%)、高通(31%)、西门子(5%)、摩托(11%)、其他(25%)
TD:诺基亚(32%)、爱立信(23%)、高通(2%)、西门子(11%)、大唐(7.3%)、其他(24.7%)

不知数据是否权威。记录一下

Posted by hufey at 10:25 PM | Comments (0)

April 03, 2008

Linux Kernel Development (April 2008)



Who is Doing the Work

Who is Sponsoring the Work

Posted by hufey at 06:44 PM | Comments (0)

March 27, 2008

moto的分拆

昨天晚上吃完饭在床上拿iPhone上网看新闻,一下子看到新浪在几乎很靠前的位置的moto分拆的消息
赶紧点开,不幸safari意外退出了。跳下床到书房拿笔记本上网。看到网友评论调侃说拆成“摩托”和“罗拉”两家公司,笑了出来。

其实打去年起就听到很多传言诸如分拆,卖出等等各种消息。等看到了还是唏嘘了一下。

昨天看到澳洲的电信运营商大概是最早运用WiMax的运营商之一抱怨WiMax效果很差,还在想
moto这次是不是又压错宝了。

今天早上听说moto股票因分拆消息暴涨12%,拿出iPhone打算看一下,却发现前两天因为意外
重刷iPhone软件之后并没有把moto再次加到股票列表里。看来moto确实已经不在我的世界里
了。

从engadget借用了个图,这个图的文件名叫unhappy-moto.jpg

另外googlechinablog最近正在写motorola的兴衰史2,还是很好看的

Posted by hufey at 10:56 AM | Comments (0)

March 17, 2008

换个话题, 说说宝马


也是机缘巧合,一辆宝马325由我保管一周。今天上下班开了
50公里。在这写点体会。

从开始学车开始,是普桑,手档。我一直觉得普桑是最适合
学车入门的一个车型。当然社会上的普桑我一直也没开过,
就驾校的普桑来说,每个档位都清晰而且精准的和车速联系
起来,也就是说如果你在该加减档的时候没有加减档,立马
给你诸如挫车等反馈。非常有利于新手知道自己哪里做的不
够好。

拿到车本之后,先后短时间开过金杯,捷达,宝来。其中金
杯是亲戚主动借我练习上路的,除了坐着很不舒服忘了其他
的特点,总之没有优点,最大的缺点就是不舒服。

手档捷达和自动档宝来是陪练公司的,学车时我也算是驾校
的明星学员,等真正上路之前还是有点心虚,在家附近找了
一个陪练公司。第一次是手档捷达,也是当时自己准备买的
候选车型。也许是陪练公司保养的比驾校的好,总之捷达给
我留的印象非常好。同样是1.6的发动机,动力比普桑要好得
多的多,换挡行程也比普桑的少,而且对换挡时机感觉比较
模糊,对新手来说很能鼓舞士气,因为不象普桑在驾校里往
往因为换挡早或晚挨师傅的骂。直到现在我还经常劝预算少
的朋友考虑捷达,当然一个也没劝成功过。我自己老琢磨着
如果自己买轿车捷达是非常有性价比的好的选择,也可以低
调一点嘛。第二次租车是同一家租车公司的自动档宝来1.6。
换自动档是因为自己从来没开过自动档,省着将来有机会开
自动档时候干瞪眼不会开。一上车,陪练师傅大概讲解了
PRND几个档是干什么的,然后就开上路,顿时感慨要是都
学自动档根本不要驾校的58小时,可能有半个小时就行了。另
外感觉宝来也是很不错的车,之前调研都说宝来1.6排量不够
怎么也得上1.8T或者2.0云云,自己开起来油门踩下去却马上
就明白了什么是推背感,总之在那之后对一汽大众的车都有
好感,感觉他们走的都是“驾驶者之车”的路子。

再后来自己买车的时候还是买了6缸切诺基。为的是自己的越
野梦。切诺基这车也是经典了,4.0排量保证在山路上有无穷
动力,平路上也敢和各种轿车飚车。

再后来短暂的开过奥迪A4,马6,Liberty,camry。奥迪的
感觉就像是在开一个大铁陀,重心极低,踩下油门之后仿佛
车停滞了一下然后蹭的蹿了出去,很过瘾。最不适应的是奥
迪的刹车,开始感觉似乎没有,再稍微一踩,车立马站住,
感觉能把车上的人都快甩到前盖上了。马六这两年在国内卖
的极火,我开了觉得不怎么样。加速什么的都没得说,可是
明显飘的很,就像是在开一个纸盒。马六是我第一次亲身体
会到所谓日本车风格。后来开过一次camry也是这种感觉,
车是好车,很精细,就是感觉很单薄。轻松上180,可是就
像一片纸片。

再说Liberty,3.7 V6的发动机,够用或者也可以说的上是不
止够用,反正美国人似乎永远都会给配上一个超出你的需要
的发动机。跟我自己的同一家族的切诺基4.0直六发动机来说
感觉动力略有不足,不过这也许是自动档的原因。说起来这
个自动档,也是我对liberty最不满的地方就是换挡不够平
顺,经常在他换挡的时候吓到同车的mm,老让mm以为是我
车开得不够好。

说了这么多,再说宝马。外观,内饰我都没仔细看,我想这
个档次的车这些就不用看了,我也不怎么关心这些。据说宝
马没有备胎,因为车胎扎了还能跑100公里,足以找到换胎的
地方。当然这点我是存疑的,因为在中国找一个方圆100公里
换不到宝马胎的地方应该还是很容易的。不过在说明书上确
实发现了轮胎胎压不足的时候车内液晶屏上的自动显示。

主要说驾驶感受,这一点宝马可以说是无可挑剔,虽然宝马3
和奥迪A4应该是同一档次的车,可是带来的驾驶感觉完全不
一样,如我所说,奥迪的驾驶感觉是很有“自己个性”的
车,驾驶者和车是有一种疏离感,人要有一个适应的过程。
而宝马在驾驶的过程中,是人车合一的,就是你马上就知道
你方线盘动多少角度的时候车会拐多大的弯儿,而你油门踩
下去的时候车能有多快。在刚坐到车里的时候就让人感觉你
是和“她”早就相识很久的老朋友。这种贴合也会让人“不
适应”,是那种“怎么会这样”的“不适应”。说实话,在
开宝马之前,我对自己的切诺基很有感情,就像自己一个有
若干缺点的老朋友,平常偶尔犯葛,关键时候却能共同依赖
摆脱困境。虽说随着油价的上涨也有想卖车的想法,却对下
一辆的候选车心存不屑,老觉着即使好车固然买不起,可即
便买得起也未必比我的切诺基好到哪去,要是有一辆全新的
原产6缸切诺基只怕给我宝马也不换。可是这一次的宝马给我
的感觉让我觉得完全不同,我甚至认真算了一下自己有没有
买宝马的能力。

早上上班的时候四环堵车堵的厉害,我对自己对宝马的认识
还没有太多的信心,尤其是刹车距离和急加速时的加速度,
开的还很拘谨,有很多车从我左右穿插超车,似乎是对我的
嘲笑。待到车距在我平时能把握的1.5到两倍的时候,我也经
常在车流中钻来钻去,感觉游刃有余。即使是那些因为我的
保守而超过我的车只要有机会我可以立马反超,而且绝对不
需要压到对方踩刹车的程度。走机场高速一段上五环,车流
少的时候油门一踩就轻松上120,因为我早已决定在任何时候
都不超速到了限速就收油保持车速所以没去试车速的极限
值,当然可能也没这个胆量。在五环到奥运场馆的一段连续
很长距离的大弯路,尝试80公里时速过大弯,人几乎贴到车
门的玻璃上,激发了前面一辆凌志350的斗志,加速颠了,
我没稀的追丫。下班走的略晚,四环上已经有足够的空间你
追我赶,在亚运村附近左道一串车开的又慢又不打算让开左
道,我不想晃远光提醒,而是看了后视镜后面没车直接向右
跨两个车道从右侧超越一串车,一瞥车速已经超过100,赶紧
收油回到80左右,心想这车太容易超速了。于是后面一段路
程,始终保持80的时速,也不轻易变换车道了。经常有各种
车辆开到并行然后加速超过去,我看着那些车心说“又一个
超速的”。然后心里比划着他的车速想我可以用宝马如何变
线超过他们,只是再也没有超过一辆,直到到家。

Posted by hufey at 11:33 PM | Comments (0)

March 11, 2008

Idol Jobs


Posted by hufey at 10:58 AM | Comments (0)

February 14, 2008

smartphone 用户满意度调查


PALM居然是最低,真没想到。。。
MOTO倒数第二。。。

Posted by hufey at 10:56 AM | Comments (0)

February 10, 2008

build iphone toolchain

今天尝试了一下iphone toolchain的安装
先是装了一个编译好的版本, 声称支持ppc
装的时候很顺利,就是要自己下载一个iphone filesystem
结果运行的时候报错, 说是cpu必须是x86
卸载之
教程下载svn版本
编译安装,结果在./configure的时候失败,看log,发现原来是运行/usr/bin/ld的时候出错
file /usr/bin/ld,原来也是x86的版本,file /usr/bin/gcc发现还是universal binary format
看/usr/bin/ld的时间, 推算起来就是装那个toolchain的时间,看来那个包居然把系统的ld都改成自己的了
想了想似乎只能重装xcode才能恢复原来的文件, mount xcode.dmg
看到xcode里其实有分开的多个pkg文件,不过不知道是哪个包含ld
懒得挨个去试, 于是安装xcode 同时不断运行file /usr/bin/ld,最后发现是DeveloperToolsCLI这个包包含的ld. 完成之后再看ld已然是universal binary格式,对apple这个同时支持x86和ppc的技术很好奇, 有空研究研究, 目前先存疑
再去按教程编译, 在指定SDK的时候发现自己的leopard既有10.4的也有10.5的, 想了想,也许教程写的早了些没眼正过10.5的吧, 于是指定10.5的安装头文件, 前面出了一些错误滚动过去了, 结果在编译gcc的时候头文件又出错, 找不到arm下的OSByteOrder.h. 看来还要用10.4的SDK.
再重复上次动作, 换10.4 的SDK, 再编译gcc, 正常过去了
编译helloworld验证, 改arm-apple-darwin-cc为arm-apple-darwin-gcc, 编译找不到crt1.10.5.so, 发现上边漏了软连接crt1.so一步, 链接之, 再编译, 出undefined symbols错误
_objc_sendMsg, google之, 发现其实就在教程里的comments就有人遇到并解决了这个问题
加-lobjc.
按人家说的修改Makefile编译
上传到iphone上, ssh登录并运行, 没问题, 运行的很好.
下边的问题是我给iphone写个什么程序呢????

Posted by hufey at 11:46 PM | Comments (0)

February 09, 2008

《出非洲记》读书笔记

春节长假看了一堆人类学书籍,前几本看的很轻松,睡眼蒙胧的就看完了,没想到最薄的《出非洲记》确是最艰深看的最痛苦的。相信作者已经尽力写的通俗易懂了,不过关于如何用DNA甄别人类迁徙分布进化的一段还是看的很懵懂,想当年我还是高中生物课代表,70分满分的生物能打67分呢。看到书中一个Y染色体谱系分布图很感兴趣。google了一下,找到的是wikipedia上的,被咱们ZF伟大光荣正确的GFW给挡住了,只好带套浏览。顺便把两张图片存下来贴自己的blog里。

人类Y染色体DNA单倍型类群
[编辑首段]维基百科,自由的百科全书
跳转到: 导航, 搜索

人类Y染色体DNA单倍型类群(Human Y-chromosome DNA haplogroups),是利用Y染色体遺傳變異特性進行人類學研究的一門科學,主要用于研究人類的“非洲起源論”及以後的種群分布的遺傳學證據。
目录
[隐藏]

* 1 原理
o 1.1 当前统计数据
o 1.2 说明
* 2 走出非洲实例分析
o 2.1 推测棕色人种C=M130的迁徙路线
* 3 注释
* 4 外部鏈接

[编辑] 原理

人類有23對46条染色体,其中22對44条为常染色体,另外一對為性染色体,XY组合的为男性,XX组合的为女性。Y染色体只能父子相传,所以研究Y染色体,可以发现人群在父系關系上的迁徙和发展。
Y染色体谱系树FamilyTreeDNA的更詳細的谱系树Genome.org的更詳細的谱系树
Y染色体谱系树
Y_Haplogroups_Tree.jpg
FamilyTreeDNA的更詳細的谱系树
Genome.org的更詳細的谱系树

上面的人类Y染色体谱系树是根据Y染色体单倍型类群的不同把全部现代智人分为18个类型,用从A到R的十八个字母作为索引。谱系树中的父节点代表的对应基因突变是所有子节点共有的,但反之不然。

[编辑] 当前统计数据

公元1500年世界人群分布的Y染色体单倍型类群圖

在「Y-chromosome SNP testing at DNA Heritage」這個鏈接里,如果你的瀏覽器支持Flashplayer,則可把鼠標移到Y染色体谱系树的各個索引字母上看各個单倍型類群的獨立分布。

[编辑] 说明

按此谱系树,现今所有人类的Y染色体单倍型类群的根都能在非洲找到。A=M91和B=M60也是非洲居民的特征。而出走到非洲以外的居民后裔,包括棕色人种、蒙古人种(黄色人种)和高加索人种(白色人种),其Y染色体上都带有M168的突变点。

此后在M168突变的基础上,又分别产生了C=M130、DE=YAP和F=M89三个子类型,其中DE=YAP分为D=M174和E=M96两种;DE=YAP又被称为小黑矮人(Pigmy Negroid)基因,和C=M130几乎同时走出非洲。现在DE=YAP主要分布在印度安达曼群岛的安达曼人(达100%)、藏族(58%)、土家族、彝族、瑶族、日本(34.7%)、朝鲜、满族、缅甸人、克钦人。在汉族人中,D=YAP出现的频率小于1%。F=M89则是所有其他人群共有的,现今大概全世界80%以上的人都有这个变异点。

在F=M89的基础上,又产生G=M201、H=M52、I=M170、J=M304和K=M9=K*几个子类型,其中K=M9是最重要的一个子类型,亚欧大陆上除西亚和西伯利亚地区,其绝大部分民族都共有这个变异点,现今中国汉族中,96%的人都是K=M9类型。

在K=M9的基础上,又产生了K1=M177、K2=M70、K3=M147、K4=M230、L=M11、M=M4、NO=M214、P=M45=P*几个子类型,其中NO=M214又分为N=M231和O=M175两个子类,N=M231主要分布在乌拉尔山两侧、北欧北部、东欧北部和北极圈内的爱斯基摩人,而O=M175主要分布在东亚、东南亚、北亚东部、部分太平洋岛屿,现今中国汉族的主要类型就是O=M175。

在P=M45的基础上,又产生了Q=P36和R=M207两个子类,其中R=M207分为R1a=M17和R1b=M173两个子类。Q=P36包括美洲土著印地安人;R1a=M17包括西亚的伊朗、南亚的印度;而整个R=M173类型被认为古雅利安人的基因,分布在欧洲大部和西亚、南亚。

W-MAP

一个很cool的flash

Posted by hufey at 03:23 AM | Comments (0)

February 07, 2008

worldwide smartphone marketing share q4 2007 vs q4 2006


RIM更疯狂

Posted by hufey at 10:21 AM | Comments (0)

January 31, 2008

Moto said, "We were over Qt, anyway."

我预料的应验了。第一个就是MOTO。不过这个对MOTO的打击可是够大的。切换到另一个平台不是说换就换的。从打击对手角度来看,NOKIA的这次收购太成功了。

news from linuxdevices.com
--
Motorola responds to Nokia's Trolltech buy Jan. 30, 2008 Motorola has responded to the news earlier this week that rival Nokia plans to purchase Trolltech, long-time supplier of the graphical development framework used in Motorola's Linux phones. In a nutshell, the response boils down to, "We were over Qt, anyway." Christy Wyatt, who heads up Motorola's software platforms and ecosystems group, told LinuxDevices, "A year ago, we announced that we had founded LiMo [the Linux Mobile Foundation], along with five other companies, to collaborate on mobile Linux [story]. Since then, many other companies have joined. As part of its first specification, LiMo specifies GTK, and we intend to comply." Wyatt admitted that Motorola has no definitive "cut-over date" yet planned for switching from Qt to GTK. She said, "We did evaluate qt4. What we're using is an older version. Limo hasn't published that part of the framework yet, and there's really been no reason for us to rush ahead of the Foundation in moving to GTK." Wyatt said that in the near term, Motorola is working to document the places in its MotoDev tools where the Qt API is exposed. She said, "We're documenting them so developers will know when they're touching a part of the API that might go away." Asked about Motorola's dependence on Trolltech for development tools, or for other parts of Motorola's Linux phone stack, such as webkit integration, Wyatt said there was no reason for concern. "MotoDev Studio is in no way, shape, or form built around Qt tools," she said, adding, "We did actually buy out a part of our license earlier. And our web UI framework, that's a Motorola implementation. We've had it working for a long time." Wyatt concluded, "In the mobile Linux space, Motorola believes in open standards and open source. We encourage Nokia and others to participate in the open development model [exemplified by] LiMo." Asked specifically if she thought Motorola's five-year long embrace of Linux had hurt or helped it, Wyatt laughed and replied, "It's hard to draw a direct connection between one program and a company the size of Motorola. Adopting Linux lets us participate in a thriving open source ecosystem. Linux is a long-term bet for any company. The investiment -- our investment -- is toward leveraging ecosystem, working with partners in the supply ecosystem. We're very happy with our Linux products."

Posted by hufey at 11:07 AM | Comments (0)

January 29, 2008

nokia 收购 trolltech


半夜失眠,起床上网,没想到看到的是这样的消息。
虽说被收购不能说就丧失了独立性--Trolltech的公开信也说了会继续以GPL开放QT的源代码--,但至少业界的nokia的对手们是不是还会继续使用qt作为framework都会考虑再三了。现在是互相进入对方市场的混战时代,即便是google也不会变相给nokia送钱的。
说不定这反倒是gtk的一个机会。

Posted by hufey at 01:55 AM | Comments (0)

January 16, 2008

US Smartphone marketing share

BB居然有39%那么多???真没想到!!!

Posted by hufey at 01:47 PM | Comments (0)

November 08, 2007

终于用上了leopard

过程是如此的艰辛
IT人的历史往往伴随着追捧软件最新版本的历史
当年大家都有MSDOS 3.3的软盘,最好是3.31的
除了经典的3.3,还要有高版本MSDOS,从5.0到6.0,到6.2,到6.22
后来是Windows 3.1,PWindows 3.2。记得Windows 95出来的时候,我在上海郊区,
虽然是上海,但却是郊区,信息不够发达,连盗版盘都不知道去哪买。哈尔滨的同学特快专递给我
一张Windows 95的光盘。
再后来是Windows 98,Windows ME。Windows 2000从Beta版开始用来架Web Server。
迷上Linux后就是RH 5.2,RH 6.0,RH 6.4,RH 7.0,RH 9.0,Fedora,Mandrake,SUSE,GENTOO,Debian,Ubuntu,一路走来
现在是OSX。
迷上MAC比较晚,用上已经是Tiger了。然后就盼着花豹。
买正版是不太可能了,一直等着下载。
等BT下载了几天,Azureus报告磁盘读写错误。
重新下载。
极慢。
看到有D5的下载,赶紧放弃D9的。
D5的下完,是spaseimage格式。GOOGLE之。先转成DMG格式,再转成ISO格式。
烧盘。启动。启不来。
上论坛问别人,没有答案。
再烧一张,还是如此。
直接上淘宝买一张D9,安装。
耗时一晚上,终于安装成功。
继续安装Optional Installation,失败,失败,失败。Installation Disk Damage。
气愤!!!

LP问我,新版本有什么新功能?
我答曰:你看,多了好多新壁纸耶。

Posted by hufey at 04:25 PM | Comments (0)

November 01, 2007

来自Google Analytics对rovert love blog的统计

来自Robert Love的Blog
os-stats-20071030.jpg

And Google Analytics does operating system statistics, too:

* Windows 57%
* Linux 32%
* Mac OS X 11%

browser-stats-20071030.jpg

# Firefox 61%
# Internet Explorer 25%
# Mozilla SeaMonkey 5%
# Safari 3%
# Opera 2%

看来hacker和关注hacker的人中用linux和firefox的人还是很多

Posted by hufey at 11:39 AM | Comments (0)

October 27, 2007

git pull error

好多网上的文档都过期了

git pull http://xxx.xxx/xxx.git出现
error: pick-rref: HEAD not found
的错误,没有一个网页是有价值的
其实只要在该目录中直接git pull就可以了

Posted by hufey at 11:23 AM | Comments (0)

October 25, 2007

montavista 和 access的合作

对双方对业界都是一个好事。对montavista,争取一个大客户而且该大客户本来就是一个非常有实力的竞争对手。对access来说,节约了成本,专注在自己擅长的方向。对业界来说,access出货变快了可以使linux占领更大的市场。尤其是在moto开始三心二意的当下。

Posted by hufey at 11:04 AM | Comments (0)

October 22, 2007

ubuntu 7.10 升级后中文方块问题的解决

除了需要fontconfig-voodoo -f -s zh_CN之外,还要
sudo fc-cache -f -v

大概是某些config文件没有Yes覆盖而是保留原来的结果

Posted by hufey at 03:58 PM | Comments (0)

October 16, 2007

Which companies are helping developing the kernel

Re: Which companies are helping developing the kernel
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Greg KH
To: Alistair John Strachan
Cc: Stefan Heinrichsen ,
Subject: Re: Which companies are helping developing the kernel
Date: Sunday, October 14, 2007 - 5:59 pm

On Sun, Oct 14, 2007 at 11:28:46PM +0100, Alistair John Strachan wrote:
quoted text
> On Sunday 14 October 2007 23:06:22 Stefan Heinrichsen wrote: > > Hello, > > > > I posted this question at comp.linux.misc and where told this would be a > > better place therefore. I would like to do a internship in the field of the > > Linux kernel. > > Can someone tell me where to find a list of companies (don't matter in > > which country) that employ kernel developers? > > I think Greg wrote a paper on this subject, so I've added him to CC in case he > has the link handy.

Yeah, but my paper didn't really track companies very well. The lwn.net
article is the best, and below is my version of who did things in
2.6.23. Note, the lack of a company is not an indicator that they did
nothing, just that I could not easily determine someone worked for them.
I'll try to send out my "who are you working for" emails in a week or so
to see if I can further categorize the "unknowns".

thanks,

greg k-h
-------------------------

Processed 7075 csets from 992 developers
126 employers found

Top changeset contributors by employer
(Unknown) 1116 (15.8%)
(None) 843 (11.9%)
Red Hat 827 (11.7%)
IBM 557 (7.9%)
Linux Foundation 528 (7.5%)
Novell 449 (6.3%)
Intel 242 (3.4%)
Oracle 158 (2.2%)
MIPS Technologies 143 (2.0%)
Nokia 133 (1.9%)
NetApp 119 (1.7%)
NTT 99 (1.4%)
Astaro 97 (1.4%)
MontaVista 90 (1.3%)
(Consultant) 86 (1.2%)
SGI 84 (1.2%)
Qumranet 74 (1.0%)
QLogic 70 (1.0%)
(Academia) 70 (1.0%)
SWsoft 64 (0.9%)
Analog Devices 61 (0.9%)
HP 60 (0.8%)
Sony 59 (0.8%)
rPath 56 (0.8%)
XenSource 53 (0.7%)
CERN 49 (0.7%)
CC Computer Consultants 48 (0.7%)
Freescale 47 (0.7%)
Fujitsu 47 (0.7%)
Tripeaks 46 (0.7%)
linutronix 44 (0.6%)
Snapgear 39 (0.6%)
Simtec 34 (0.5%)
Atmel 28 (0.4%)
Google 28 (0.4%)
Cisco 27 (0.4%)
Toshiba 25 (0.4%)
Broadcom 25 (0.4%)
SteelEye 24 (0.3%)
Renesas Technology 23 (0.3%)
Mellanox 21 (0.3%)
LSI Logic 17 (0.2%)
Adaptec 16 (0.2%)
Wipro 15 (0.2%)
Marvell 14 (0.2%)
Miracle Linux 14 (0.2%)
Solid Boot Ltd. 14 (0.2%)
AMD 12 (0.2%)
Hitachi 11 (0.2%)
ARM 11 (0.2%)
Canonical 10 (0.1%)
XIV Information Systems 9 (0.1%)
OpenedHand 9 (0.1%)
Open Grid Computing 9 (0.1%)
Veritas 8 (0.1%)
Secretlab 7 (0.1%)
Neterion 7 (0.1%)
Katalix Systems 7 (0.1%)
SANPeople 7 (0.1%)
Digi International 7 (0.1%)
Znyx Networks 6 (0.1%)
Wind River 6 (0.1%)
NEC 6 (0.1%)
Wolfson Microelectronics 6 (0.1%)
SUNY Computer Science 6 (0.1%)
NetXen 6 (0.1%)
NVidia 6 (0.1%)
Myricom 6 (0.1%)
Chelsio 5 (0.1%)
Realtek 5 (0.1%)
IPUnity-Glenayre 5 (0.1%)
Linux Networx 5 (0.1%)
Barco 4 (0.1%)
SIOS Technology 4 (0.1%)
MIPS 4 (0.1%)
University of Aberdeen 4 (0.1%)
PiKRON s.r.o 4 (0.1%)
Pardus 4 (0.1%)
Crash Barrier 4 (0.1%)
Tresys 4 (0.1%)
ClusterFS 4 (0.1%)
Macq Electronique 3 (0.0%)
OLPC 3 (0.0%)
CompuLab 3 (0.0%)
DENX Software Engineering 3 (0.0%)
Embedded Alley Solutions 3 (0.0%)
Twin Sun 3 (0.0%)
Transmode Systems 3 (0.0%)
Cosmosbay~Vectis 3 (0.0%)
Pengutronix 2 (0.0%)
Sierra Wireless 2 (0.0%)
Real-Time Remedies 2 (0.0%)
Bull 2 (0.0%)
ScaleMP Inc. 2 (0.0%)
Samsung 2 (0.0%)
MicroGate Systems 2 (0.0%)
Atomide 2 (0.0%)
US National Security Agency 2 (0.0%)
VMWare 2 (0.0%)
Verismo 2 (0.0%)
Akamai Technologies 2 (0.0%)
CE Linux Forum 2 (0.0%)
Siemens 1 (0.0%)
ONELAN 1 (0.0%)
Xorcom 1 (0.0%)
EXOSEC 1 (0.0%)
LWN.net 1 (0.0%)
Texas Instruments 1 (0.0%)
Promise Technology 1 (0.0%)
VA Linux Systems Japan 1 (0.0%)
University of Sevilla 1 (0.0%)
Motorola 1 (0.0%)
HES-SO Valais Wallis 1 (0.0%)
SYSGO 1 (0.0%)
Via 1 (0.0%)
Telecom-Service 1 (0.0%)
Hauppauge 1 (0.0%)
DSA 1 (0.0%)
Vivecode 1 (0.0%)
Mandriva 1 (0.0%)
ATRON electronic 1 (0.0%)
Cytronics & Melware 1 (0.0%)
M&N Solutions 1 (0.0%)
Rockwell 1 (0.0%)
8D Technologies 1 (0.0%)
University of Cambridge 1 (0.0%)

Posted by hufey at 05:33 PM | Comments (0)

September 26, 2007

Who writes the Linux kernel?

没听说过以下公司:
Tripeaks, Emulex, rPath, Solid Boot, PMC-Sierra, Astaro

Posted by hufey at 04:00 PM | Comments (0)

September 16, 2007

SCO申请破产保护

王安是我知道的第一个电脑公司的名字,好像是八十年代初CCTV搞的智力竞赛,赵老师忠祥主持,王安电脑公司作为华人在美国成功的代表,组队参赛,好像拿了个第二(?)。我当时还不知道电脑是个啥东西。
苹果大概是我知道的第二个电脑公司的名字,因为风传所在的中学花巨资买了两台“苹果二”电脑,放在专用的机房里当宝贝供着,只有某专职老师和校长公子可以进去使用。我甚至都没机会见到。
四通联想浪潮是在电视上看到的广告。四通的比较科幻,霹雳贝贝风格,看完了以为四通的人都是外星人派来的。联想好像是“人类没有联想,世界将会怎样”,比较傻。浪潮是一个大浪打过来,然后是“浪潮0520,如何如何”,一直也不明白0520是什么意思。
然后就是SCO了,电视台有个SCO UNIX的讲座,我那会对跟电脑搭边的东西都特别感兴趣,苦于没有机会接触电脑。于是盯着这个讲座连续学了好几期。记得第一讲是讲“ls”的用法,讲了几十分钟。想来这个讲座也是针对企业中使用SCO UNIX的用户,因为从那之后的十几年里我没用过SCO UNIX,甚至认识的人里也没有用过SCO UNIX。所谓学习,就是把电视上讲的内容,记到纸上,想象如果我坐到电脑前,应该怎么使用这些命令。
对SCO一直有莫名的好感,因为那些记在纸上学到的命令和概念在我几年之后在大学里接触学习SUN III工作站的时候上手比别人快了一些。
这种好感一直延续到SCO和Linux打官司之前。
现在可倒好,官司失败了,SCO也流落到破产保护的境地。

Posted by hufey at 10:28 AM | Comments (0)

September 08, 2007

不带这么拿人打嚓的

有一哥们一直用root登录使用fedora,但是auto login不能以root自动登录,这哥们居然给linux kernel mailinglist发了一个邮件如下:

Dear whoever is in charge of writing fedora core 7,

The auto login is a wonderful feature. However, there is a HUGE flaw in
it at the moment. It won't let me log in a root that way. That is MY
decision, not YOUR decision. Please fix it in an update!!! I'm sick of
having to log in as root every single time I use my computer. I
understand that there are situation where people have other people use
their computer and don't want them to be root. However, I never want to
be logged in as anything other than root, and I suspect everyone who has
half a brain is the exact same way. Honestly, have you ever been logged
in as someone other than root? You absolutely can do nothing on the
machine. For those who make the argument that someone logged in as root
might break the machine by doing something they shouldn't, I would say
it's already broken without being root. You cannot mount drives, edit
anything about how the /etc directory is setup, or do many other things
that everyone I know does on a regular basis. IN general, there are
times when you are logged in as a non-root user when it will ask you for
a password. That is so inconvenient when you are the only one who uses
your own computer. PLEASE get root auto login as an option. No one but
me has to set it up this way, but please give ME the option.

Thank You,

几个人就他的错误行为给出了简短的回复,例如给fedora提bug之类的。

也有人比较刻薄,回复如下:

Hint 1: If you're not smart enough to figure out how to fix your system so that
it does what you want, you're not smart enough to run as root all the time.

Hint 2: You're posting to a kernel list about a non-kernel problem. See hint 1.

结果另一人跟着回复如下:

>Hint 1: If you're not smart enough to figure out how to fix your system so that
>it does what you want, you're not smart enough to run as root all the time.

yum install smart

Posted by hufey at 06:31 PM | Comments (0)

August 08, 2007

垃圾邮件长本事了

居然会自动生成跟邮件列表名称相关的subject和附件。虽然内容还是垃圾

[Ltp-coverage] Technical_Analysis-ltp-coverage Inbox ltp-coverage

Reply
Reply to all Reply to allForward Forward Print Add rhadona to Contacts list Delete this message Report phishing Show original Message text garbled?
rhadona Renfroe
to ltp-coverage

show details
7:32 am (3 hours ago)

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Ltp-coverage mailing list
Ltp-coverage@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-coverage


Technical_Analysis-ltp-coverage.pdf
13K View as HTML Download

Posted by hufey at 10:30 AM | Comments (0)

June 13, 2007

用Tor突破GFW

听说很久了,一直没试过,因为那些反动的带色的网站看够了,曾经为wiki和google cache烦恼过,时间一长居然习惯了。
不过最近被GFW封的网站越来越多,甚至flickr.com。简直没有天理。
看到洪文《互动:一个网络警察的自白-》让我想起还有Tor可用。
装之,Tor支持Windows, MAC OSX还有linux,我就挨个装个遍。
再上wikipedia, flickr,都没问题了,就是慢点。上网慢了点,机器速度好像也拖慢了不少。

Posted by hufey at 11:33 PM | Comments (0)

June 10, 2007

装嫩

看最近twitter类服务火爆,也去注册了twitter和饭否
贴在blog的边上
感觉这都是80后,90后甚至00后才喜欢的咚咚吧
虽然自己也不时改改msn的名字,好像自己到不感兴趣别人是不是对我的改名感兴趣
不过不妨尝试一下流行的东西,省得自己老的太快

Posted by hufey at 10:16 AM | Comments (0)

June 07, 2007

QT的Java API

上边的Application应该为Java Application才对,native application肯定还是直接和QT API打交道

Posted by hufey at 10:52 AM | Comments (0)

June 05, 2007

Poll Results: Will you line up for an iPhone?

TUAW的大饼,居然有更多的人认为No, I have better things to do



Will you line up for an iPhone?








Selection 
Votes
No, I have better things to do 45%792
I'm considering it 17%290
If I have the free time, yes 9%152
OMG ABSOLUTELY!! 29%513
1,747 votes total

Poll results are subject to error. Pollhost does not pre-screen the content of polls created by Pollhost customers.







Posted by hufey at 10:33 PM | Comments (0)

May 08, 2007

robert love去了google

一声叹息

Prologue: Google!

I am jubilant to announce that I have accepted an offer of employment from Google, a public corporation specializing in search, advertising, and unabated innovation.

Joining the staff of the Open Source Program Office, purveyors of such wonderful offerings as the Summer of Code, I shall remain in Boston.

I will leverage a few weeks of anything-but-relaxing unemployment to finish my latest book, move across the river, and advise political campaigns, then I will hit the ground running.

Posted by hufey at 12:08 AM | Comments (0)

May 01, 2007

Why device developers prefer Debian


by Henry Kingman (Apr. 30, 2007)

LinuxDevices.com's survey results consistently show Debian to be the most popular distribution among device developers. For example, our 2007 survey indicated that Debian was used in device-related projects by 13 percent of the survey's 932 participants, roughly double the score of MontaVista, the most popular strictly-embedded distribution.


What sources of Linux were/will be in your (company's) embedded designs?
(Click to enlarge)


Spread the word:
digg this story
In addition to Debian's 13 percent score, Ubuntu, which is based on Debian packages, jumped to 6 percent this year, its first year in our survey. In contrast, Red Hat, achieved a 5 percent score and Fedora came in at 6 percent, while SUSE scored just 2 percent. The complete results and analysis are here.

Why do device developers prefer Debian?

Here are what I believe are the top reasons:

1. All the latest packages --Ironically, Debian is sometimes faulted for infrequent stable releases. But developers don't care so much about the kind of "stability" that the stable branch buys you -- desktop integration and UI fit and finish. They all run the "unstable" branch, and generally apt-get important packages weeks, days, or hours after they are released upstream -- and months before they appear in packaged distributions.

2. It's comprehensive -- Last time I checked, Debian had more than 14,000 packages. It's rare to find an open source software package that is not maintained in Debian. The average maintainer's age is about 23. Learning to build and package software is a great introduction to open source programming.

3. It's never going out of business -- Debian is not in any way affiliated with any commercial venture, and thus is pretty much not going to be the next BeOS.

4. It's convenient -- Hm, I wonder if there's an open source software package that does xyz. Apt-cache search xyz. Dpkg -l '*xyz*'. Apt-cache show xyz-utils. Apt-get install xyz-utils. It's as simple as that. And probably even simpler with aptitude, which is what we're all supposed to be using by now, you know.

5. 11 architectures -- Actually, I think there are more architectures than this, but only 11 appear to have installation manuals (those incredibly prolix things! Someone should take a machete to them). Developers (especially device developers) like lots of architectures, since they all have their strengths (x86 for complex multi-tasking UIs, ARM for low power, MIPS and PowerPC for extensibility, etc).

6. It's infinitely malleable -- When you install Debian, you can opt for one of the "tasksel" packages, such as "desktop" or "print server," etc., etc. However, you don't have to. You can still very easily install only the most minimal of components, and then simply add what you need, as you need it. After a week or so, you've got everything you need, and nothing you don't -- a great strategy for increasing security and getting the most from your system.

7. You're not stuck inside Debian -- If you have to install RPMs, you can convert them into DEBs using the alien scripts. If you want to build stuff from source, you can "hold" packages so your custom-built stuff won't get clobbered by the next system-wide upgrade.

8. Easy system maintenance, even between major releases -- With each new release, instead of downloading a CD and wiping out your root filesystem, just apt-get dist-upgrade. And, you can sync up to the latest and greatest versions of everything as often as you like.

9. Support of other Debian users -- Debian users tend toward omniscience, or at least fiercely competitive peer review, even of support advice. The #debian channel on freenode is a great place to observe this in action, and get help solving any question you like (as long as it's actually a Debian question).

为什么编辑忽视几点:
1,最高的是kernel.org
2,debian比例在下降
3,比例上升的几个幅度很大
4,最commecial的是MontaVista
5,Ubuntu是更好的debian

Posted by hufey at 08:58 AM | Comments (0)

April 19, 2007

he wrote the 100K patch in 62 hours

Linux: The Completely Fair Scheduler
April 18, 2007 - 5:51am
Submitted by Jeremy on April 18, 2007 - 5:51am.
Linux news

Ingo Molnar [interview] released a new patchset titled the "Modular Scheduler Core and Completely Fair Scheduler". He explained, "this project is a complete rewrite of the Linux task scheduler. My goal is to address various feature requests and to fix deficiencies in the vanilla scheduler that were suggested/found in the past few years, both for desktop scheduling and for server scheduling workloads." The patchset introduces Scheduling Classes, "an extensible hierarchy of scheduler modules. These modules encapsulate scheduling policy details and are handled by the scheduler core without the core code assuming about them too much." It also includes sched_fair.c with an implementation of the CFS desktop scheduler, "a replacement for the vanilla scheduler's SCHED_OTHER interactivity code," about which Ingo noted, "I'd like to give credit to Con Kolivas [interview] for the general approach here: he has proven via RSDL/SD that 'fair scheduling' is possible and that it results in better desktop scheduling. Kudos Con!"

Regarding the actual implementation, Ingo explained, "CFS's design is quite radical: it does not use runqueues, it uses a time-ordered rbtree to build a 'timeline' of future task execution, and thus has no 'array switch' artifacts (by which both the vanilla scheduler and RSDL/SD are affected). CFS uses nanosecond granularity accounting and does not rely on any jiffies or other HZ detail. Thus the CFS scheduler has no notion of 'timeslices' and has no heuristics whatsoever. There is only one central tunable, /proc/sys/kernel/sched_granularity_ns, which can be used to tune the scheduler from 'desktop' (low latencies) to 'server' (good batching) workloads." He went on to note, "due to its design, the CFS scheduler is not prone to any of the 'attacks' that exist today against the heuristics of the stock scheduler".

During the followup discussion, Ingo explained that he wrote the 100K patch in 62 hours. In response to concerns that his efforts had not been discussed first on the Linux Kernel Mailing List, Ingo explained, "I prefer such early releases to lkml _alot_ more than any private review process. I released the CFS code about 6 hours after i thought 'okay, this looks pretty good" and i spent those final 6 hours on testing it (making sure it doesnt blow up on your box, etc.), in the final 2 hours i showed it to two folks i could reach on IRC (Arjan and Thomas) and on various finishing touches." He went on to add, "the 'design consultation' phase you are talking about is _NOW_! :)" Later in the discussion that touched on egos, Linux creator Linus Torvalds noted, "one of the most motivating things there *is* in open source is 'personal pride'," going on to add, "it's a really good thing, and it means that if somebody shows that your code is flawed in some way (by, for example, making a patch that people claim gets better behaviour or numbers), any *good* programmer that actually cares about his code will obviously suddenly be very motivated to out-do the out-doer!"

Posted by hufey at 02:11 PM | Comments (0)

March 15, 2007

在google定制主页里加gtalk插件

点这里安装
效果是这样地

Posted by hufey at 05:55 PM | Comments (0)

Locationbar²

Locationbar²
很不错的firefox extension,记得把这个选项打开

Posted by hufey at 05:35 PM | Comments (0)

January 18, 2007

重新看好Symbian

Embedded OS的战争最后往往是API的战争。
Windows CE有广大的Windows 程序作基础, Linux有Posix API。只有Symbian(以前)是与众不同的。虽然Symbian是smartphone OS的老大,也养活了一堆小公司,但是对于一个第三方公司想为不同的系统写程序去维护几套API是痛不欲生的。Porting现有的程序也很困难。
直到今天看到Symbian的这个举措,我才相信Symbian的未来是可持续发展的。

--------------------------------------------------------
Symbian OS to gain POSIX libraries
Jan. 17, 2007

Symbian plans to beta test POSIX libraries for its Symbian OS this quarter. The PIPS (PIPS is POSIX on Symbian) libraries provide C and C++ APIs (application programming interfaces) in standard "libc," "libm," "lipthread," and "libdl" libraries, with the aim of helping programmers migrate existing middleware and applications to Symbian.

The PIPS libraries were announced Jan. 16 in Beijing, where Symbian opened an office.

Symbian says PIPS will significantly reduce the work of migrating existing desktop and server components to Symbian OS. Typical applications might include web servers and file sharing software, the company says. For instance, mobile phone marketshare leader Nokia, which licenses Symbian for its smartphones, ported Apache to Symbian last summer.

Symbian executive VP Jorgen Behrens stated, "It is now realistic and desirable to migrate desktop and server code onto mobile devices."

Symbian claims that there are about 100 million Symbian-based smartphones in the market, making it the top smartphone OS. However, Symbian's fortunes may be falling, according to research reports last year from ARCchart, ABI, and The Diffusion Group.

Availability

A beta version of PIPS will be available for Symbian OS v9.1 (and above) as a downloadable .SIS file from the Symbian Developer Network by the end of Q1 2007, Symbian says.

Posted by hufey at 11:19 AM | Comments (0)

December 11, 2006

QuickCheck

删垃圾留言删的我头昏眼花
想着要不要自己写一个extension来快速删除
想了想。。。估计有人写过了
于是找到这个:
QuickCheck

Posted by hufey at 08:10 PM | Comments (0)

December 01, 2006

推荐本书


Advanced Programming in the UNIX Environment

一个新入行的MM程序员让我推荐Linux编程方面的书
我说linux下的编程其实都是标准C和posix api,不用另买书看
她问我什么是posix
我说是一套IEEE定的api标准
她有问有没有哪本书讲posix标准的
我想了半天却想起来大概7年前我做的一个项目,大概就是给一个简陋的RTOS做一个文件系统
我非常希望做到posix-compatible,但是没有讲posix细节的文档,于是上网搜,搜出来的
文档都是要花钱去IEEE买的,而那时的公司又不愿意出这笔钱(好像不是个小数目),最后就不了了之了。当然我还是尽我所能去写了那些代码来贴近我理解的posix。
后来落下了个心病,去书店逛的时候希望能找到一点posix的雪泥鸿爪。
直到在(大概是三联)书店发现了这本UNIX环境高级编程。当时还是第一版,其实我到现在也没完整看完一遍,大概看了2/3内容。多数都是遇到问题时去查。

本来是打算给MM发pdf的,不过在joyo买东西打算凑订单,结果偶然发现了此书的第二版。当即拿下。不过要送人,自己还没打算买。原价99元,即便我以VIP价买也要67块,还是挺贵的。

另外,七百多页的书确实有点太厚,家里书架已经没地方了。。。。。。

Posted by hufey at 04:43 PM | Comments (0)

November 04, 2006

web-based image editor

本来只是想upload一个图片到google group member profile
没想到自己常用的图大小不合适,然后发现ibook里居然没有软件可以做图片编辑
装photoshop太痛苦了,想google一个小软件来着
后来冒出来一个想法,既然现在web上连office都有了,说不定也该有一个photoshop了
google "image edit web"结果还出来不少
找到一个www.myimager.com
嘿嘿 功能还真不少

顺便又找了一个web-based diagram editor :D

Posted by hufey at 11:21 PM | Comments (0)

哎呀,好恶心


一贯投机的Novell和一贯恶心的Micro$oft
听起来是好事
但是我怎么就恶心的直起鸡皮疙瘩呢???

Posted by hufey at 05:59 PM | Comments (0)

October 26, 2006

装上了FF2和IE7

FF2之前在公司某台电脑上装过一个Beta版,印象很不错
这次是在自己的电脑上,来正式release的吧
IE7不知为什么Windows update里没有,只好下载再装
比较了一下,IE7的UI设计实在是太丑了,难道微软的人都跑光了?

另外把bloglines的feed都挪到了google reader上
嗯,不是bloglines不好,只是他的FF extension出的太慢
不过据说可以显示google reader的subscribe的extension GMark我还没研究明白。。。

Posted by hufey at 12:56 AM | Comments (0)

August 09, 2006

Andrew Morton去google了

Posted by hufey at 11:41 AM | Comments (0)

May 26, 2006

Linux DDK?


Greg KH要干什么?
下了一份,刻盘之前想了想还是先打开了iso文件看了一下
里面不过是LDD3的电子版和kernel 2.6.18的source code
这些在网上都能免费下到啊!

实在不行难道你不会把linuxjournal的历年文章做成pdf放里面吗?

Posted by hufey at 07:25 PM | Comments (0) | TrackBack

April 29, 2006

Apache vs. IIS

apache调用关系图

IIS调用关系图

Posted by hufey at 10:14 AM | Comments (0) | TrackBack

March 07, 2006

gentoo dev map


gentoo 开发人员在世界分布的地图
悲哀啊,中国一片空白

Posted by hufey at 12:00 PM | Comments (0) | TrackBack

March 01, 2006

freemind顿悟

知道freemind有很长时间了,一直没想明白对自己有什么用。
今天却有了顿悟的感觉
这个东西做项目管理、年度计划之类的再合适不过了。
以前上学的时候,每年做一个计划--当然不是课程方面的。
在小笔记本上--当然不是笔记本电脑--写几页纸。
后来这个习惯在毕业后持续了数年,再后来就忘了,再后来,就是现在又捡起来这个好习惯。
不过现在有电脑了,就想用软件来记。记得office 2003有个什么存笔迹的软件写过几回
发现并不好用,也就放弃了。
今天终于发现freemind太适合整理思路了
现在杂事比较多,正好可以freemind无限制分类。
而且键盘快捷方式也是我喜欢的。
边想编记,慢慢写了一大坨,单位的任务,自己要做的,技术的,非技术的。。。
非常不错。
要说不足就是图标不能自己添加,原配的图标根本不够用的。。。

Posted by hufey at 01:37 AM | Comments (2) | TrackBack

January 17, 2006

难道QT目前不支持GB18030?

Konsole在GB18030下不能用scim输入中文
改locale为gbk就可以了
gnome-terminal都可以,奇怪!

Posted by hufey at 12:48 AM | Comments (0) | TrackBack

December 20, 2005

subversion+apache2安装成功

自己家里也缺一个版本控制环境,正好之前听RedSox说起Subversion的好,也想尝试一下
新东西--目前已经用过VSS,CVS,ClearCase,大概只有svn没有被我临幸过了。

上网找howto,装!--应该说 emerge !
装完,设置,装TortoiseSVN client,browse repos,输入密码
不对!再输,还是不对。没辙上网求救吧,先是在paowang it发帖子,paowang it
虽然帖子不多,但是我深信有很多高手潜水看热闹。
在单位继续google,不得要领,搜到一个subversion.org.cn的网站
下300页pdf手册一本,看!
又注册id到该网站论坛发帖求助如下

=================================
hufey
斑竹


注册时间: 2005-12-20
帖子: 4


帖子发表于: 星期二 十二月 20, 2005 1:01 pm 发表主题: 请教svn和apache2的配置,现在密码访问通不过 引用并回复 编辑/删除帖子
我按照网上文档的步骤在gentoo linux设置好了apache2 mod_dav和svn
看上去似乎是对的
用的Basic AuthType,加用户、密码是htpasswd2生成的
但是当我 import project的时候(在linux里)
总是先问我要root的密码,然后要一个username和passwd
我把我刚设好的给他,要两次之后就fail了
我在另外一台windows机器tortoise连http://ip/svn/repos
也会要用户密码,同样我把刚设好的给他
他会一直不停的要
请问是何道理?
谢谢
返回页首
阅览成员资料 (Profile) 发送私人留言 (PM)
luke
斑竹


注册时间: 2005-11-01
帖子: 12


帖子发表于: 星期二 十二月 20, 2005 4:34 pm 发表主题: 引用并回复
感觉似乎是配置文件有问题,发上来看看。没有用ssl吧,如果最后import失败应该是配置不对,看看Apache日志文件里有什么错误。
返回页首
阅览成员资料 (Profile) 发送私人留言 (PM)
hufey
斑竹


注册时间: 2005-12-20
帖子: 4


帖子发表于: 星期二 十二月 20, 2005 7:19 pm 发表主题: 配置如下 引用并回复 编辑/删除帖子
/etc/conf.d/apache2中
APACHE2_OPTS="-D DEFAULT_VHOST -D SVN -D SVN_AUTHZ -D DAV -D DAV_FS"

/etc/apache2/modules.d/47_mod_dav_svn.conf



LoadModule dav_svn_module modules/mod_dav_svn.so


DAV svn
SVNPath /var/local/repos
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /etc/passwd
Require valid-user



LoadModule authz_svn_module modules/mod_authz_svn.so



返回页首
阅览成员资料 (Profile) 发送私人留言 (PM)
hufey
斑竹


注册时间: 2005-12-20
帖子: 4


帖子发表于: 星期二 十二月 20, 2005 7:24 pm 发表主题: 可以了 引用并回复 编辑/删除帖子 删除这个主题
原来是看不同的文档看到头晕了
写的是/etc/passwd
实际添加用户的在/path/to/repos/passwd里
贴配置时多看了一眼,明白了
改回来就好了
不过/etc/passwd里也有我的用户,密码一样,
连不上是加密方式不一样吗?
=======================================
最后一个帖子已经是回家之后发的,居然是passwd文件写错了。
不管怎样,毕竟能用了。。。
发帖子之前还subscribe了svn user mailing-list,看来可以取消它了

Posted by hufey at 07:36 PM | Comments (0) | TrackBack

December 11, 2005

telnetd和sshd

在gentoo下
emerge xinetd
emerge netkit-telnetd
改/etc/xinet.d/telnetd中disable为no
再启动xinetd
/etc/init.d/xinetd start即可
不过这样下来只能本地登陆,其他电脑还是登不上来地
必须去掉/etc/xinetd.conf中only_from=localhost才行

sshd比较简单,只要emerge sshd后再/etc/init.d/sshd start即可
但是putty登陆是会自动退出地
把window 改成never close会看到
No supported authentication methods left to try!
google了一遍查到据说putty版本问题
可我升级到最新版本也还一样
最后 改了/etc/ssh/sshd_config中的PasswordAuthentication no为yes
才行
不过这样不会有安全性的问题吗???

Posted by hufey at 02:04 AM | Comments (0) | TrackBack

November 30, 2005

Firefox 1.5 新鲜出炉

很少见OOS社区这样期盼一个软件的release
29号N多人期待“今天下午Firefox 1.5就release了”
仿佛中国小孩盼过年一样
我本来也等了等菜单条的蓝色有新update的标志
等了两天还没有,只好手动下载安装
下载的时候只有一个thread被允许,估计也是临时性的限制吧
升级完发现20多个extension有十多个被disable了
因为不兼容于1.5
不过1.5extension 下边提供了一个find update的按钮
以前有么?我没注意过
check update后发现了大部分都有了兼容1.5的升级
现在还有6个不能用的,只有慢慢等了
LiveLines居然也没有,bloglines这就有点不像画了

另外,某些错误提示信息好看了

Posted by hufey at 09:25 PM | Comments (0) | TrackBack

November 20, 2005

有些人是不是真的有病?


而且数量高达9999人。

Posted by hufey at 09:05 AM | Comments (1) | TrackBack

November 13, 2005

vidalinux

在DistroWatch中叫VLOS。怪不得我没找到。
直接装gentoo stage 3的一个distribution。

New Gentoo-based desktop adds system update capabilities
Jul. 22, 2004

Based on Gentoo Linux, the Vidalinux Desktop OS has been announced on the project's website, and the first beta of the software is expected to be available on Gentoo mirrors soon. The goal of the Vidalinux Desktop OS is to make Linux easier to use and administer for daily work for home or office users.

Described as a "metadistribution", the software uses a technology called Portage that is said to allow the Gentoo-based desktop to become a secure server, development workstation, professional desktop, gaming system, embedded solution, among possible uses for the system.

This "near-unlimited" adaptability allows users to increase their desktop productivity by enabling updates and the installation of applications, the project claims. Portage technology keeps systems up-to-date with the most current application and security patches, compiling from source code or downloading precompiled binaries. Portage also resolves dependencies, according to the project's website.

A "Porthole" system (see image on right -- click to enlarge) provides automated software updates and patching, including desktop alerts/notifications and dependency checking/analysis, to ensure that systems are secure and are running the latest software.

Vidalinux Desktop OS includes a GNOME desktop environment, Ximian edition of OpenOffice.org, Mozilla browser, Evolution mail and calendar client, Gentoo Linux system, and portage package manager. The project says that the distribution includes additional multimedia and productivity applications for the home user, including media players, browser plugins for flash, real player, pdf viewer, media, graphics design, and administration tools.

The recommended requirements for running Vidalinux are a Pentium III compatible processor (500 MHz or faster), a 10 GB hard disk, and a minimum of 256MB RAM. Additionally, Vidalinux requires 1024x768 screen resolution or better.

Posted by hufey at 12:10 PM | Comments (0) | TrackBack

October 31, 2005

Poll: What Your Next Cellphone Will Be?

Poll: What Your Next Cellphone Will Be?
Written by Eugenia Loli-Queru on 2005-10-31 09:42:33 UTC
According to recent news, global shipments of smartphones are up 75% in Q3 2005, with PDA-only handheld shipments falling 18% and converged devices more than doubled in volume. So, what are the tech-inclined OSNews readers are opting for? Come in and vote.


Cellphones today usually are categorized in 5 ways. Here are some sample configurations for these categories (configurations that could vary in many ways of course and are given here only as a guideline):
1. Low-end phones. Few LCD colors and very low resolutions (e.g. 96x64), only SMS support, no camera, no java, 500KB to 4 MB internal storage. Example: Sony Ericsson J210i, Nokia 1221.
2. Low-end feature phones. CIF/VGA camera (no flashlight), 128x128 STN LCD or similar, Java, 5-15 MB internal storage. Example: Sony Ericsson K300i, Nokia 6235i.
3. Mid-range feature phones. VGA to 1 MP camera with flashlight, 128x160 or 176x220 TFTs, Java, EMS, 15-35 MBs internal storage, Bluetooth. Example: Sony Ericsson K700i, Motorola ROKR.
4. High-end feature phones. 2MP cameras, QVGA or 176x220 TFTs, Bluetooth, flash storage slot and 35-50 MBs internal storage, high multimedia inclination. Examples: Sony Ericsson K750i and W800i, Nokia 7370.
5. Smartphones. Any Windows, PalmOS, Symbian or Linux powered devices.

Note: This poll requires javascript to view and vote for.



My next cellphone purchase will be:
None, I do not need a cellphone
48 (6 %)
None, my carrier gives one to me for free
27 (3 %)
Just a plain & cheap low-end cellphone
98 (13 %)
A low-end feature phone
57 (7 %)
A mid-range feature phone
102 (13 %)
A high-end feature-phone
112 (14 %)
Windows Mobile smartphone
69 (9 %)
Symbian smartphone
84 (11 %)
PalmOS smartphone
38 (5 %)
Linux smartphone
114 (15 %)
Total votes: 749

Posted by hufey at 10:24 PM | Comments (0) | TrackBack

September 20, 2005

linux kernel 里coding style的讨论

kerneltrap

Linux: Reiser4 and the Mainline Kernel
Posted by Jeremy on Monday, September 19, 2005 - 06:38
Linux news

Hans Reiser [interview] sent an email to the lkml titled, "I request inclusion of reiser4 in the mainline kernel". He provided a list of objections raised earlier, noting that all had been addressed. Among the listed issues, Reiser4 now works with 4k stacks. "There have been no bug reports concerning the new code," Hans added.

The request was followed with some suggestions by Christoph Hellwig, including general comments about the coding style. This was one of many issues that led to debate in which Hans commented, "most of my customers remark that Namesys code is head and shoulders above the rest of the kernel code. So yes, it is different." Alan Cox [interview] replied that while the kernel coding style isn't his own style, he tries to follow it when working on the kernel, "one big reason we jump up and down so much about the coding style is that its the one thing that ensures someone else can maintain and fix code that the author has abandoned, doesn't have time to fix or that needs access to specific hardware the authors may not have." Much of the rest of the thread was less friendly, leaving the question of merging Reiser4 into the mainline kernel still up in the air.

Posted by hufey at 12:04 AM | Comments (1) | TrackBack

September 12, 2005

Coding standard vs. coding standard

很多年前的很多年前, 自己写程序, 编码风格基本是自己总结反思出来的

很多年前, 服务于K公司, 过iso 9000-3,9003什么的, 编码风格统一为
if ( cond )
{
something
}
else
{
otherwise
}
注意( 和 cond之间是有一个空格的, 适应这个花了我不少时间
函数和变量跟MS跑, 匈牙利命名法

后来, 服务于X公司, 虽然没有统一的代码风格, 还是跟着以前的程序
改成
if ( cond ) {
something
} else {
otherwise
}
适应这个花了我不少时间, 函数变量胸鸭梨命名法
这个地方呆的时间比较长, 也比较认同这个多一些

再后来, 和一帮linux kernel hacker工作, 他们反对胸鸭梨命名法, 他们认为好的代码
不需要在变量定义上去区分类型, 如果那样就说明代码写的可读性还不够好。
他们没有任何一份写出来的编码标准需要自己去遵守 ,
但是他们有自己心中维持的标准并且彼此心照不宣。

现在, 我又要和另外一群人一起工作, 遵循CMM的标准, 有严格的编码标准。
程序要写成绛紫:
if ( cond )
{
something
}
else
{
otherwise
}

彪哥快板是这么唱的“十二个生肖十二个年,十二年本是一个循环”

Posted by hufey at 12:37 PM | Comments (6) | TrackBack

June 13, 2005

txt2regex

每日里总在为正则表达式伤脑筋
正则表达式当然是好东西,就是每次都记不住规则,然后再试呀试
望着含糊不清的提示发呆
今天下午再次陷入这种状况
其实很简单,就是把一句话的(后面的一串去掉
可是我写出来的怎么都不对
要么停在)
要么doesn't work
只好再次向35F2老兄求援
我就琢磨着,要不干脆花点时间写一个辅助程序,定义一些规则
来帮忙写。。。?
马上就想到我能想到的事别人肯定早就想到了
于是emerge -s regular,没查到什么有价值的
再跑到freshmeat.net上搜
果然搜出txt2regex!!!
用人类语言问问题然后生成正则表达式
哈哈
真是得来全不费工夫
花了10秒钟找到了答案

。。。可惜了我的一下午

Posted by hufey at 07:29 PM | Comments (1) | TrackBack

June 05, 2005

~/.mplayer/config

# Write your default config options here!

# 中文编码
subcp=cp936

# 中文字体
font=/usr/share/fonts/TTF/simsun.ttf

# 调整字幕字体大小
subfont-text-scale=3

# 为了fbdev下的全屏显示
vop=scale
zoom=1
xy=800
fs=1

# 关掉fbdev下方输出信息
really-quiet=1

Posted by hufey at 12:19 AM | Comments (0) | TrackBack

June 01, 2005

编译snapgear的uclinux

即便是接近产品化的东西还是有很多需要手工调整的
glibc需要去掉一个__user
uC-libc需要去掉一个 :a1 在sysdeps.h里
在platform.h(还有其他)里修改u8,u32为__u8,__u32
uClibc的还可以,只要把几个__NR_xx的注释去掉就可以了

Posted by hufey at 04:34 PM | Comments (0) | TrackBack

May 17, 2005

bochs 2.1.1 配置文件问题

如果出现: Message: ROM: couldn't open ROM image file 'file=/usr/share/bochs/VGABIOS-lgpl-latest'.
那是因为 2.1.1 和2.2pre的配置文件格式不一样
把file=去掉就好了

Posted by hufey at 04:34 PM | Comments (0)

May 12, 2005

ebuild里的functions

pkg_setup 必须先做的各种任务,检查配置文件啥的
pkg_nofetch 显示点信息告诉user不能自动下载的原因,比如license问题
src_unpack解包,打补钉,运行辅助程序
src_compile配置和编译
src_install安装
src_test只有设置了FEATURES="maketest"并且不设置RESTRICT="maketest"才执行
pkg_preinst在merging之前做的事
pkg_postinst在merging之后做的事
pkg_prerm在删除之前做的事
pkg_postrm在删除之后做的事
pkg_config You use this function to setup an initial configuration for the package after it's installed. All paths in this function should be prefixed with ROOT. This function is only executed if and when the user runs: ebuild /var/db/pkg/${CATEGORY}/${PF}/${PF}.ebuild config.

helper functions
use检查use标志
has_version如果指定某个包有需要的版本返回1。
例如:has_version >=sys-libs/glibc-2.3.0
best_version返回指定包的版本
use_with如果指定标志被定义了返回--with-foobar反之返回--without-foobar
use_enable如果指定标志被定义了返回--enable-foobar反之返回--disable-foobar
check_KV检查kernel的版本号
keepdir用于在指定的目录下创建一个.keep文件,以免被自动清楚。永远不要自己建这个.keep,否则如果以后portage改变对keepdir的处理方法就不能自动处理这个portage了
econf传递额外的参数给./configure
einstall传递额外的参数给make命令,注意不提倡用einstall替换make install DESTDIR=${D}
die搞死当前的进程,最好告诉为什么
einfo提醒用户重要的事

Posted by hufey at 03:06 PM | Comments (0)

震惊!!!

可以自己组装自己的机器人

恐怖!!!
大脑空白!!!

Posted by hufey at 02:53 PM | Comments (0)

May 09, 2005

linux 不能 login

可能是/bin下没有login这个文件
嘿嘿
这种问题都能出。。。

Posted by hufey at 04:52 PM | Comments (0)

April 15, 2005

终于搞出了我古董笔记本的800x600分辨率

以前明明在rh9时可以用800x600,装了gentoo之后xorg 6.8.2居然
只能上640x480
google了一整天

最后观察/var/log/Xorg.0.log发现
原来是Xorg -configure测出来的hsync out of range了
而xorgconfig又不能测出来显卡类型

解决办法:
先用xorgconfig配置,在刷新频率处故意往大了设
反正LCD也无所谓
然后手工改/etc/X11/xorg.conf里的vga driver为siliconmotion
即可

# File generated by xorgconfig.

#
# Copyright 2004 The X.Org Foundation
#
# Permission is hereby granted, free of charge, to any person obtaining a
# copy of this software and associated documentation files (the "Software"),
# to deal in the Software without restriction, including without limitation
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
# and/or sell copies of the Software, and to permit persons to whom the
# Software is furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# The X.Org Foundation BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
# OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
#
# Except as contained in this notice, the name of The X.Org Foundation shall
# not be used in advertising or otherwise to promote the sale, use or other
# dealings in this Software without prior written authorization from
# The X.Org Foundation.
#

# **********************************************************************
# Refer to the xorg.conf(5x) man page for details about the format of
# this file.
# **********************************************************************

# **********************************************************************
# Module section -- this section is used to specify
# which dynamically loadable modules to load.
# **********************************************************************
#
Section "Module"

# This loads the DBE extension module.

Load "dbe" # Double buffer extension

# This loads the miscellaneous extensions module, and disables
# initialisation of the XFree86-DGA extension within that module.
SubSection "extmod"
Option "omit xfree86-dga" # don't initialise the DGA extension
EndSubSection

# This loads the font modules
Load "type1"
# Load "speedo"
Load "freetype"
# Load "xtt"

# This loads the GLX module
# Load "glx"
# This loads the DRI module
# Load "dri"

EndSection

# **********************************************************************
# Files section. This allows default font and rgb paths to be set
# **********************************************************************

Section "Files"

# The location of the RGB database. Note, this is the name of the
# file minus the extension (like ".txt" or ".db"). There is normally
# no need to change the default.

RgbPath "/usr/X11R6/lib/X11/rgb"

# Multiple FontPath entries are allowed (which are concatenated together),
# as well as specifying multiple comma-separated entries in one FontPath
# command (or a combination of both methods)
#
#

FontPath "/usr/share/fonts/misc/"
FontPath "/usr/share/fonts/TTF/"
FontPath "/usr/share/fonts/Type1/"
# FontPath "/usr/share/fonts/CID/"
FontPath "/usr/share/fonts/75dpi/"
FontPath "/usr/share/fonts/100dpi/"
FontPath "/usr/share/fonts/local/"
# FontPath "/usr/share/fonts/Speedo/"
# FontPath "/usr/share/fonts/TrueType/"
# FontPath "/usr/share/fonts/freefont/"

# The module search path. The default path is shown here.

# ModulePath "/usr/X11R6/lib/modules"

EndSection

# **********************************************************************
# Server flags section.
# **********************************************************************

Section "ServerFlags"

# Uncomment this to cause a core dump at the spot where a signal is
# received. This may leave the console in an unusable state, but may
# provide a better stack trace in the core dump to aid in debugging

# Option "NoTrapSignals"

# Uncomment this to disable the VT switch sequence
# (where n is 1 through 12). This allows clients to receive these key
# events.

# Option "DontVTSwitch"

# Uncomment this to disable the server abort sequence
# This allows clients to receive this key event.

# Option "DontZap"

# Uncomment this to disable the / mode switching
# sequences. This allows clients to receive these key events.

# Option "Dont Zoom"

# Uncomment this to disable tuning with the xvidtune client. With
# it the client can still run and fetch card and monitor attributes,
# but it will not be allowed to change them. If it tries it will
# receive a protocol error.

# Option "DisableVidModeExtension"

# Uncomment this to enable the use of a non-local xvidtune client.

# Option "AllowNonLocalXvidtune"

# Uncomment this to disable dynamically modifying the input device
# (mouse and keyboard) settings.

# Option "DisableModInDev"

# Uncomment this to enable the use of a non-local client to
# change the keyboard or mouse settings (currently only xset).

# Option "AllowNonLocalModInDev"

EndSection

# **********************************************************************
# Input devices
# **********************************************************************

# **********************************************************************
# Core keyboard's InputDevice section
# **********************************************************************

Section "InputDevice"

Identifier "Keyboard1"
Driver "kbd"

# For most OSs the protocol can be omitted (it defaults to "Standard").
# When using XQUEUE (only for SVR3 and SVR4, but not Solaris),
# uncomment the following line.

# Option "Protocol" "Xqueue"

Option "AutoRepeat" "500 30"

# Specify which keyboard LEDs can be user-controlled (eg, with xset(1))
# Option "Xleds" "1 2 3"

# Option "LeftAlt" "Meta"
# Option "RightAlt" "ModeShift"

# To customise the XKB settings to suit your keyboard, modify the
# lines below (which are the defaults). For example, for a non-U.S.
# keyboard, you will probably want to use:
# Option "XkbModel" "pc105"
# If you have a US Microsoft Natural keyboard, you can use:
# Option "XkbModel" "microsoft"
#
# Then to change the language, change the Layout setting.
# For example, a german layout can be obtained with:
# Option "XkbLayout" "de"
# or:
# Option "XkbLayout" "de"
# Option "XkbVariant" "nodeadkeys"
#
# If you'd like to switch the positions of your capslock and
# control keys, use:
# Option "XkbOptions" "ctrl:swapcaps"

# These are the default XKB settings for Xorg
# Option "XkbRules" "xorg"
# Option "XkbModel" "pc105"
# Option "XkbLayout" "us"
# Option "XkbVariant" ""
# Option "XkbOptions" ""

# Option "XkbDisable"

Option "XkbRules" "xorg"
Option "XkbModel" "pc101"
Option "XkbLayout" "us"

EndSection


# **********************************************************************
# Core Pointer's InputDevice section
# **********************************************************************

Section "InputDevice"

# Identifier and driver

Identifier "Mouse1"
Driver "mouse"
Option "Protocol" "Auto"
Option "Device" "/dev/mouse"

# Mouse-speed setting for PS/2 mouse.

# Option "Resolution" "256"

# When using XQUEUE, comment out the above two lines, and uncomment
# the following line.

# Option "Protocol" "Xqueue"

# Baudrate and SampleRate are only for some Logitech mice. In
# almost every case these lines should be omitted.

# Option "BaudRate" "9600"
# Option "SampleRate" "150"

# Emulate3Buttons is an option for 2-button Microsoft mice
# Emulate3Timeout is the timeout in milliseconds (default is 50ms)

Option "Emulate3Buttons"
# Option "Emulate3Timeout" "50"

# ChordMiddle is an option for some 3-button Logitech mice

# Option "ChordMiddle"

EndSection


# **********************************************************************
# Other input device sections
# this is optional and is required only if you
# are using extended input devices. This is for example only. Refer
# to the xorg.conf man page for a description of the options.
# **********************************************************************
#
# Section "InputDevice"
# Identifier "Mouse2"
# Driver "mouse"
# Option "Protocol" "MouseMan"
# Option "Device" "/dev/mouse2"
# EndSection
#
# Section "InputDevice"
# Identifier "spaceball"
# Driver "magellan"
# Option "Device" "/dev/cua0"
# EndSection
#
# Section "InputDevice"
# Identifier "spaceball2"
# Driver "spaceorb"
# Option "Device" "/dev/cua0"
# EndSection
#
# Section "InputDevice"
# Identifier "touchscreen0"
# Driver "microtouch"
# Option "Device" "/dev/ttyS0"
# Option "MinX" "1412"
# Option "MaxX" "15184"
# Option "MinY" "15372"
# Option "MaxY" "1230"
# Option "ScreenNumber" "0"
# Option "ReportingMode" "Scaled"
# Option "ButtonNumber" "1"
# Option "SendCoreEvents"
# EndSection
#
# Section "InputDevice"
# Identifier "touchscreen1"
# Driver "elo2300"
# Option "Device" "/dev/ttyS0"
# Option "MinX" "231"
# Option "MaxX" "3868"
# Option "MinY" "3858"
# Option "MaxY" "272"
# Option "ScreenNumber" "0"
# Option "ReportingMode" "Scaled"
# Option "ButtonThreshold" "17"
# Option "ButtonNumber" "1"
# Option "SendCoreEvents"
# EndSection

# **********************************************************************
# Monitor section
# **********************************************************************

# Any number of monitor sections may be present

Section "Monitor"

Identifier "My Monitor"

# HorizSync is in kHz unless units are specified.
# HorizSync may be a comma separated list of discrete values, or a
# comma separated list of ranges of values.
# NOTE: THE VALUES HERE ARE EXAMPLES ONLY. REFER TO YOUR MONITOR'S
# USER MANUAL FOR THE CORRECT NUMBERS.

HorizSync 31.5 - 48.5

# HorizSync 30-64 # multisync
# HorizSync 31.5, 35.2 # multiple fixed sync frequencies
# HorizSync 15-25, 30-50 # multiple ranges of sync frequencies

# VertRefresh is in Hz unless units are specified.
# VertRefresh may be a comma separated list of discrete values, or a
# comma separated list of ranges of values.
# NOTE: THE VALUES HERE ARE EXAMPLES ONLY. REFER TO YOUR MONITOR'S
# USER MANUAL FOR THE CORRECT NUMBERS.

VertRefresh 50-90

EndSection


# **********************************************************************
# Graphics device section
# **********************************************************************

# Any number of graphics device sections may be present

# Standard VGA Device:

Section "Device"
Identifier "Standard VGA"
VendorName "Unknown"
BoardName "Unknown"

# The chipset line is optional in most cases. It can be used to override
# the driver's chipset detection, and should not normally be specified.

# Chipset "generic"

# The Driver line must be present. When using run-time loadable driver
# modules, this line instructs the server to load the specified driver
# module. Even when not using loadable driver modules, this line
# indicates which driver should interpret the information in this section.

Driver "vga"
# The BusID line is used to specify which of possibly multiple devices
# this section is intended for. When this line isn't present, a device
# section can only match up with the primary video device. For PCI
# devices a line like the following could be used. This line should not
# normally be included unless there is more than one video device
# intalled.

# BusID "PCI:0:10:0"

# VideoRam 256

# Clocks 25.2 28.3

EndSection

# Device configured by xorgconfig:

Section "Device"
Identifier "My Video Card"
Driver "siliconmotion"
# unsupported card
VideoRam 4096
# Insert Clocks lines here if appropriate
EndSection


# **********************************************************************
# Screen sections
# **********************************************************************

# Any number of screen sections may be present. Each describes
# the configuration of a single screen. A single specific screen section
# may be specified from the X server command line with the "-screen"
# option.
Section "Screen"
Identifier "Screen 1"
Device "My Video Card"
Monitor "My Monitor"
DefaultDepth 24

Subsection "Display"
Depth 8
Modes "800x600"
ViewPort 0 0
EndSubsection
Subsection "Display"
Depth 16
Modes "800x600"
ViewPort 0 0
EndSubsection
Subsection "Display"
Depth 24
Modes "800x600"
ViewPort 0 0
EndSubsection
EndSection

# **********************************************************************
# ServerLayout sections.
# **********************************************************************

# Any number of ServerLayout sections may be present. Each describes
# the way multiple screens are organised. A specific ServerLayout
# section may be specified from the X server command line with the
# "-layout" option. In the absence of this, the first section is used.
# When now ServerLayout section is present, the first Screen section
# is used alone.

Section "ServerLayout"

# The Identifier line must be present
Identifier "Simple Layout"

# Each Screen line specifies a Screen section name, and optionally
# the relative position of other screens. The four names after
# primary screen name are the screens to the top, bottom, left and right
# of the primary screen. In this example, screen 2 is located to the
# right of screen 1.

Screen "Screen 1"

# Each InputDevice line specifies an InputDevice section name and
# optionally some options to specify the way the device is to be
# used. Those options include "CorePointer", "CoreKeyboard" and
# "SendCoreEvents".

InputDevice "Mouse1" "CorePointer"
InputDevice "Keyboard1" "CoreKeyboard"

EndSection

# Section "DRI"
# Mode 0666
# EndSection

Posted by hufey at 04:33 PM | Comments (2)

March 29, 2005

奇怪的emerge world

今天我干了什么?
gentoo出了2005.0之后emerge world
然后发现fcitx不能用了
以为是glibc没有设置中文locale
然后emerge unmerge glibc
然后。。。就是系统崩溃
几乎花了一天时间重做系统
安了最新的stage和portage都不行
emerge -s glibc显示已经是最新的了
但是每次emerge world都会要unmerge glibc然后崩溃

我都快崩溃了

最后办法是
rm /var/db/pkg/sys-libs/glibc-2.3.4.20040808-r1/ -rf

ps, 在网上查到一帮人骂gentoo unmerge glibc没有警告,嘿嘿

Posted by hufey at 04:29 PM | Comments (0)

March 25, 2005

colorgcc

编译一个项目,难免遇到错误。如果一堆错误隐藏在一堆警告中,查起来可不容易。
colorgcc就是解决这个问题的。
emerge colorgcc之后把/usr/lib/colorgcc/bin放到PATH之前就可以了
另外,似乎官方网站的tar ball和rpmfind.net出来的rpm装在我的RH9都不能正常显示
只有gentoo emerge过来的还能用,版本号是一样的(有没有revision没注意看,
diff了一下有区别,具体为啥没仔细看)

Posted by hufey at 02:19 PM | Comments (0)

Acrobat Reader 7.0 for linux

居然adobe的官方主页上都没有
支持中文的时候需要把原来5.0 Resource/Font下的*.cmap放到新的7.0的Resource/CMap下

Posted by hufey at 01:15 PM | Comments (0)

March 13, 2005

我说什么来着?Palm全面转向Linux了


说实话,我也没想到他们转的这么快啊
重新看好Palm :)

Posted by hufey at 04:10 PM | Comments (0)

March 08, 2005

gentoo简易汉化法

google到的汉化方法都极其麻烦
简单方法其实只要把Windows的simsun.ttc改名放到/usr/share/fonts/TTF下
改LC_ALL=zh_CN.utf8启动XWindow就可以了

Posted by hufey at 05:34 PM | Comments (0)

February 24, 2005

手机上的mozilla


恭喜mozilla
祝Open Source 革命成功,打倒微软帝国主义!

Posted by hufey at 11:38 AM | Comments (0)

gentoo

历尽千辛万苦,费了九牛二虎之力,终于装上了GENTOO.
持续时间月余。
开始是给下载用的分区太小
然后是SATA硬盘传给kernel的参数不对(应该是root=080x,x是分区号)
期间还有修那个该死的HP机器的破声卡
终于看到了login,哈哈

本来应该写在昨天的blog的,可是昨天太兴奋了

Posted by hufey at 10:41 AM | Comments (0)

February 20, 2005

moto要出一个带skype的手机

技术上讲,这是很容易的
走CDMA1x速度足够了
GPRS也许困难点
如果skype是open source编译一下就可以了
为啥slashdot上那么兴奋?

Posted by hufey at 03:09 PM | Comments (0)

February 17, 2005

INTERNET PIONEERS CERF AND KAHN TO RECEIVE ACM TURING AWARD

难道他们俩以前没拿到图灵奖么?
晕,我还以为早拿过了呢

Posted by hufey at 06:07 PM | Comments (1)

February 04, 2005

关注 L4Ka

Microkernels are minimal but highly flexible kernels. Both conventional and non-classical operating systems can be built on top or adapted to run on top of them. Microkernel-based architectures should particularly support extensibility and customizability, robustness including reliability and fault tolerance, protection and security. After disastrous results in the early 90's, the microkernel approach now seems to be promising, although it still bears a lot of research risks.

The L4Ka research project aims at substantiating and establishing a new methodology for system construction that helps to manage ever-increasing OS complexity and minimizes legacy dependence. Our vision is a microkernel technology that can be and is used advantageously for constructing any general or customized operating system including pervasive systems, deep-computing systems, and huge servers.

The technology should help to manage ever-increasing OS complexity, enable stepwise innovations in OS technology while preserving legacy compatibility, and lead to a widely-accepted foundation of system architecture.

Posted by hufey at 07:03 PM | Comments (2)

February 02, 2005

在eclipse上给nokia手机开发j2me

ibm deverloperworks有一片文章介绍在eclipse上给nokia手机开发j2me程序。
我折腾了一天。
首先是serial number:在www.forum.nokia.com/tools上request serial number
出来的都是for windows的,for linux必须在安装的时候假装自己
不是forum member,在让你申请member的时候假装自己申请好了,
再把自己的id添进去自动从网站那边request。
然后是没按文章描述的那样出菜单,最后闹明白是
nokia deverloper suite的路径要设好,而且必须要chmod a+x.
还有就是nokia 的sdk基本上都是for windows的,我就纳闷,
不是都玩java了吗?怎么sdk还没有搞成write once, run anywhere.
肯定还用C写的亚
不过suite已经做成eclipse的plugin了,UI和文章也对不上
看来人家还是为windows准备地

TNND!!!

Posted by hufey at 10:48 AM | Comments (2)

为啥Apple要搞一键鼠标?

http://www.gearlive.com/index.php/news/article/why_apple_makes_a_one_buttoned_mouse_01280820/
给了答案
看起来很牵强
不过第一点还是很有说服力地
比如俺给俺爹妈买电脑数年了,
俺爹妈学电脑数年了
虽然没有英文right的歧义
到现在还要问我“拿鼠标点一下”是左键点还是右键点

Posted by hufey at 10:47 AM | Comments (2)

January 07, 2005

微软的Spyware不错

虽然只是BETA版还是能查到电脑里的那些木马啥地
奇怪,新装的电脑里咋就有呢
还可以修复IE
以后你们再有人上黄色网站也不怕了

Posted by hufey at 08:05 PM | Comments (2)

December 18, 2004

December 03, 2004

安装Pike 7.6.24

一直想找一个好的命令行下载软件
找啊找,找啊找
终于在freshmeat.net找到了一个pcp
而且是个script,更激发了我的兴趣
结果连不上
只好用gaim呼叫爱红大兄弟帮我搞下来
下崽完一看,果然是script,不过是pike的script
这个pike倒没搞过
再下pike,也下不下来
再呼叫爱红大兄弟,把pike下崽下来
解开后倒简单,直接make就把./configure都做了又编译出来binary
安装却说啥啥不对
放狗找了半天也没找到有价值的东西
只好cd src去查
原来./configure的时候需要指定安装目录
再./configure
再make,倒不费时间
再make install,就弄得了
再pcp,爽!!!

Posted by hufey at 01:50 PM | Comments (1)

November 30, 2004

bloglines firefox toolkit

bloglines.com -> Help -> FireFox Toolkit
在右下脚加了一个的图标
还可以在context menu上加一个bloglines toolkit的菜单项
方便多了
要是能放到firefox sidebar上就更方便了

Posted by hufey at 12:42 PM | Comments (2)

November 28, 2004

搞定iptables

家里的两台电脑,都是双系统。
XP自带的防火墙和NAT功能很不错
Linux的就要自己设了
惭愧的是一直也不会设
每次google出iptables的设置就头大了
今天正好刚装完FC3在yum update
另外一台笔记本上不了网
硬着头皮再google一次
好些文章照做了都不管用
终于翻了google几十页之后找到问题所在

把下文中加蓝部分放到我的/etc/sysconfig/iptables里才终于对了


修改/etc/sysconfig/iptables(把原有的内容都删除),修改完如下

# Firewall configuration written by lokkit
# Manual customization of this file is not recommended.
# Note: ifup-post will punch the current nameservers through the
# firewall; such entries will *not* be listed here.
*mangle
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]

*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
[0:0]-A POSTROUTING -o ppp0 -j MASQUERADE
COMMIT

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
COMMIT

Posted by hufey at 03:30 PM | Comments (0)

一周之内第三次装FC3

第一次装完了键盘鼠标都不对
第二次装发现了鼠标和我的WATCOM手写板冲突。
大概是因为没有重分区的缘故吧,把我原来的分区都在fstab
里写了一遍 usr1, home1, var1,最稀齐的居然还有一个 /1
哈哈
看着不爽,试图改fstab,结果之后就起不来了
嗯,其实我也不知道到底跟改fstab有没有关系,总之。。
只好重装
现在是在第三次的fedora core3下

Posted by hufey at 12:32 PM | Comments (0)

October 18, 2004

CONFIG_DEBUG_USER

remove CONFIG_DEBUG_USER to fix following output.

On Thu, Jun 03, 2004 at 12:29:31PM +0200, Fabien Renaud wrote:
> > pc : [<401eccbc>] lr : [<401eccd0>] Not tainted
> > sp : 00253914 ip : 00253908 fp : 002539f4
> > r10: 402f4cb8 r9 : 00008d8c r8 : 402f7390
> > r7 : 00000003 r6 : 0000acec r5 : 00000005 r4 : 00000005
> > r3 : 00000014 r2 : 40a599c0 r1 : 00000000 r0 : 00000000
> > Flags: nZCv IRQs on FIQs on Mode USER_32 Segment user
> > Control: 397F Table: A1148000 DAC: 00000015

You have CONFIG_DEBUG_USER turned on so the kernel is giving you
information about userspace errors. Running 'dmesg' will give you
the debug lines which explain why the register dump was given.

> Nobody has an idea ?

Nope, I don't do qt, and neither does linux-arm-kernel.

Posted by hufey at 04:36 PM | Comments (0)

October 15, 2004

法国新科让mp3 player 启动了embedded linux

播放器的模样

新科赞助的网站
用gimp编辑子仪MM的照片

看《英雄》捏

www.linuxdevices.com

Posted by hufey at 06:25 PM | Comments (0)

September 25, 2004

[IT怀古] 想起了USRobotics

[IT怀古] 想起了USRobotics

提交者 : hUFEY 于 北京时间 2004-09-24 13:33:58

昨天看了动作科幻娱乐大片I, Robot.
作为标准的娱乐片,还是很精彩地。
不过我看到片子里面那个有些邪恶的USR公司,却想起了
另一家公司:USRobotis。

不知还有多少人记得这家公司。当年,Internet刚在国内
兴起的时候,大家都认Hayes的Modem--对不起,Hayes
公司也倒闭很久了。那时候,一只台湾产的杂牌猫卖五百
元人民币,而hayes的猫可以卖到1200元。而USRobotics
的猫却可以卖到1800元,是高端中的高端。

电影里的USR,很明显是US Robot的意思,美国机器人公司嘛,
大概地位比现在的微软还要高的多:他的CEO是那时的世界首富;
世界上5个人里就拥有她们的一个机器人产品;她们的产品甚至
在军队和人造器官中被广泛使用;他们的CEO也能轻易影响政治
决策。

现实中的US Robotics公司呢,USRobotics曾经做了一笔好
买卖,就是收购了Palm。他96年的财政收入达到20个亿,
97年被3Com收购,如果不是Palm,估计3Com根本没性趣收购他。
而3Com收购完马上就把Palm拆分了出去。USRobotics卖完
Modem基本就没影了,3Com现在好像活的也不好。而Palm
先是分出来Handspring,过几年又收了回去,再拆分成PalmOne
和PalmSource,真是穷折腾。

Posted by hufey at 12:13 PM | Comments (1)

September 19, 2004

装上了gaim 1.0.0,及其他

不明白为啥gaim从0.82跳到1.0的理由
就像不明白j2se 要从1.4.2跳到5.0一样

给老notebook卸下了FC2装上了RH9
因为KINGMAX 10M的PCMCIA卡FC2不支持而RH9却恰恰支持
真是FAINT
当然,自己也需要一个以2.4x kernel 为基础的机器

装上了RH9马上装个yum,这样就可以yum install mplayer乐
可是mozilla居然还是1.4.2

J2SE装还是不装?装1.4.2还是等5.0 Release ?

Posted by hufey at 02:00 PM | Comments (1)

September 12, 2004

烂Windows

这两天下载了不少APE
正想刻盘,却发现DVDROM和CDRW都贴上了黄签
这两天除了装了个1394卡也没干什么呀
google出来一片东西
照着做居然好使了

却不明白为什么

Home
Portfolio
Profile
Prices
HTML
PC Help
Calgary
Greetings
Games



XP doesn't see or load CD ROM
http://www.jsiinc.com/SUBM/tip6200/rh6278.htm

Error code 31, 32, 41 or 19
CD-ROM access from MY Computer is unavailable after you remove software?

After you remove an application that had installed filter drivers, access to your CD-ROM from My Computer is unavailable. Additionally, Device Manager may display any or all of the following messages:

The device is not working properly because Windows cannot load the drivers required for this device (Code 31).

A driver for this device was not required, and has been disabled (Code 32 or Code 31).

Your registry might be corrupted. (Code 19).

Windows successfully loaded the device driver for this hardware but cannot find the hardware device. (Code 41)

To workaround this behavior:

1. Save the filter driver registry entries, just in case, by opening a CMD.exe prompt and typing

regedit /a SaveFilters.reg HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E965-E325-11CE-BFC1-08002BE10318}

2. Copy / Paste the following to a NoFilter.reg file (create in notepad, save as .reg):

REGEDIT4

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E965-E325-11CE-BFC1-08002BE10318}]
"UpperFilters"=-
"LowerFilters"=-

3. Merge the NoFilter.reg file with your registry or run regedit /s NoFilter.reg.

4. Shutdown and restart your computer.

NOTE: If you notice loss of functionality in any remaining CD-ROM software, you may need to uninstall and re-install it.

NOTE: You may need to uninstall Windows Media Player and install the latest Windows Media Player from http://www.microsoft.com/windows/windowsmedia/players.aspx.

Posted by hufey at 02:03 PM | Comments (0)

September 01, 2004

最后还是编译了gaim 0.82.1

新装的几个rpm版本都有问题,经常莫名其妙的crash掉
还是编译的好

可惜glibc最新版本的编不过去 :(

Posted by hufey at 10:19 AM | Comments (2)

August 31, 2004

2.6.8.1的kernel还是出毛病乐

K3b怎么办?我家里电脑还生不升级kernel了涅?



mooreted
Member

Registered: May 2003
Location:
Distribution:
Posts: 391
HCL Entries: 0
Reviews: 0

K3b. No writer after kernel 2.6.8.1 compile. ( post #1)

Description:

After compiling a new 2.6.8.1 kernel, K3b now shows only a CD reader. No CD burner is shown. Before compiling the new kernel, K3b worked perfectly.

Additional Info:

This kernel does not support supermount.

Questions:

1. Is the lack of supermount a factor in this problem?
2. Can K3b be made to work without a recompile?

__________________
Compaq 5300US
512meg Memory
Two Hard Drives
PNY Verto MX 4000 Video Card
Mandrake 10
Windows 2000 Pro


Report this post to a moderator | IP: Logged
Today 01:14 AM



mykrob
Member

Registered: Jun 2004
Location: Jackson, TN
Distribution: Suse 9.1 Professional
Posts: 195
HCL Entries: 0
Reviews: 0

( post #2)

i dont have a good answer, but the K3B website has this notice:

quote:
o not use Kernel 2.6.8

A patch that was introduced into the kernel shortly before the 2.6.8 release makes K3b and also the dvd+rw-tools unusable on Linux (unless run as root but that is not recommended). The very important GET CONFIGURATION MMC command is rejected by the kernel for reasons I cannot see and writing commands like MODE SELECT also fail (K3b cannot detect CD writers without it) even when the device is opened O_RDWR. Until this issue has been solved I strongly recommend to stick to kernel version 2.6.7.


Update: The kernel guys are currently fixing the problem so the next kernel release should work again.


Update 2: The problem is NOT fixed in 2.6.8.1


Update 3: Be aware that kernel 2.6.8 also contains the memory leak which makes it impossible to write audio cds, even as root.

Posted by hufey at 10:57 AM | Comments (0)

August 28, 2004

装上了Windows XP SP2

防火墙还不错
不好也不坏

Posted by hufey at 05:24 PM | Comments (0)

August 20, 2004

装上了VMWare GSX 3.1

可以在2.6kernel下工作了
可是在我的电脑上会花屏
不知咋搞的
guest os是w2k
显示属性里显示器刷新频率是85
比我的XWindow设置的70还大
还有哪不对呢?

Posted by hufey at 04:37 PM | Comments (0)

August 16, 2004

linux kernel 历史上第一次出现4个数的版本号

正在编译

2.6.8 release之后马上就被人发现了一个重大bug

Date Sat, 14 Aug 2004 03:41:58 -0700 (PDT)
From Linus Torvalds <>
Subject Re: Linux v2.6.8 - Oops on NFSv3

On Sat, 14 Aug 2004, Willy Tarreau wrote:
>
> I've just compiled and booted 2.6.8 on my dual athlon. Everything went
> OK before I logged in as a non-root user whose home is mounted from
> another linux box over NFSv3/UDP.

Damn. I think the stupid typo in fs/nfs/file.c from the fcntl f_op removal
patch is the problem.

Andrew, since I'm gone in another hour, how about you try to make a
2.6.8.1 with this, since this is clearly a good reason for one?

Linus

--- 1.40/fs/nfs/file.c 2004-08-09 11:58:00 -07:00
+++ edited/fs/nfs/file.c 2004-08-14 03:35:11 -07:00
@@ -89,7 +89,7 @@
int res;

res = nfs_check_flags(filp->f_flags);
- if (!res)
+ if (res)
return res;

lock_kernel();

linus本人的看法:
From: Linus Torvalds osdl.org>
Subject: Re: Linux v2.6.8 - Oops on NFSv3
Newsgroups: gmane.linux.kernel
Date: Sat, 14 Aug 2004 04:05:56 -0700

On Sat, 14 Aug 2004, Christoph Hellwig wrote:
>
> Cane we make this 2.6.9 to avoid breaking all kinds of scripts expecting
> three-digit kernel versions?

Well, we've been discussing the 2.6.x.y format for a while, so I see this
as an opportunity to actually do it... Will it break automated scripts?
Maybe. But on the other hand, we'll never even find out unless we try it
some time.

Linus


典型的open source project测试不完整导致重大bug

Posted by hufey at 04:12 PM | Comments (1)

July 14, 2004

rpm, apt and yum

在fc2里,自带了rpm,还有yum,这个yum是SuSE里的吗?!
我又装了个apt for fedora

rpm不说了
apt大伙评价都很好,
yum需要先update rpm header database
我家里的ADSL居然一晚上update不完
不过好像包更新一些
比如gaim
yum已经看到0.79了
apt还没有变化0.77-1

也许yum update完全了会是最好的
至少类似update工作要能续传
而不是现在这样的每次重头开始

17日修正:
yum还是能续传的
最主要是找个好的mirror :)
mirrors.kernel.org/fedora 不错

Posted by hufey at 10:31 AM | Comments (0)

July 13, 2004

fc2的ps2鼠标是个大bug

查了查fedoraforum.org
上边有N多人问这个问题
而且据说FC1还没有呢
我当然不会为了验证这个bug再装一套FC1

最后解决方案居然是"physical remove all usb devices"

btw 以前叫redhat-config-*的工具都改名叫system-config-*

Posted by hufey at 10:46 AM | Comments (0)

June 29, 2004

slashdotted, googleable

Interview: Andrew Morton
看到两个词, slashdotted, googleable
后一个很好懂,可以google到的,证明此人有影响力
前一个
With some style - we were slashdotted and then took out best of show and best of category at CES 2002.
怎么解释呢?在slashdot讨论过了?!

呵呵

你泡网了没有?
你猫扑了没有?

Posted by hufey at 11:22 AM | Comments (0)

June 28, 2004

eclipse 3.0 released

删掉了2.1.2
发现我这里上台湾国立中山大学的mirror非常快
峰值超过1M
最后稳定在500K
80多M只用了3分钟喔
原来2.1.2下写的plugin还能用
不过原来的project好像不太对了

Posted by hufey at 11:16 AM | Comments (1)

June 19, 2004

大饼油条并答haha

大饼的问题,需要装GD perl module才能画饼,这个这个。。。
反正我在我的linux下没装成功,好多dependence package要动
还要编译啥的
油条虽然没有大饼好吃,毕竟有的吃比没有强

大饼。。。。。。有空了再看看怎么弄

油条太小了,我又调整了一下,这样至少不用放大镜找了
至于好看不好看,这个审美上的我也不知怎么好看

本来创建这个投票我想把各队的颜色放上去,可惜我只知道荷兰橙和
意大利蓝,其它只好随便弄了弄,先这么着吧

Posted by hufey at 03:53 PM | Comments (2)

June 17, 2004

kernel 2.6.7

昨天upgrade到2.6.7
还没仔细看

不过,这个kernel是我跟踪最快的一次了
偶尔上www.kernel.org,发现2.6.7出来了
还奇怪呢,怎么每天 Evolution 的 summary和几大网站都没有人通报呢?
再一看时间,居然是刚放上去20分钟

呵呵

Posted by hufey at 11:24 AM | Comments (1)

June 16, 2004

终于用上了gmail

其实很简单,用https://gmail.google.com
而不要用http://gmail.google.com就行了

然后可以invite 3个人,马上就用了一个,一个青梅介绍的一个
以前不认识的网友。

就象小时候听到的故事一样,一个神仙可以满足你的三个愿望。。。
其实完全可以许两个愿,第三个说你再给我三个愿望。。。
哈哈哈

于是我就又invite了自己一次

Posted by hufey at 11:31 AM | Comments (2)

June 15, 2004

十年学会编程(收藏)

比较同意学半打以上语言的说法,虽然自己以前开的语言跟他不一样。如果按他的list,俺差的太远了

=======================================

十年学会编程


信步走进任何一家书店,你会看到名为"如何在7天内学会Java"的书, 还有各种各样的变体: 在几天内或几小时内学会Visual Basic, Windows, Internet等等,等等. 我在Amazon 上做了如下的 强力检索 :

pubdate: after 1992 and title: days and
(title: learn or title: teach yourself)

得到了248个结果. 前78个都是计算机类书籍(第79个是 Learn Bengali in 30 days). 我用"hours"替换"days",得到了类似的结果: 更多的253书. 前77本是计算机类书籍,第78本是 Teach Yourself Grammar and Style in 24 Hours. 在前200本书中,有96% 是计算机类书籍.

结论是:要么人们都在急急忙忙地学习计算机, 要么计算机比其它任何东西都容易学. 没有书籍教你在几天内学会古典音乐,或量子物理, 或者是养狗,

让我们分析一下,象一本名为三天内学会Pascal的书意味着什么:

* 学习: 在三天里,你没有时间写一些重大的程序,并从成功或失败中得益. 你没有时间与有经验的程序员合作,并理解在那样的环境下工作是怎么回事. 一句话,你不会有时间学到太多东西. 因此他们只能谈论一些肤浅的东西,而不是深入的理解. 正如亚力山大教皇所说, 浅尝辄止是危险的事情.

* Pascal: 在三天时间里,你可能学会Pascal的语法(如果你已经学过类似的语言),但你学不到更多的如何使用这些语法的知识. 也就是说, 假如你曾是个BASIC程序员, 你可以学着用Pascal语法写出BASIC风格的程序,但你不可能了解Pascal真正的好处(和坏处). 那么关键是什么? Alan Perlis 说过: "一种不改变你编程的思维方式的语言,不值得去学." 一种可能的情况是: 你必须学一点儿Pascal(或可能性更大的象Visual Basic 或 JavaScript之类),因为你为了完成某种特定的任务,需要与一个现存的工具建立接口. 不过那不是学习如何编程,而是在学习如何完成那个任务.

* 三天内: 很不幸, 这不够, 原因由下一节告诉我们.

在十年里学会编程
===========================
研究表明 (Hayes, Bloom)在任何一种领域内,象下棋,作曲,绘画,钢琴演奏,游泳,网球,以及原子物理学和拓扑学,等等,要达到专家水平大约都要化十年时间. 没有真正的捷径:即使是莫扎特, 4岁时就是音乐神童,13年后才开始写出世界级的作品. 在另一方面, 披头士似乎在1964年的Ed Sullivan表演上一炮走红. 但他们从1957年就开始表演,在获得大众青睐后,他们的第一个重大成功, Sgt. Peppers,是1967年发行的. Samuel Johnson 认为要花比十年更长的时间: "在任何领域中出类拔萃都要用毕生的劳作来取得; 它不可能用较低的代价获得." 而Chaucer感叹到:"人生短暂,学海无涯."

这是我为编程成功开出的方子:

* 设法对编程感兴趣,并且因为它有趣而编一些程序. 确保编程一直充满足够乐趣,这样你才愿意投入十年宝贵时间.

* 与其他程序员交流; 阅读其它程序. 这比任何书本或训练课程都重要

* 写程序. 最好的学习方式是 从实践中学习. 用更技术性的话说, "在一个给定的领域内,个人的最大能力不是自动地由扩展了的经验取得的,但即使是高度有经验的人也可以通过有意识的努力来提高自己的能力" (p. 366) 和 "最有效的学习需要因人而异的适当难度,目标明确的任务, 丰富的信息反馈,以及重复的机会和错误修正." (p. 20-21) 此书 Cognition in Practice: Mind, Mathematics, and Culture in Everyday Life 是阐明此观点的令人感兴趣的参考文献.

* 如果愿意,在大学里呆上4年或更长(在研究生院里). 你会接触到一些需要学历证明的工作,你会对此领域有更深的理解. 如果你不喜欢学校, 你可以(通过一些贡献)在工作中获得相似的经验. 在任何情况下,光啃书本是不够的. Eric Raymond, The New Hacker's Dictionary一书的作者,说过,"计算机科学不能把任何人变成编程专家,就象光研究刷子和颜料不会使人变成画家一样." 我雇佣过的最好的程序员之一仅有高中程度;他做出了许多优秀的 软件, 有他自己的新闻组, 而且通过股票期权,他无疑比我富有的多.

* 和其他程序员一起做项目. 在其中的一些项目中作为最好的程序员; 而在另一些项目中是最差的. 当你是最好的,你能测试领导项目的能力,用你的观点激发别人. 当你是最差的, 你学习杰出者是怎么做的, 了解他们不喜欢做什么(因为他们吩咐你做事).

* 在其他程序员 之后接手项目. 使自己理解别人写的程序. 当程序的原作者不在的时候,研究什么需要理解并且修改它. 思考如何设计你的程序以便后来者的维护.

* 学习至少半打的编程语言. 包括一种支持类抽象的语言(象Java 或C++),一种支持函数化抽象的语言(象Lisp或ML),一种支持语法抽象的语言(象 Lisp), 一种支持声明规格说明的语言(象Prolog或C++ 的模板), 一种支持 coroutine的语言(象Icon或Scheme), 一种支持并行的语言(象Sisal).

* 请记住"计算机科学"中有"计算机"一词. 了解你的计算机要花多长时间执行一条指令,从内存中取一个字(有cache), 从磁盘中读取连续的字, 和在磁盘中找到新的位置. (答案在此.)

* 使自己卷入一种语言标准化的工作里. 它可以是ANSI C++委员会, 也可以是决定你周围小范围内的编程风格是应该两个还是四个空格缩进. 通过任何一种方式,你了解到其他人在某种语言中的想法, 他们的理解深度,甚至一些他们这样想的原因.

* 找到适当的理由尽快地从语言标准化的努力中脱身.

明白了这些,仅从书本中你能得到多少就成了一个问题. 在我第一个孩子出生前, 我读了所有的(关于育儿的)How to 书籍,仍然感觉是个手足无措的新手. 30个月以后, 我的第二个孩子快要出生了,我回头温习这些书了吗? 没有. 相反,我依靠我的个人经验,它比专家写的数千页书更有用和可靠.

Fred Brooks, 在他的随笔 没有银弹 中定出了一个寻找优秀软件设计者的三步计划:

1. 尽可能早地, 有系统地识别顶级的设计人员.

2. 为设计人员指派一位职业导师,负责他们技术方面的成长,仔细地为他们规划职业生涯.

3. 为成长中的设计人员提供相互交流和学习的机会.

此计划假设某些人已经具备了杰出设计者的必要才能; 要做的只是如何恰当地诱导他们. Alan Perlis 说得更简明扼要: "每个人都能被教会雕刻: 假如米开朗其罗被教成如何不会雕刻. 同样的道理也适用于优秀的程序员."

所以尽管买那本Java的书吧; 你可能会从中学到点儿东西. 但作为一个程序员,你不会在几天内或24小时内,哪怕是几个月内改变你的人生,或你实际的水平.

参考文献
============
Bloom, Benjamin (ed.) Developing Talent in Young People, Ballantine, 1985.

Brooks, Fred, No Silver Bullets, IEEE Computer, vol. 20, no. 4, 1987, p. 10-19.

Hayes, John R., Complete Problem Solver Lawrence Erlbaum, 1989.

Lave, Jean, Cognition in Practice: Mind, Mathematics, and Culture in Everyday Life, Cambridge University Press, 1988.
答案
2001年夏天典型的1GHz PC的各种操作要花的时间

执行一条指令 1 nsec = (1/1,000,000,000) sec
从L1 cache memory 中取一个字 2 nsec
从内存中取一个字 10 nsec
从磁盘的连续位置取一个字 200 nsec
从磁盘的新位置取一个字(seek) 8,000,000nsec = 8msec
脚注

This page also available in Japanese translation thanks to Yasushi Murakawa, in Spanish translation thanks to Carlos Rueda and in German translation thanks to Stefan Ram.

T. Capey points out that the Complete Problem Solver page on Amazon now has the "Teach Yourself Bengali in 21 days" and "Teach Yourself Grammar and Style" books under the "Customers who shopped for this item also shopped for these items" section. I guess that a large portion of the people who look at that book are coming from this page.
Peter Norvig (Copyright 2001)

Posted by hufey at 01:57 PM | Comments (0)

June 08, 2004

美国陆军专用版Windows XP

这个BootSkin还挺好玩的嘛

Posted by hufey at 04:08 PM | Comments (5)

May 28, 2004

修正一下

seti@home还是有linux版的
只是奇怪怎么那么麻烦
先setiathome -graphics &
然后xsetiathome


6月1日,想明白了,很多人或很多机器
没有XWindow,或不在X下干活
SETI是希望他们也能帮上忙
:)

Posted by hufey at 12:07 AM | Comments (0)

May 26, 2004

4km wifi range w/ $5 diy


一个新西兰哥们用罩笠Chinese cookware scoops
可以收到5KM的Wifi信号
花了5$

-------------------------
一个罩笠有那么贵吗?

Posted by hufey at 10:32 AM | Comments (0)

May 17, 2004

nfs /etc/exports 注意事项

linux下跟Unix格式不同
linux下是 *(rw,no_root_squash) 之类的
Unix下是 -rw ,具体各个版本间Unix有什么区别还不知道

另外export后remount成 rw 依然 有可能permission denied
那是本身export出去的目录还不能写
所以要想nfs export出去一个可写的目录,至少
几个地方都要写对
/etc/exports 要加 rw
mount -t nfs -o remount,rw ...
本身目录也是有 w

Posted by hufey at 03:14 PM | Comments (0)

May 16, 2004

M$也开始叫patch了

用MSBA查安全问题
发现很多patch真的叫patch了
嘿嘿

Posted by hufey at 10:52 PM | Comments (0)

May 11, 2004

装了Ximian Desktop 2

真漂亮
装了CrossOver Office
装了kernel 2.6.6

Posted by hufey at 05:14 PM | Comments (0)

May 09, 2004

modutils 2.4.xx和mod-init-tools 0.9.xx不是一码事

自己弄混了这么多年
惭愧!

Posted by hufey at 01:02 PM | Comments (0)

May 01, 2004

ddj中文版终于关张了

看来订户还是太少啊
俺没订全年的算是对了
否则这会儿退钱什么的多麻烦

本来不错的咚咚
拿到国内还是超前了
想当初jjhou还满怀妒意地说羡慕大陆有台湾没有聂
大陆也就搞了8期嘛

说什么刊号下不来,感情8期非法出版物啊?
下一个撑不下去的就会是 www.china-pub.com

服务越来越差了

Posted by hufey at 07:46 PM | Comments (2)

April 30, 2004

解决升级perl后libperl.so找不到的办法

用rpm升级perl 5.8.0到5.8.1
然后发现error while loading shared libraries: libperl.so
遍寻google不得要领
find了一下,发现升级后5.8.0东东都没了
估计是顺便把libperl.so也给干掉了
自己只好再
ln -s /usr/lib/perl5/5.8.1/i386-linux-thread-multi/CORE/libperl.so /usr/lib

Posted by hufey at 10:42 AM | Comments (0)

April 21, 2004

FreeBSD的优点

编译内核 很快
重启动也很快
不知是不是deamon还不够多

Posted by hufey at 09:18 AM | Comments (0)

April 13, 2004

NB的Linux下软件安装手段

今天见识了两个linux的安装手段
一个是MontaVista的开发包
用 http://127.0.0.1:9999 全 WEB界面安装
真COOL啊!

另外一个是Evolution的安装,wget -q -O - http://go.ximian.com | sh
感觉不比windowsupdate差

真NB啊

还有DevRocket编译kernel
NB的一塌胡涂!!!

Posted by hufey at 05:22 PM | Comments (2)

March 28, 2004

Amida Simputer


两个卖点,一个是随处都可以手写然后email出去
一个是抖腕子翻页,呵呵,好像还可以通过晃动(测加速度)来zoom picture
至于印度文和英文的互译,就比较平常了吧

Posted by hufey at 11:36 AM | Comments (0)

March 27, 2004

GapiDraw


GapiDraw


看着是不错

Feature List

Some of the key features of GapiDraw are:

* GapiDraw works on Stationary PCs, Smartphones and Handheld Computers using the same code base. Write once and run everywhere. And it actually works!
* GapiDraw is compatible with legacy DirectDraw code. Standard operations such as Blt and BltFast are virtually identical to DirectDraw.
* Support for both full screen mode and windowed mode on all hardware platforms.
* GapiDraw supports most image formats and more. BMP, PNG, JPG and GIF are supported on all platforms. BMP images can even be RLE-encoded.
* Advanced graphic tools. Bitmapped fonts (with and without kerning), Surface intersections, Collision masks, High performance timers, Animated mouse cursors, Animated alpha blends, Surface tint, Surface colorization, Rotozoom, and much more..
* Easy extensions. All graphic surfaces in GapiDraw can be accessed using a low-level interface. This allows easy-to-implement video playback, 3D integration, and custom video filters.
* Ability to suspend execution and access other applications. Custom overloaded functions for suspending and resuming are available as well.
* Optimized for minimum memory footprint. All operations requiring dynamic allocation of memory (such as image loading) are done with a minimum of memory overhead.
* Support for all four portrait and landscape display orientations with no performance penalty.
* Rapid prototyping and development using the GapiApplication Framework.
* RGBA surfaces, for easy-to-use blits with variable alpha map.
* Save any surface (including display and back buffer) to a PNG or BMP file.


Develop on your PC. Recompile for the mobile device.
And it works. Really!


Device support

GapiDraw supports the following MICROSOFT systems:

* Stationary PCs running Windows 95/98/ME/2000/XP (**)
* Pocket PC 2000(*), Pocket PC 2002, and Pocket PC 2003 devices
* Pocket PC 2000, Pocket PC 2002, Pocket PC 2003 emulators
* Microsoft Smartphone 2002 and Smartphone 2003 devices
* Microsoft Smartphone 2002 and Smartphone 2003 emulators

GapiDraw supports the following SYMBIAN devices:

* All Nokia Series 60 devices (including the NGage)
* All Nokia 92xx devices
* Sony Ericsson P800 and P900 devices

GapiDraw supports the following PALM devices:

* To be announced

Support for additional hardware platforms and devices are under constant construction. Please check this page on a regular basis for updates.

(*) GapiDraw requires a 12-bit or 16-bit color Pocket PC.
(**) On Stationary PCs GapiDraw requires DirectX 7.0 or later.

Posted by hufey at 03:41 PM | Comments (0)

March 20, 2004

mozilla 1.7b

some important new features:

A new option to prevent sites using Javascript to block the browser's context menu.

Mozilla 1.7 size and performance have improved dramatically with this release. When compared to Mozilla 1.6, Mozilla 1.7 Beta is 7% faster at startup, is 8% faster at window open time, has 9% faster pageloading times, and is 5% smaller in binary size.

A long-standing bug with CSS backgrounds on table elements has been fixed, including support for columns and proper layering (standards mode only).

Posted by hufey at 09:38 PM | Comments (0)

March 12, 2004

kernel 升级到2.6.4

明白了 VFS cannot open root device LABEL=/
都是IDE选项没有编译进内核造成的
另外似乎initrd太小也有可能导致这个问题

Posted by hufey at 07:17 PM | Comments (0)

March 03, 2004

FreeSWan退出江湖

FreeS/WAN Project Bows Out
也没什么感慨地,ucLinux应该也会消失。
而vsftpd代替wuftpd也正说明Open Source开发方式的优越之处
内部就给优胜劣汰了,哈哈

Posted by hufey at 05:53 PM | Comments (0)

February 27, 2004

DOS之父加里·基尔代尔(下)

当然,那时候没有人能够预见到未来PC业的辉煌。基尔代尔与英特尔的设计师一样,觉得微机最终会应用在家用搅拌器、食物汽化器上。基尔代尔曾与几名程序员为4004编写了一个游戏程序,他们找到英特尔的头头罗伯特·诺伊斯,来推销这个程序。诺伊斯没有同意。诺伊斯深信微处理器的未来在其他方面,他认真地说:“在钟表方面。”

CP/M的发展十分奇特。当时基尔代尔一边教书,一边参与本·库珀搞的一个项目,准备做占星机。他俩对占星术既无兴趣也不相信,都认为这是明显的胡闹。但断定销路会不错。于是库珀造机器,基尔代尔编程序。这种机器放在杂货铺,吃着25美分的硬币,印出算命天宫图,基尔代尔觉得这台机器简直美得很。

两位发明人把机器放在旧金山市内许多地方。可是顾客却大为不满,因为机器吃进去硬币,纸就堵成一团。两人不知怎么办才好。后来基尔代尔说:“这在商业上完全是失败。”

然而占星机还是让基尔代尔的部分程序,即CP/M第一次受到了商业上的考验。在此过程中,他还对调试程序和汇编程序的工具进行了改写,这些都是操作系统的关键部分。他还创造了一种Basic语言汇编程序,符合指令码的翻译器。

70年代中期,微机领域比较有影响的公司有两家,一是生产“Altair 8800”的MITS,另一个是今日早无声息的IMSAI公司。两个公司用的都是8080,于是开始在操作系统上比试。前者与盖茨合作,盖茨用Basic 语言开发出一个很简单的DOS,但很不好使,而且和别的微机不兼容。后者则找基尔代尔,以25000美元买下CP/M的许可使用权,马上把盖茨的“杰作” 给盖了。

学者企业家
基尔代尔并没有想到自己写了一个多么有价值的程序。他只是想,他怎么能写出很有价值的程序呢?能使用他的软件开发人员又有几个人呢?显然他缺乏盖茨的商业眼光和商业手段。作为一名有所作为的大学教授,当然不可能像那班野心小子们一样异想天开,当然事实证明,这班野小子们绝对是对的。

基尔代尔对硬件没有特别的兴趣,他更喜欢研究操作程序,找到一种方法使磁盘存贮管理与微处理器连接起来,因此他开始用PL/m语言编写软件,在大型计算机系统上模拟运行。这种软件给磁盘提供高级存取,而且是一个紧凑的操作系统。在模拟中,操作系统可以工作,但基尔代尔在有控制器以前不能确定用软盘是否起作用。1974年,他请他的朋友、后来数字微系统公司的总裁·托拉德尔的帮助,他刚刚在华盛顿大学取得了博士学位。托拉德尔成功地让这台设备运转起来。基尔代尔回到苏格特公司,说服他们又提供了一个驱动器,他把它装在了装有控制器和开发系统的盒子中。当硬件界面完成时,整个系统运转起来了,而且运转得不错。这就是第一个CP/M系统,它花了苏格特一两个月时间编写,它的最大优点之一是只需要3K的内存。

基尔代尔知道单有一个操作系统还不足以进行程序开发,他又增加了额外的应用程序如文本编辑、动态纠错和一个简单的汇编器。直到1975年他才完成了CP/M的全套应用系统,包括用于拷贝文件的PIP(外设互换程序)。CP/M使从磁盘上把数据传到微型计算机上打印和使所有属于物理操作功能的微型计算机系统的操作成为可能。

在妻子的鼓动下,1976年,基尔代尔离开海军研究生院,与妻子多露西一起创办了星系数字研究所,很快改名为数字研究公司(DRI)。由多露西负责经营。两口子并没有预计到会有巨大成功。多露西·麦克艾文说:“我们以前从没有想过会拥有一家大公司。它就这样发生了,似乎就是应该这样做。1976年她曾怀疑公司能赚到的钱会超过1.5万美元,而事实上它赚了60万~80万美元。在开始的五六年中,公司的收益每年都翻了一番,1981年销售额达到 520万美元,三年后达到4460万美元。

显然,公司最早的主顾占了大便宜,例如最早以公司名义购买CP/M的托马斯·拉夫勒,只化了90美元就买到了CP/M的使用权。而不到一年,搞一份CP/M许可证要花上万美元。

1977年,与以姆赛(IMSAI)公司的合同是个转折,他们以2.5万美元购买了CP/M。以姆赛公司经理鲁宾斯坦认为基尔代尔是个软件天才,可做买卖却象个不懂事的孩子。他认为自己几乎是从作者那里把操作系统偷过来。基尔代尔则十分知足,这笔生意使数字研究公司成了正式营业的公司。

那时,基尔代尔已经开发了5个CP/M版本,是专为装有不同磁盘驱动器的不同计算机设计的。一天下午,他与一位以前的学生,现在是IMSAI雇员格兰·埃文坐下交谈。他说:“瞧,我要把这个小东西(CP/M)叫做Bios(基本内存输入输出系统),它将适用于任何人们希望的操作环境。”Bios成为通用部分,人们可以自己对它进行修改,使他们的磁盘驱动器可以与计算机匹配。这使得CP/M更容易被接受。IMSAI的购买后,订单滚滚而来。在第一个 100万后,基尔代尔就再也不计算CP/M的销售额了。他估计目前已经有2000万套拷贝在使用。CP/M也成了70年代、80年代初最有影响的PC操作系统,到80年代中期,它将运行在300种计算机模型上,而且3000种软件支持CP/M机,CP/M成了事实标准。


错失计算机历史上最大的一笔生意
1980年,IBM PC正在酝酿之中,幸运之神降到比尔·盖茨的头上。但当时他根本没有想到,自己会从磁盘操作系统(DOS)上大赚特赚,而且后来会以DOS牢牢控制整个计算机业。当时盖茨真正在行的是编写程序语言Basic。他只希望自己的Basic能挂在IBM的系统上。而且盖茨并不看好DOS的前景,他认为程序语言才是真正的大钱眼。而且当时市场上已经有了最流行的CP/M DOS,它是由基尔代尔的DRI(数据研究公司)开发的。再说,盖茨和数字研究公司有个不成文的协定,那就是他不能涉足操作系统领域,数字研究公司也不进入他的程序语言范围,因此他慷慨地将IBM的代表介绍给了基尔代尔。双方约好在蜿蜒海岸边的一号高速公路旁,秀丽的加州太平洋林园见面。


关于基尔代尔如何错失这笔本世纪最具价值的生意,流传着许多版本。有的说这位电脑博士骄傲自大,所以当IBM带着一生难遇的大生意找他时,他竟然驾着他的双引擎小飞机兜风去了,留下当律师的太太和IBM打交道。面对IBM一大堆不泄密的限制协议,她不乐意了,一天的大部分时间都花在讨价还价上,双方达成的唯一协议就是要数字研究公司不泄露IBM来访这件事。但基尔代尔断然否定这种说法,他说上午去处理一件紧急事务,下午3点就赶回来以便和IBM的人见面。对于IBM要签署的文件,他赞同妻子的做法。对于失去这次机会,他也只是耸耸肩而已。基尔代尔猜想盖茨“做出了他认为是最好的生意决定”。

IBM没能与基尔代尔做成生意,盖茨就自告奋勇揽下了这笔生意。但是编写一个操作系统起码要花一年时间,但IBM要求几个月内就完成。盖茨急得象热锅上的蚂蚁。这时,保罗·艾伦发挥了极大的作用。他听到风声,知道有一套圈内人自编的QDOS。QDOS本意为快速而肮脏的操作系统(Quick and Dirty Operating System),意指借用了CM/P操作系统的构想和名称,不过那时尚未出现巨额罚金的法律诉讼。程序员对非法拷贝他人作品还不以为然。艾伦把电话给 QDOS的作者蒂姆·帕特森。最后,微软付了大约7.5万美元,连人带产品一起买下,改名为MS-DOS。并倒手给了IBM,开始了微软飞黄腾达之路。

1981年,IBM推出第一台带有PC—DOS(微软MS—DOS前身)的PC,“我对和CP/M的相似感到惊讶,它们太相像了,系统功能简直一模一样。我对IBM和微软的做法非常愤怒。我们在这里与IBM诚心诚意地谈判,结果却被他们敲了竹杠。毫无疑问,业内任何一个看到它的人都知道,它甚至连指令都跟CP/M一样。我可以坐下来,完全不用任何说明就可以使用它。这简直让人难以置信。”

基尔代尔找上门来,提出可能危及IBM软件计划的诉讼。基尔代尔对IBM的人来说,他看到他们的产品了,它简直是“彻头彻尾的CP/M界面”,他告诉他们这不公平,“我不知道你们怎么可以毫无顾忌地把别人的发明拿来就用,而且基本上全盘照抄。”IBM回答说,根据基尔代尔所说的,它的人没有意识到该操作系统与CP/M那么近似。(核查IBM对基尔代尔的回答,从IBM的项目主管约翰·H·麦克尔1987年3月的一封信中得知,“任何IBM不合法、不道德和不适当地为IBM—PC获取操作系统软件使用权力的说法绝对是错误的。”)

IBM连忙派出几位律师去找基尔代尔。见了面,才发现这个书呆子太容易摆平了。因为基尔代尔告状的真正目的,只是希望IBM在PC中采用他下一版的CP/M。IBM当然乐于从命,坏事成了好事。微软也躲过了致命的一劫。

为此IBM策划了一个广告,显示标志着DOS、CP/M和UCSD的三扇门,最后一种操作系统也是替PC编写的,但从来未成气候。更关键的是,基尔代尔不明白以超低级价格占领市场树立事实标准的策略,他的CP/M售价大约是MS-DOS 40美元的6倍。而且在版本更新上也明显落后于微软。因此正像基尔代尔说的,“CP/M基本上中途就夭折了”。

IBM对PC市场的渗透影响了数字研究的操作系统市场。1983年底,数字研究推出了并行CP/M,其优点是计算机用户可以一次做几种操作。比如,在打印机打印时,他可以写信。它卖得很好,因为当时IBM还没人多任务操作系统。但是,由于它没有PC-DOS的兼容性,因此销售数量有限。后来,根据基尔代尔的建议,他们达成了一项重要决定:“如果这是人们的需要,我们将继续下去……既然PC—DOS是CP/M的翻版,为什么我们不回到原处,使 CP/M与PC—DOS完全兼容呢?”因此诞生了并行PC—DOS,一个并行CP/M的多任务版。1984年问世时,它获得了巨大的成功。

但到了80年代末,MS-DOS已经成为操作系统上的事实标准。

被金钱淹没
1981年,数字研究公司收入600万美元,基尔代尔本人财富1500万美元。相比之下,当时的微软和盖茨还是小虾米。但是,随后,微软的 BASIC嵌入了IBM PC系统内部,微软DOS已紧紧绑上IBM。1982年,基尔代尔还没有真正被挫败。他判断作为一个产品,BASIC是个灾难。在很大程度上他是对的。对初学者来说,BASIC并不是一种简单易用的语言。作为编程大师的基尔代尔,准备开发一种比BASIC更简单且视觉效果更佳的语言,这就是DR LOGO。不幸的是,这个倾注了大量财富和金钱的产品,从未真正流行起来。因为,此时人们对编程语言已经不再关心那么多了。市场的重心开始偏向应用软件。

基尔代尔是个技术中人。他认为,如果他在自己的操作系统上开发出一套关键的应用软件(对基尔代尔来说是驾轻就熟的事),那么就是不道德地与自己的客户竞争,有昧自己的良心。因此,他决定不与编写WordStar、VisiCalc之类的软件公司进行一对一的直接竞争。这些软件都依靠他的操作系统。这样,基尔代尔的业务过于单一,十分危险。

而盖茨则没有这种内疚感。相反,他认为在应用软件领域,必须心狠手辣,不择手段。他一开始就着手部署,为一系列有利可图的应用软件打好坚实的基础,而且这些软件可以在各种平台上运行,包括基尔代尔的操作系统。这样,有了雄厚的业务基础,就可以更野蛮地在市场上冲杀。而且,盖茨也得到了另一大启示:软件业中发现创新的产品和技术太容易了,而模仿起来也太简单了。但是把它们转化为市场的成功就需要另一种能力和手段。而这些手段基尔代尔永远不可能学会。这就是为什么没有创新的微软能够横扫天下,而一代软件天才基尔代尔却只能迅速走向衰弱的根本原因。

从占星机到CP/M错失良机,再到最后的软件定价,都说明了基尔代尔永远不是商场中人。可以说,基尔代尔是电脑史上第一位全能的专家,同时在硬件和软件上做出非凡的贡献。尤其是他在最早的个人电脑Altair之前就准备好了操作系统,为PC业的喷发创造了条件。但他只是一个比较单纯的技术天才,注定要被盖茨踩在脚下。

被历史淹没
如今人们早已将基尔代尔淡忘了,甚至比尔·盖茨在其畅销书《未来之路》中大言不惭地将蒂姆·帕特森捧了出来,冠之于“DOS之父”的头衔,而对基尔代尔只字未提。

但是有一部分历史是金钱和名望难以改写的。因为是基尔代尔,而不是帕特森最早创造了磁盘操作系统(DOS),是基尔代尔划定了今天人们广为使用的 A盘、B盘和C盘(CD-ROM)驱动程序的编写者,基尔代尔也是图形用户界面(GUI)的先驱之一。他还开发了“Dr Logo”计算机语言。同时,在1974年,他和戈登·恩巴克斯一起,帮助创建了硅谷最富盛名的“家酿俱乐部”(Home Brew Club),成为计算机业余爱好者交流的天堂,也是硅谷点燃PC革命的中心。基尔代尔的CP/M还被美国国防部用作导弹制导系统的开发环境。

基尔代尔主要是在家里工作(“只是因为工作环境安静”),只到办公室开会。他妻子多露西说:“他有技术头脑,但没有商业头脑,他只专注于他研究的项目,而且很关善于钻研。如果他得整晚工作,那没关系,他一周工作100个小时,因为他太专注了,他所有的热情都在这上面。”

基尔代尔在数学研究公司工作了10年,他先后担任主席、总裁以及首席执行官。但自从1984年以来,他逐渐淡出。除了担任董事会主席一职外,基尔代尔于1985年创建了另一家公司Knowledge-Set,这是最早为新兴的大容量存储介质CD-ROM开发应用软件的公司。总是寻找技术突破口的基尔代尔看到了连接PC和磁带播放器的未来。基尔代尔的新产品Vidlink把视频播放器、彩电和PC连接起来,提供了一个非常巨大的存贮容量。一个独立磁盘可容纳180卷微型胶卷或54000幅静止电视图像。

另一个新产品是知识磁盘,它是一个视频磁盘,可以用遥控装置或视频播放器控制。基尔代尔还研究了CDROM(小型磁盘只读存贮器),目的是在单磁盘里存放10本百科全书。“那很有趣”,他说。1985年,基尔代尔的公司最先提出他们的计划,以CDROM的格式发行《格罗里尔(Grolier)百科全书》。

但基尔代尔还是卖掉了公司的大部分股份,转而为视频设计公司(VDG)生产商用和视频内容。

随着微软的如日中天,基尔代尔的数字研究公司江河日下。1991年,数字研究公司被Novell公司所兼并。他本人也从硅谷搬到了德克萨斯州奥斯汀附近的一座小镇,淡出人们的视野。开始将钱财和精力投入到儿童艾滋病受害者的援助工作中。

如今,大概只有极少数专业人员和发烧友还会摆弄一下CP/M。从80年代末,基尔代尔就变得有些压抑和消沉。因为他发现自己,已被自己开天辟地的PC产业无情地抛弃了。基尔代尔开始借酒浇愁,成了不折不扣的酒徒,并和曾一同创业的妻子多露西离婚。

1994年7月,年仅52岁的基尔代尔在加州蒙特利的寓所里,头部撞地,三日后不治身亡。一代大师凄凉离世,彻底告别了他爱恨交加的电脑业。

媒体只是轻描淡写地提及了几句,在如火如荼的产业中,作为多才多艺的飞行员、教师、软件大师、作家和计算机先驱,基尔代尔彻底进了历史,走入被人遗忘的角落。

Posted by hufey at 03:17 PM | Comments (1)

DOS之父加里·基尔代尔(上)

本人不十分赞同此文对bill gates的评价


文章标题 DOS之父加里·基尔代尔

张贴者: 白头杉 (member)
张贴日期 02/26/04 17:27

盖茨靠抄袭基尔代尔发家
大家都知道,PC的腾飞依靠两个最主要的翅膀:微处理器和操作系统。这也是PC业中最大的两棵摇钱树。特德·霍夫发明的微处理器为英特尔种下了摇钱树。基尔代尔的DOS操作系统则为微软的霸业铺下基石。英特尔和微软成为PC业的最大赢家,而霍夫和基尔代尔则在贡献了自己的智慧后,两袖清风,而且在历史的页码中始终受排挤。

钱是会说话的,它能编写历史;钱是有手的,还能改写历史。基尔代尔的朋友和崇拜者说:“每一位PC用户都欠基尔代尔一份情,而比尔·盖茨和他的微软公司欠得比谁都多。”正如盖茨对待自己的领路人罗伯茨一样,为了掩盖自己的“债务”,盖茨的做法就是:淡化基尔代尔,并树立另一位DOS之父,将他挤出历史!

但是,历史不可能用金钱彻底改写,基尔代尔作为计算机软件领域的主要人物之一,其地位不可动摇,盖茨依靠基尔代尔的发明而起家的事实无法掩饰。

1973年,加里·基尔代尔(Gary Kildall)看到对个人计算机操作系统的需求,设计了CP/M操作系统(Control Program/Microprocessor or Microcomputer),CP/M操作系统有较好的层次结构。它的BIOS把操作系统的其他模块与硬件配置分隔开,所以它的可移植性好, 具有较好的可适应性和易学易用性。用基尔代尔的话说,CP/M“携带了基本的制造块”,它使整个计算机业界的设备变得更加统一。很快,约2000家计算机公司使用了他的程序。到1979年,CP/M已经成为8位数微处理器计算机的实际标准。而随后微软推出的MS-DOS操作系统的BIOS程式,几乎一位元不变地从基尔代尔的CP/M BIOS拷贝过去。

软件不同部分之间的交互接口,就是所谓的API——应用程序编程接口。API的发明和发展大大促进了计算机产业的进步,它几乎决定着计算机日常应用的各个方面。所有在应用上获得成功的软件或者Web应用无一不是首先在API的设计上满足了用户的需求。也是基尔代尔为微机首创了世界上第一个实用的软件API。这个初生的API大致上有20多个对操作系统的简单函数调用组成,这个操作系统就是CP/M——那时可是相当的简单和粗糙,而同样简单的API 却让整个计算机世界发生了重大变化。基尔代尔这个软件天才希望自己设计的API能被其他科学工作者采用,而商用方面的考虑没多想。而比尔·盖茨认识到, API绝对是商业软件获得成功的关键之一,随后微软推出的MS-DOS操作系统全盘拷贝了CP/M及其API,并在这些API的基础之上又增加了一些简单特性,比尔·盖茨将基尔代尔的发明变成了巨大的商业应用,并让MS-DOS的API在软件开发中占据了主导地位。

这大概是计算机天才的典型命运。虽然在软件方面,比尔·盖茨远不是基尔代尔真正势均力敌的对手,但盖茨更钻心于商业。而基尔代尔纯粹是学者,从事计算机也纯粹是满足智力的好奇。他不赞同盖茨的人生哲学,在他眼里,“我要赢”还不如“我要幸福”。这种哲学下,基尔代尔的结局可想而知。

计算机人生
1942年5月19日,加里·基尔代尔出生于美国西北部的西雅图,他在那里生活到27岁。是盖茨的同乡。在高中,他并不是明星学生,他喜欢新奇的玩意儿和汽车。他设计制造过一个自动防盗报警器,一个用磁带录音机来使用摩斯代码的机器,和一个触发二进制转换器。他喜欢长时间地摆弄电话装置,其沉迷程度就像后来的黑客沉迷于计算机。

1960年初,在基尔代尔上大学前两年,他在西雅图他父亲的航海学校任教。在那里,他对数学产生了浓厚的兴趣,但是航海是一个以老技术为主的领域。他去了华盛顿大学学习,本科念的是数学。刚进大学时,他选修了两门计算机编程方面的课程,这决定了他的将来。他用老式手工计算器进行数字分析方面的研究,但当他学完课程时,他已经涉入FORTRAN程序。他被计算机的缺陷所困扰,整晚把时间花在大学的计算机中心。1962年,基尔代尔与多露西·麦克艾文结婚,他们的婚姻维持了20年,有两个孩子。

越战开始,基尔代尔应征入伍。他加入了海军预备队,因此可以继续完成学业。他在罗德岛的军官后备学校呆了两个夏天。1967年,他获得计算机科学学士学位,留在华盛顿大学学习计算机科学的研究生课程。在大学的计算机中心,基尔代尔晚上在Burroughs 5500计算机上工作,通过它,基尔代尔学到了许多有趣的新概念,包括块存贮分配技术。深夜的时候,这台机器实质上是他一个人的。他为Burroughs 5500做ALGOL编译,这为他提供了编译经验,这也是他研究生学习的主攻方向。

1969年初,在基尔代尔获得硕士后,他应召为军队服务,他有两个选择:登上开往越南的驱逐舰或在加利福尼亚蒙特雷的海军研究生院教计算机科学。 “我只用了两毫秒就做出了选择。”他在海军研究生院教了三年计算机科学,又开始了博士生学习,方向是编译代码的优化,他的论文题目是《总流量分析》,用来决定如何使机器代码尽可能地简洁。1972年,获华盛顿大学计算机科学博士学位,参加了美国海军,秋天被分到加州蒙特利的海军研究生院,担任电脑讲师,主要从事软件方面的研究。

基尔代尔喜欢这个滨海城市的风光,青松笼罩着薄雾的环境很合他的喜好,他说话柔和,才智过人,穿着运动衫和紧身裤。当他想要表达什么时,往往先找支粉笔或铅笔,喜欢用图解答是他一生难改的嗜好。

他喜欢教书,是位出色的教师,和学生关系融洽,出过几本著作。他的工作也使他有时间编程序。可以说,学术界的氛围让他如鱼得水。

赋予微处理器以生命
1972年,他偶然发现在华盛顿大学公告板上有一则广告:“25美元卖一台微机”。因为教学需要,他买下了它,这是一台英特尔4004的4位微处理器,是第一台使用芯片的计算机。甚至当时没有人认为微处理器有什么用处,包括英特尔。此前,他一直用的是海军学校价值300万美元的IBM 360系统计算机。基尔代尔计划用这个芯片制作一一个导航计算器,他父亲一直想有一个可以计算导航三角形的设备。基尔代尔试着在4004上写一些技术性的程序,但很快意识到指令到指令集很有限。他又询问英特尔是否对他在4004上编的程序感兴趣,虽然英特尔对导航应用并无特别兴趣,但他们发现他的数学程序很诱人。

以往,计算机存储数据、数据处理和数据控制三部分是分开的。微处理器的出现实现了使其三合一。因此程序也需要“微小化”。基尔代尔使用二级法,先在DEC的PDP—10小型机上为4004创建新的“微程序”。1973年,他参观了英特尔的微机部,当时这家刚刚创办的公司只有几间破房屋。基尔代尔与英特尔的人很投缘,他用每周一天的休息日担任英特尔的顾问。他不但喜欢上了新职务,而且也迷上了微处理器。不久英特尔又让他试用新出炉的8008,只用了几个月,基尔代尔创建了PC史上革命性的微处理程序设计语言PL/M,为微处理器赋予了真正的生命,打通了微处理器与微电脑的通道。它很容易被接受了,它用于大量的开发系统软件如字处理器、编辑器和汇编语言。然后,基尔代尔开始为8080微处理器开发PL/m的不同版本,这个芯片取代了8008,并成为微型计算机革命的真正开始。

当时,英特尔觉得微处理器没有什么前景,当然对基尔代尔的程序也无动于衷。英特尔也失去了同时拥有微处理器和操作系统的大好机会。将另一半江山让拱手让给了微软。

英特尔8008问世后,自制了几台叫Intellec-8的微机。英特尔送了一台计算机作为基尔代尔的部分酬劳,他把这台机器放在教室后方,成为海军研究生院的第一个微机实验室。好奇的学生下课后都来滴滴答答玩上几个小时。当8008升级为8080时,Intellec-8变成了Intellec -80,性能高出10倍。英特尔又加送了一台显示器和一台高速纸带阅读机。基尔代尔和学生们大受鼓舞。这时,刚好遇上IBM发明8英寸软盘的艾伦·舒加特,立刻和一位戈登·恩巴克斯的学生一起,开发微机和控制程序CP/M的操作系统,这是世界上第一个磁盘操作系统(DOS)。

Posted by hufey at 03:16 PM | Comments (0)

February 19, 2004

狂笑


lin---s狂笑
被微软禁止使用lindows的国家lindows改名叫lin---s,哈哈哈哈哈!
不是一般的幽默啊

Posted by hufey at 06:30 PM | Comments (0)

February 12, 2004

Details of Palm OS 6


# Multitasking, multithreading;
# Memory protection;
# Support for more memory and larger screens;
# Industry standards-based security;
# Extensible communication and multimedia frameworks capable of handling multiple connections simultaneously;

New Pluggable Communications Design — The modular, flexible, industry-standard STREAMS-based framework is designed to offer a simple way for licensees and software developers to add communications support for a wide variety of networking and communications protocols. Palm OS Cobalt is designed to supports multiple simultaneous communication sessions on various wireless networks, such as downloading WiFi delivered data while receiving a phone call.

Extensible Multimedia Framework — Palm OS Cobalt is designed to provide a rich graphics and multimedia architecture. Graphics support includes paths, rotation, gradient fills, anti-aliasing, outline fonts and transparency. The new graphics system is designed to support screen sizes up to 32,000 by 32,000 pixels! Multimedia support includes playback of industry-standard audio and video including ADPCM/PCM, MP3, MPEG1 and MPEG4 designed to enable licensees and software developers to more easily build media-based applications. This extensible multimedia framework is designed to enable licensees and software developers to easily add additional audio and video standards.

Improved PIM Applications & Databases Palm OS Address Book and Date Book are redesigned to support up to 255 fields, providing better interoperability with Microsoft Outlook. Each standard PIM application is designed to automatically adjust layout size to fit particular actions. For example, a small screen for the Dynamic Input Area when editing a document, and a larger screen when reading an eBook. Palm OS licensees and software developers can also extend and customize underlying schema databases easily to create new fields.

Better compatibility with Microsoft Outlook and PC files PalmSource has also added additional fields to Palm OS DateBook and Address Book, designed to correspond more closely to the information stored on Microsoft Outlook. In addition, Palm OS Cobalt is designed to allow users to transfer PC files directly to Palm Powered devices by dragging them onto an icon on the PC desktop, making it even easier for reading and editing.


开发工具要用eclipse了,不用买死贵的CW

slashdot的讨论超强,对于32Kx32K的分辨率用处,
Isn't 32k x 32k overkill? (Score:2, Flamebait)
by EricWright (16803) on Wednesday February 11, @05:06PM (#8253636)
What in the world do you need that kind of resolution for a Palm based system? Are they looking at expanding into other types of systems?
一个哥们回答
Re:Isn't 32k x 32k overkill? (Score:5, Funny)
by El Pollo Loco (562236) on Wednesday February 11, @05:12PM (#8253699)
(http://www.fuckedcompany.com/)
It's for porn. Horray for microscopicaly small boobies!!!

slashdot的讨论

我越来越觉得slashdot的人跟paowang差不多

Posted by hufey at 06:08 PM | Comments (0)

February 10, 2004

编译uClib

下载 uClib 最新版本,0.9.26
make menuconfig
make clean
make CROSS=arm-elf-
make PREFIX=/ install

其中 __NR_syscall 会找不到
在 ./include/asm/unistd.h 中加入下行
#define __NR_syscall 0
即可

连接的时候,会有__exec_alloc和__exec_free连不上
原因是libc/unistd的Makefile写的不对,mailinglist已经有人提到

__exec_alloc.o 应该在NOMMU也要有

真奇怪,明明老版本还能一次编译过去,到新版本反倒要改
Open Source 的QA可真够差的了!

2月10日补充:调用stat的程序,在include 时候,要在
编译的时候指定 -I〈uClibc path〉/include,否则根本连不上
会报 undefined reference '__xstat'
但是同样的chmod就没问题,靠!

Posted by hufey at 03:39 PM | Comments (0)

February 07, 2004

SQLite

300K的代码
300K的binary code
是不是很小啊
sqlite

Posted by hufey at 11:26 AM | Comments (0)

January 17, 2004

转贴:忒NB啦

标题 姑苏慕容与软件开发 chelsea(原作)

关键字 软件开发

一,逆向工程

那女子悠悠的道:“丐帮‘打狗棒法’与‘降龙十八掌’两大神技,是丐帮的不传之秘。你们‘还施水阁’和我家‘琅擐玉洞’的藏谱拼凑起来,也只一些残缺不全的棒法、掌法。运功的心法却全然没有。你家公子可怎生练?”阿朱道:“公子说道:这‘打狗棒法’的心法既是人创的,他为什么就想不出?有了棒法,自己再想了心法加上去,那也不难。”

二,泛型算法

外人不知底细,见到慕容氏“以彼之道,还施彼身”神乎其技,凡在致人死命之时,总是以对方的成名绝技加诸其身,显然天下各门各派的绝技,姑苏慕容氏无一不会,无一不精。其实武林中绝技千千万万,任他如何聪明渊博,决难将每一项绝技都学会了,何况既是绝技,自非朝夕之功所能练成。但慕容氏有了这一门巧妙无比的“斗转星移”之术,不论对方施出何种功夫来,都能将之转移力道,反击到对方自身。

三,结对编程

王语嫣低声道:“他第二剑从左侧刺来,你先抢到他右侧,在他‘天宗穴’上拍一掌。”果然那道士一剑不中,第二剑“清澈梅花”自左方刺到,段誉依着王语嫣的指点,抢到那道士右侧,拍的一掌,正中“天宗穴”。这是那道士的罩门所在,段誉这一掌力道虽然不重,却已打得他口喷鲜血,扑地摔倒。这道士刚被打倒,又有一汉子抢了过来。王语嫣胸罗万有,轻声指点,段誉依法施为,立时便将这名汉子料理了。段誉见胜得轻易,王语嫣又在自己耳边低声嘱咐,软玉在背,香泽微闻,虽在性命相搏的战阵之中,却觉风光旖旎,实是生平从所未历的奇境

四,架构设计

鸠摩智笑道:“这个棋局,原本世人无人能解,乃是用来作弄人的。小僧有自知之明,不想多耗心血于无益之事。慕容公子,你连我在边角上的纠缠也摆脱不了,还想逐鹿中原么?”慕容复心头一震,一时之间百感交集,反来覆去只是想着他那两句话:“你连我在边角上的纠缠也摆脱不了,还想逐鹿中原么?”

五,过度设计

王语嫣不论说什么话,在段誉听来,都如玉旨纶音一般,她说要找一个地方避一避雨,段誉明知未脱险境,却也连声称是,心下又起呆念:“王姑娘心中念念不忘的,只是她表哥慕容复。我今日与她同遭凶险,尽心竭力的回护于她,若是为她死了,想她日后一生之中,总会偶尔念及我段誉三分。将来她和慕容复成婚之后,生下儿女,瓜棚豆架之下与子孙们说起往事,或许会提到今日之事。那时她白发满头,说到‘段公子’这三个字时,珠泪点点而下……”想得出神,不禁眼眶也自红了。王语嫣见他脸有愁苦之意,却不觅地避雨,问道:“怎么啦?没地方避雨么?”段誉道:“那时候你跟你女儿说道……”王语嫣道:“什么我女儿?”段誉吃了一惊,这才醒悟,笑道:“对不起,我在胡思乱想。”

六,Base64

王语嫣走近身去,要瞧瞧信上还写些什么。包不同将信递了给她。王语嫣见信上写了七八行字,字迹清雅,颇有劲力,虽然每一个字都识得,但全然不成文理。她读这的书着实不少,这般文字却是第一次见到,皱眉道:“那是什么?”阿朱微笑道:“这是公冶二哥想出来的古怪玩意,是从诗韵和切音中变化出来的,平声字读作入声,入声字读作上声,一东的当作三江,如此掉来掉去。我们瞧惯了,便知信中之意,在外人看来,那是全然的不知所云。”

Posted by hufey at 12:49 PM | Comments (0)

my-symbian居然要注册48小时后才能加贴子

还让我先search
MD,我要是能search到还到你这来?

再骂一遍Symbian的SDK
难怪nokia的官方forum一个帖子1天也没几个人
我的帖子才4个view,有两个还是我自己点的

Posted by hufey at 12:08 PM | Comments (0)

唉,随便解决一个帖子的问题

真奇怪,自己试一试就可以解决嘛!
非要到网上问。
其实之前我也不清楚,可是我不相信这个问题很难。

palm prc文件改名字的问题
拿UltraEdit直接改啦,试一试不就知道了吗
当然正常解决办法是用Contructor改啦
想想也能想到嘛
人家做了那么多年这么一个小问题还用那么费劲?
现在的孩子真懒呐

Posted by hufey at 12:36 AM | Comments (0)

January 09, 2004

没有最烂,只有更烂

以前一直以为俺们自己的开发环境比较烂,每次面对大公司的成熟漂亮优美的开发工具,
都很自卑。直到昨天我下载了Brew SDK和Symbian SDK。

比俺们烂多了!

比Palm,WinCE俺们比不了,比个破Brew SDK和Symbian SDK来说,
俺们的开发流程人性多了!


Nokia Serial60 Symbian SDK download

好多手机相关SDK下载

Posted by hufey at 10:26 AM | Comments (1)

December 15, 2003

记一下gcc for MIPS compiler目前的bugs

要不时间长了就忘了

  • sprintf返回值始终为0
  • sprintf输出浮点数的时候必须设栈指针为8 bytes对齐
  • toupper错误,好象是会使输入buffer地址+1,这个没仔细研究,待考。
  • 多维数组不能在声明的时候初始化。

    Posted by hufey at 11:52 AM | Comments (0)
  • December 12, 2003

    参照 Unix Programming Environment 来看NULL pointer

    C FAQ
    5.2: How do I get a null pointer in my programs?

    ... ...
    However, an argument being passed to a function is not
    necessarily recognizable as a pointer context, and the compiler
    may not be able to tell that an unadorned 0 "means" a null
    pointer. To generate a null pointer in a function call context,
    an explicit cast may be required, to force the 0 to be
    recognized as a pointer. For example, the Unix system call
    execl takes a variable-length, null-pointer-terminated list of
    character pointer arguments, and is correctly called like this:

    execl("/bin/sh", "sh", "-c", "date", (char *)0);

    If the (char *) cast on the last argument were omitted, the
    compiler would not know to pass a null pointer, and would pass
    an integer 0 instead. (Note that many Unix manuals get this
    example wrong.)
    ... ....

    《Unix 开发环境》第8章 8.9 小节

    在使用ANSI C原型之前,对e x e c l , e x e c l e和e x e c l p三个函数表示命令行参数的一般方法是:
    char * a rg 0, char *a rg 1, ..., char * a rg n, (char *) 0
    应当特别指出的是:在最后一个命令行参数之后跟了一个空指针。如果用常数0来表示一个空
    指针,则必须将它强制转换为一个字符指针,否则它将被解释为整型参数。如果一个整型数的
    长度与char *的长度不同,e x e c函数实际参数就将出错。

    Posted by hufey at 04:48 PM | Comments (0)

    December 10, 2003

    还真有不是0的NULL,C语言的各种实现太乱了

    5.17: Seriously, have any actual machines really used nonzero null
    pointers, or different representations for pointers to different
    types?

    A: The Prime 50 series used segment 07777, offset 0 for the null
    pointer, at least for PL/I. Later models used segment 0, offset
    0 for null pointers in C, necessitating new instructions such as
    TCNP (Test C Null Pointer), evidently as a sop to all the extant
    poorly-written C code which made incorrect assumptions. Older,
    word-addressed Prime machines were also notorious for requiring
    larger byte pointers (char *'s) than word pointers (int *'s).

    The Eclipse MV series from Data General has three
    architecturally supported pointer formats (word, byte, and bit
    pointers), two of which are used by C compilers: byte pointers
    for char * and void *, and word pointers for everything else.

    Some Honeywell-Bull mainframes use the bit pattern 06000 for
    (internal) null pointers.

    The CDC Cyber 180 Series has 48-bit pointers consisting of a
    ring, segment, and offset. Most users (in ring 11) have null
    pointers of 0xB00000000000. It was common on old CDC ones-
    complement machines to use an all-one-bits word as a special
    flag for all kinds of data, including invalid addresses.

    The old HP 3000 series uses a different addressing scheme for
    byte addresses than for word addresses; like several of the
    machines above it therefore uses different representations for
    char * and void * pointers than for other pointers.

    The Symbolics Lisp Machine, a tagged architecture, does not even
    have conventional numeric pointers; it uses the pair
    (basically a nonexistent handle) as a C null
    pointer.

    Depending on the "memory model" in use, 8086-family processors
    (PC compatibles) may use 16-bit data pointers and 32-bit
    function pointers, or vice versa.

    Some 64-bit Cray machines represent int * in the lower 48 bits
    of a word; char * additionally uses the upper 16 bits to
    indicate a byte address within a word.

    References: K&R1 Sec. A14.4 p. 211.

    Posted by hufey at 03:28 PM | Comments (2)

    December 08, 2003

    note of C FAQ

    颠覆了我多年的观念

    5.9: If NULL and 0 are equivalent as null pointer constants, which
    should I use?

    A: Many programmers believe that NULL should be used in all pointer
    contexts, as a reminder that the value is to be thought of as a
    pointer. Others feel that the confusion surrounding NULL and 0
    is only compounded by hiding 0 behind a macro, and prefer to use
    unadorned 0 instead. There is no one right answer. (See also
    questions 9.2 and 17.10.) C programmers must understand that
    NULL and 0 are interchangeable in pointer contexts, and that an
    uncast 0 is perfectly acceptable. Any usage of NULL (as opposed
    to 0) should be considered a gentle reminder that a pointer is
    involved; programmers should not depend on it (either for their
    own understanding or the compiler's) for distinguishing pointer
    0's from integer 0's.

    NULL should *not* be used when another kind of 0 is required,
    even though it might work, because doing so sends the wrong
    stylistic message. (Furthermore, ANSI allows the definition of
    NULL to be ((void *)0), which will not work at all in non-
    pointer contexts.) In particular, do not use NULL when the
    ASCII null character (NUL) is desired. Provide your own
    definition

    #define NUL '\0'

    if you must.

    References: K&R1 Sec. 5.4 pp. 97-8; K&R2 Sec. 5.4 p. 102.

    Posted by hufey at 03:33 PM | Comments (0)

    November 20, 2003

    gcc compiler的问题

    也许不应该算问题

    具体还需要再查一下

    这里计一下吧

    classA的classB成员在A的Ctor中不会自动call classB的Ctor

    Posted by hufey at 02:05 PM | Comments (0)

    November 16, 2003

    用电视看Mpeg4,够爽

    中东高知的片子好是好,省了不少买碟的钱
    可是在电脑上看毕竟不爽
    也不方便全家人一起分享那

    正好家里有一个笔记本一直闲置着
    2000年买的ASUS,花了两万块,
    PIII450还不带M的CPU
    (那会没有带M的,第一块带M的就是500MHz了)
    硬盘10G,内存192M已经是升级过,不能再升了
    后来买了Desktop PC她在家里放着算是鸡肋
    卖也卖不了多少钱,用着也不舒服
    后来装上了Linux+Apache+MySql给媳妇写程序
    做测试用

    干脆再改造一下,现在成了一个mpeg4 player
    其实也挺简单,过程如下:
    装redhat 9,因为以前的版本不认板子上的AC97声卡
    和lucent 瘟猫,装mplayer,找出一个音频线
    一头接audio out,一头接功放aux audio in。
    幸好电视本身有VGA input,否则还得显卡支持。
    笔记本只要在bios里改成LCD和VGA both output就可以了

    怎么样?效果还可以吧?

    ___________________________________________________
    马上要做一个支持UPNP的DVD Player,将来就不用这么
    麻烦了。未来(也许用不了两年),家里的电器都有一个
    IP address,就不用这么麻烦啦

    resizngPB160290.JPG



    不用窝在电脑上看中东高知的电影了


    Posted by hufey at 02:41 PM | Comments (0)