Refresh

This website coolshell.cn/category/story/page/4 is currently offline. Cloudflare's Always Online™ shows a snapshot of this web page from the Internet Archive's Wayback Machine. To check for the live version, click Refresh.

Browsed by
分类: 轶事趣闻

Amazon的书为什么卖到了$2000万

Amazon的书为什么卖到了$2000万

最近,Amazon的新闻比较多,除了Amazon的云平台宕机外,还有一个被热炒的新闻是在Amazon的书店里,有一本书要买$23,698,655.93美元,相当于1亿5千万人民币(如下图所示),这个事情是由UC Berkeley的生物学家Michael Eisen发现的,然后他在他的博客上写了一篇文章来说明这个事情

这本书是1992年,现在绝版了,生物学家决定上Amazon找一下,结果看到了有两本新书,还有一些二手的,二手书价比较正常,但是那两个新书的价都上了百万。这个生物学家还写了邮件给原作者和原作者开了玩笑。呵呵。

一般人可能就把这个事当成个笑话了,不过,教授就是教授,它还认真的研究了一下为什么会这样。

阅读全文 Read More

好烂啊有点差凑合看看还不错很精彩 (20 人打了分,平均分: 4.20 )
Loading...
Linux 2.6.39-rc3的一个插曲

Linux 2.6.39-rc3的一个插曲

2011年4月12日,Linux 2.6.39-rc3发布了,Linus Torvalds写了一个发布邮件,其中包含了一个长长的为这个版本做过贡献的人员名单,这个名单中有很多看上去应该是中国人的名字,我挺为他们感到骄傲的(不知道你是否还记得以前本站的”Linux是由谁写的“)。

不过,没过一会,发现了一个bug,经过大家的调查(2.6.38版没有发现这个问题),很快,找到了原因,是因为一个内存地址的问题,一个叫Yinghai Lu的人(看其名字应该是中国人,其邮件是@kernel.org)找到了原因—— radeon card使用了一个不正确的内存地址[0xa0000000 – 0xc000000]。Joerg Roedel跟贴说,这个地址超出了4GB的内存,然后他和Alex Deucher聊了一会,觉得不应该是这个问题,因为这个地址应该是GPU的,而不是系统内存的。

好像,Yinghai Lu没有理会他们说的不应该是这个问题,给出了个fix

diff --git a/arch/x86/kernel/aperture_64.c b/arch/x86/kernel/aperture_64.c
index 86d1ad4..3b6a9d5 100644
--- a/arch/x86/kernel/aperture_64.c
+++ b/arch/x86/kernel/aperture_64.c
@@ -83,7 +83,7 @@ static u32 __init allocate_aperture(void)
 	 * so don't use 512M below as gart iommu, leave the space for kernel
 	 * code for safe
 	 */
-	addr = memblock_find_in_range(0, 1ULL<<32, aper_size, 512ULL<<20);
+	addr = memblock_find_in_range(0, 1ULL<<32, aper_size, 512ULL<<21);
  	if (addr == MEMBLOCK_ERROR || addr + aper_size > 0xffffffff) {
 		printk(KERN_ERR
 			"Cannot allocate aperture memory hole (%lx,%uK)\n",

看到这个fix,Linus Torvalds不高兴了,他回贴问道:

  • 为什么全都是Magic Numbers?
  • 为什么0x80000000就那么特殊?
  • 为什么我们这样改就行?

还说了这样一句话——

阅读全文 Read More

好烂啊有点差凑合看看还不错很精彩 (30 人打了分,平均分: 4.27 )
Loading...
BT雷人的程序语言(大全)

BT雷人的程序语言(大全)

还记得以前本站的BT雷人的程序语言吗?除了那几个BrainfuckLOLCODEWhiteSpace,我以为这些是比较BT的语言,但是自从这两天我在网上看到一些(见文章最后的参考一节),我发现我错了,这个世界上,只有更变态,没有最变态。不相,你看看下面这些,简直变态到了极致啊。(下面的语言变态不分排名)

Befunge

第一个变态语言Befunge维基上面说——这门语言由Chris Pressey在1993年创造,本意为设计一种为难编译器的语言……结果马上出现了一批编译器。Befunge的代码是二维的。它用 < > v ^ 这四个符号来控制一个指针在代码中移动,指针经过一个字符或数字则把它压入一个栈,四则运算符号的功能就是弹出栈顶两个元素进行计算后把结果压回去。用 _ 和 | 来表示有条件的方向选择:当栈顶元素为0时向右(上)走,否则向左(下)走。& 和 ~ 分别用于读入数字或字符并压入栈,句号和逗号分别表示将栈顶元素作为整数或字符输出。最后以一个@符号表示程序结束。Befunge代码的注释不需要任何符号标明,你可以把注释写在程序的任何地方,只要运行时指针不会经过它就行了。

下面这段Hello World代码:

>              v
v  ,,,,,"Hello"<
>48*,          v
v,,,,,,"World!"<
>25*,@

下面一个是算圆周率的代码,非常的壮观:

阅读全文 Read More

好烂啊有点差凑合看看还不错很精彩 (29 人打了分,平均分: 4.45 )
Loading...
我有一个Hello World的C++程序编译不过

我有一个Hello World的C++程序编译不过

在StackOverflow上有这样一个贴子,楼主说,我有下面这样的一个C++程序,为什么编译不通过啊。其让我想起了以前的这两个帖子《编程真难啊》和《给我一个序列号》。仅以此篇文章祝大家假期快乐吧

hello world 程序
hello world 程序

楼主还给出了相关的编译出错的信息(相信你一看就明白问题在哪里了,你应该还会发出一声“靠”!!!)

先是用Visual C++ 2010编译

c:\dev>cl /nologo helloworld.png
cl : Command line warning D9024 : unrecognized source file type 'helloworld.png', object file assumed
helloworld.png : fatal error LNK1107: invalid or corrupt file: cannot read at 0x5172

再用G++ 4.5.2编译

阅读全文 Read More

好烂啊有点差凑合看看还不错很精彩 (23 人打了分,平均分: 4.13 )
Loading...
Fix Bug的五个阶段

Fix Bug的五个阶段

下面的文章和《各种流行的编程方式》有异曲同工,请你不要理解错了。本文来源,翻译如下:

——————————————————

一个非常严重和困难的bug,能够成就一个饱经沧桑深受压力的有经验的专业程序员的职业生涯。经受这种考验的创伤程度,相当你受到了一次严重的身体伤害,离婚,或是家庭成为的离世。

研究人员在研究了计算机编程心理学后,得出了一个程序员们在解决一个困难的bug时的心路里程。这些不同的境界,很像为大众所知的Kübler-Ross Stages of Grief(这个模型描述了人对待哀伤与灾难过程中的5个独立阶段(否认,愤怒,耍赖,抑郁,接受)。绝症患者被认为会经历这些阶段),而且原因都很相似。就好像死亡所伴随的悲伤一样,fix一个bug是一个过程其初始化了一个事件,一开始是拒绝相信,其造就了你苦闷的情绪并开始逐步影响你的心智。这种苦闷的情结果会让你纠结要努力忍受,最终会你会找到一个满意的结果。

了解下面这几个bug-fixing的阶段,会让我们更好的生存下来,并持之以恒,最终带来……关闭我们所有的bug的结果。

第一阶段:抵触

本阶段的状态: 多疑 Skeptical. 生气 Offended. 易怒 Petulant.

1. 不理睬

也许这个bug会安静地离开。

2. 标记上“不是bug”

也许这是用户的错,或是本地配置有问题。是的,我确信就是那样,一会就会好的。

阅读全文 Read More

好烂啊有点差凑合看看还不错很精彩 (17 人打了分,平均分: 3.94 )
Loading...
程序员那些悲催的事儿

程序员那些悲催的事儿

在StakeOverflow上有这样一个贴子叫“Confessions of your worst WTF moment”(WTF就是What the fuck的缩写),挺有意思的,我摘几个小故事过来,希望大家在笑过之后能从中学到什么——所有的经验都是从错误中来的(我在其中加了一些点评)

我们公司的软件是给警察局用的,那是一个对用来处理被逮捕的人的系统,此系统还需要收集脸部特征和指纹信息,并且,这个系统和会向FBI的系统提交这些信息。当我们在测试这个系统的时候,我们一般都是用我们自己的指纹,当然,数据库联着的是我们的测试数据库。不过,有一次,在我们测试完后,我们忘了把系统切换回生产库,于是我们的测试数据库就联上了生产环境,于是我们的指纹信息和照片就散布到了其它系统中……清除我们警察局这边的还好办,但是,你需要波士顿警察局警司去法院签字才能从FBI的数据库中清除我们的信息。

点评:测试环境和生产环境的数据不要混在一起。

有一次,我需要向新系统中导入一堆数据,因为数据量太大,需要5个小时,只能在夜里来干,在系统需要正式使用前2个小时,数据导完了,此时是凌晨4点。随后,我需要删除一些数据,于是我在SQL命令地上输入了“DELETE from important_table; where id=4”。是的,我没有看到哪里还有个分号,天啊。

点评:这就是加班工作的恶果。另,在delete之前最好先做一次select。

我把我的管理员口令提交到了一个开源软件的源码里。

点评:1)版本管理器里的东西是删不掉的。2)一些用户和口令要hard code在代码里,所以,不要混用代码使用的权限和管理员的权限,小心管理程序的运行权限,为其注册专门的用户。

阅读全文 Read More

好烂啊有点差凑合看看还不错很精彩 (53 人打了分,平均分: 4.62 )
Loading...
计算机专业学生的大学生活

计算机专业学生的大学生活

下面看到某国外的同学描述的自己的大学生活,呵呵。做一下解释,

  • 正常的生活是,10点到17点上课,17点到22点是放松和work(chill相当于relax),22点到凌晨1点是社交活动,然后睡8小时。
  • 计算机专业的学生的生活是,只要你脑子还在转就work,脑子不转了,就睡2小时。(原来,国外的计算机大学的同学们在大学时就已在疯狂工作了,课都不上)(work是在校的学术作业项目(谢谢网友rho指正))
计算机专业学生的大学生活
计算机专业学生的大学生活

不过,看了一下上面的代码,我发现了两个问题:

  1. sleep(2),在posix下是秒,在windows下是毫秒。
  2. (hour >= 22  &&  hour < 1) 这个表达式永假。正确的是(hour >= 22 || hour < 1)

当然,我们并不能下结论——该同学的在学校里并没有学好编程。因为,你不知道Sleep 和 && 有没有被重载了。(你要把&&在某些情况下重载成||的行为也不是不可能 。注:在c++中,你无法重载内建类型的操作符

——————

最后说明一下,最近事太多(一个项目要上线,另一个项目需求分析和设计、招聘、酷壳服务器迁移、带孩子、申请签证、给人做培训),所以没有更新,大家见谅

好烂啊有点差凑合看看还不错很精彩 (13 人打了分,平均分: 3.54 )
Loading...
中国仍是IE6的重灾区

中国仍是IE6的重灾区

“IE6于10年前诞生,现在应该是我们同IE6告别的时候了。”微软公司日前推出IE6倒计时网站(the Internet Explorer 6 Countdown,网址为www.ie6countdown.com),旨在尽早淘汰IE6,让用户升级到新版IE浏览器。

值得注意一点的是,在这张百分比图上所显示的目前仍在使用IE6浏览器上网的百分比第一的是中国——34.5%,这个符合我国国情——什么都要争第一。我国人口世界第一占全世界1/4,网民也是世界第一,还在使用IE6的网民占全世界的1/3,可以我国网民的严重落后。根据CNNIC今年的报告,我国现有4.5亿网民,34%也就是1.5亿用户,也就是说你身边每三个人中就有一个在用IE6。而中国的IE6网民占全世界使用IE6网民的一半。

另外,我发现亚洲是重灾区啊,包括中日韩台印都很猛啊,看来微软在亚洲的营销的确不错。

我查看了一下Coolshell.cn的2011年到今天为止访问统计,排名第一是的Chrome(41.5%),第二位的是Firefox(23.22%),第三位的是IE8(10.7%),第四位的是IE6(4.8%)。IE6的IP数有6400+。

看来,在我国程序员这个人群中,越来越多的人使用Chrome+Firefox,挺喜人的,但是IE6还有4.8%,还不如土耳其,马来西亚,印尼等国家。

好烂啊有点差凑合看看还不错很精彩 (12 人打了分,平均分: 3.58 )
Loading...
Google图片搜索下的的C String

Google图片搜索下的的C String

周五了,来轻松一下。如果你在Google的图片搜索里搜索“C String”,你会看到很多相当Sexy的图片,C String真是很性感,丁字裤(T String)已经算不了什么了,看了一下图片,才发现原来还有男士了,太猛了。

如果C String是这个样子,那么,其尾部应该有null终止符,而且最危险的是缓冲区溢出(Buffer Overflow)。哈哈。

好烂啊有点差凑合看看还不错很精彩 (22 人打了分,平均分: 4.18 )
Loading...
微软用新浪来当反面教材

微软用新浪来当反面教材

微软的IE的Blog发布了这样一篇文章,以此来展示IE9是如何过滤广告和ActiveX控件的功能。其使用了“新浪”来做为反面案例,新浪并不是第一次成为反面案例了,之前就有人用新浪等网站来表明中国的网站的设计是怎么个烂法。呵呵。伟大的新浪。

下面是新浪的在IE9下没有开启过滤的样子,我们要吧看到满天飞的flash,广告,还有视频……

新浪网站没有使用IE9的过滤功能
新浪网站没有使用IE9的过滤功能

下面是开启了过滤功能后的新浪网页(个人感觉还是那么乱,没办法底子太差了)

阅读全文 Read More

好烂啊有点差凑合看看还不错很精彩 (13 人打了分,平均分: 3.77 )
Loading...