如果你看不见你还能编程吗?
这是个StackOverflow上的问题 How can you program if you’re blind? 。在看到这个问题的时候,我感到应该不可能,但是我错了,这个问题的前两个答案让我深深地震憾了。
第一个答案的回复人是Jared(其在StackOverflow上的积分有将近14K),但是你能想得到他是一个盲人吗?他回复到——
我是一个完全失明的大学学生,我做过一些程序员的实习工作,所以我的回复基于我的这些经历。我使用Windows XP 和 Jaws 来为了读出屏幕上的内容。
对于Java 编程,我使用eclipse这个强大的IDE。我使用SWT开发GUI。对于.NET编程,其使用Visual Studio 2005,使用Jaws可以非常容易地操作VS2005,而且其还有一些很不错的脚本来可容易地用来做表单设计。
对于C/C++,我使用cygwin + gcc 也使用emacs 和 vim 做出编辑器(使用Emacspeak虽然有时候有点迟钝)。在实习过程中,我做了很多和Z/OS相关的编程工作。我使用rlogin通过cyg ...
Google图片搜索下的的C String
周五了,来轻松一下。如果你在Google的图片搜索里搜索“C String”,你会看到很多相当Sexy的图片,C String真是很性感,丁字裤(T String)已经算不了什么了,看了一下图片,才发现原来还有男士了,太猛了。
如果C String是这个样子,那么,其尾部应该有null终止符,而且最危险的是缓冲区溢出(Buffer Overflow)。哈哈。
敏捷水管工
本文来自Terazen Technology Inc的创始人+CTO的 David Ing的《Agile Plumbers》(这也墙?),我的其文中的这个帮事翻译过来(和前些天发的SOAP的S是Simple异曲同工)。
也许你会觉得这个比喻不恰当。但我想告诉你的是,这个故事告诉我们,教条主义和以方法论为中心的危险。十条不错的编程观点中第一条—— The only “best practice” you should be using all the time is “Use Your Brain”.
————————————————————
(门铃响……)
事主:啊, Agile 水管工吗? 请进,感谢谢你们这么快就来了——这的确很紧急,我这真是很乱。
水管工1: 先生,没问题,我们就是敏捷的。在我给你做Presentation前,我先给你介绍一下我的两个同事。
事主:Presentation?啊,我们有时间吗?这的水已经流得到处都是了……
水管工1:……先生,我们必需坚持这个。我们只是想保证你能成为动态搜寻解决方法的一份子。你是我们的 champion spon ...
信XML,得自信
XML可能是计算有史以来最NB的发明了,以至于我们以没有XML的程序是难登大堂的程序,不用XML,你都不好意思当程序员。于是,我们看到了很多很雷人的用法(《信XML,得永生》),当然一些朋友当时并没有看懂,不过我不怪大家,因为我们依然深信使用XML可以让你有强大的Zhuangbility,于是我们有下面这两种相当Geiliable的用法。
一、XML中的XML
这个例子是某公司的一个SOAP实现——我们的Webservice需要返回一个XML字符串,这怎么办呢?其实很容易,因为——XML是无所不能的,那怕是封装自己。
<!-- ED: soap envelope omitted for readability -->
<string xmlns="urn:Initech.Global.Services">
<CompanyGetConnector>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs ...
偷了世界的程序员
本文译自美国时代(time.com)的《The Men Who Stole the World》,原作者:Lev Grossman。相当有传奇色彩,读起来很爽,翻译过来。译得不好,还请大家指正。本中的四个程序员可能并不是那么声名显赫,而且也很不老实,或许算不上成功,不过他们的确改变了世界。而本文有分析了互联网上P2P的那些事,相当的有参考价值。
2010年12月17日更新:修改了一些错误,理顺了一些语句。
2010年12月19日更新:增加了一些插图。
————————正文————————
十年前,有四个年轻人改变了这个世界的运作方式。他们使用的并不是法律或是武器或是金钱,而是使用软件来改变世界。他们当时有着激进和极具破坏性的想法,并把这些想法付诸于代码,在Internet上以免费自由方式发布。这四个人,没有一个完成了大学学业,却奠定了今天我们习惯的数字媒体环境的基础。然后,因为各种原因,他们也迅速地消失在公众视野中。
1999年,美国东北大学的一个叫Shawn Fanning的一年级新生开发Napster,从此,成为了P2P文件共享和不需要大型机构或零售商就可以获得音乐的先 ...
超强的验证码
大家看看这个网站吧。最强的验证码——把看到的东西画出来。
http://www.geee.net/contact.htm
某些网友们还是做了一些尝试:
给老婆普及计算机知识
我们知道计算机的计算数据需要从磁盘调度到内存,然后再调度到L2 Cache,再到L1 Cache,最后进CPU寄存器进行计算。
给老婆在电脑城买本本的时候向电脑推销人员问到这些参数,老婆听不懂,让我给她解释,解释完后,老婆说,“原来电脑内部这么麻烦,怪不得电脑总是那么慢,直接操作内存不就快啦”。我是那个汗啊。
我只得向她解释,这样做是为了更快速的处理,她不解,于是我打了下面这个比喻——这就像我们喂宝宝吃奶一样,
CPU就像是已经在宝宝嘴里的奶一样,直接可以咽下去了。需要1秒钟
L1缓存就像是已冲好的放在奶瓶里的奶一样,只要把孩子抱起来才能喂到嘴里。需要5秒钟。
L2缓存就像是家里的奶粉一样,还需要先热水冲奶,然后把孩子抱起来喂进去。需要2分钟。
内存RAM就像是各个超市里的奶粉一样,这些超市在城市的各个角落,有的远,有的近,你先要寻址,然后还要去商店上门才能得到。需要1-2小时。
硬盘DISK就像是仓库,可能在很远的郊区甚至工厂仓库。需要大卡车走高速公路才能运到城市里。需要2-10天。
所以,在这样的情况下——
我们不可能在家里不存放奶粉。试想如果 ...
开发时间估计
项目管理中,项目任务时间估计是其中一个重要的环节。各种管理员人都觉得时间估计很重要,都希望时间估计能准确一些,但是,事实却并不如此。事实上,会下面这样的结果。
目前状态
完成进展
剩余任务估计
任务刚被分配,还没有做调查
完成0%
大约2周
完成需求分析和调查,攻克了难点
完成50%
大约2周多一点
我几乎做完了。只有出了点我事先没有想到的岔子。
不过,我已找到解决方法了。只是还需要一些时间
完成90%
大约2周多一点
我全部做完了,只是还要写文档,做Code Review,
单元测试和错误处理
完成99%
还需要2周
呵呵,这是怪我们的项目管理的方法论呢?还是怪我们太过草率的程序员呢?
Go语言的”Issue 9″ Closed!
还记得Google发布Go语言没几天就要 更名Issue 9 的那个事吗?那是2009年11月的事了,差不多一年了,今天Google的Go语言团队终于正式回复这个bug了。
Comment 1097 by project member [email protected], Today (11 hours ago)
The naming similarity is unfortunate. However, there are many computing
products and services named Go. In the 11 months since our release, there
has been minimal confusion of the two languages, so we are closing this
issue.
“名命类似是很不幸的。然而,那有很多的计算机产品和服务都叫Go。自从我们发布Go语言的这11个月里,这两个语言只有极少的混乱,所以,我们决定关闭这个问题。”
目 ...
用脚本实现哄宝宝睡觉(Demo)
去年,本站发布了一篇文章《用脚本哄宝宝睡觉》,具体想法是把摇篮和光驱连一起,然后用脚本把光驱弹出和收入以实现驱动摇篮。今天在网上看到一个具体实现,呵呵。看下面的视频:
Mozilla的一个BUG
以前,本站给大家介绍过一些BUG,如:《谷歌Chrome取消”http://”》,《Go语言的Issue 9》和《telnet的一个Bug》。今天,和大家再说一个Mozilla的Bug,这个Bug的网址在这里:https://bugzilla.mozilla.org/show_bug.cgi?id=579522
这个Bug的标题是这样的:“Buy cots for the JS interns” (为JS实习生买一些轻便小床),并说明“This bug is not actually a joke.”,这个BUG估计是在抱怨在Mozilla工作的实习生太辛苦了。在后面的跟贴中,很多人都提到了V8,呵呵。看来,大家还是在嘲笑Mozilla更多一些,大家不妨前往一看。
Mozilla的firefox还是很让人失望的,作为一个Linux下默认的浏览器,其居然让Firefox的Windows版比Linux版更强大,在firefox 4.0 beta中居然出现了Windows Only的东东,着着实实地伤了很多firefox的粉丝的心,正因为这个,整个社区都开始BS并嘲笑Mozilla,并转投 ...
消费者的消费观
原文:http://theoatmeal.com/blog/apps
星巴克:这是你的venti-soy-whipped-frappa-lardy-lattechino,也就$7.15,你需要加点糖吗?只需要再加$1.95。
消费者:绝对要加。让我们的血糖值高到月亮上!
票房:先生,想看“断背3D吗”?一张票只要$13!
消费者:没问题!另外,有优惠吗?我想花$20再买点爆米花和碳酸饮料。
Apple:新的iPhone 4G,加上税要$425.19
消费者:只要$425?!这仅相当于我老婆把背上的毛给去掉价格的1/10!拿钱!花这点钱连想不用想。
Apple:iPad 3GS 加一个保护盒,一共$875.24
消费者:$875?这就些?啊,我要两个,一个给我,一个给我身边这个有毛的朋友。
网站:下载应用:HorseHunter Extreme!点击OK确认你想花$0.99买这个应用。
消费者:什么?什么?什么?!99美分?!靠,我不知道……这么多钱啊!我应该把我的会技师找来,或是 ...
史上最烂的超级玛丽
啥也不说了,自己访问一下吧,F是跳,D是加速,回车的是开始,还挺好玩,简单是简单了点,但好歹也是用Java写的,也是Web的,呵呵。
http://meatfighter.com/mario/mario.html
你还见过更烂的吗?
程序员版的凡客
现在“凡客诚品”的PS风已经成为了一场运动,详见这里:http://bigfools.com/2010/08/6634.html。这两天,公司内部要出期刊,正好下班没事,于是跟着这股网风,为公司的期刊做了一个插图,那些语句着实花了我很多时间。用PPT乱做的,希望大家喜欢。呵呵。
欢迎你留下你的版本,尤其是那些语句。
信XML,得永生!
在计算机的世界里,什么最牛?Javascript?C语言?C++?iPad?还是brainfuck?我个人觉得都不是,这个世界里,XML最NB,这世界到处都充斥着XML,正如在“十条不错的编程观点”文中所说,我们不用XML我们都不知道怎么编程了。下面,让我们来看一看XML的几个真实的示例,相信你会同意我的观点的。
目录
一、如何用XML返回数据库SQL查询结果
二、如何用XML序列化一个图片
三、如何让XML与CSV格式兼容
四、如何把XML当成数组来用
一、如何用XML返回数据库SQL查询结果
<?xml version="1.0" encoding="iso-8859-1" ?>
<result>
<fields>
<field>NAME</field>
<field>LAST NAME</field>
<field>MOTHER MAIDEN NAME</field>
< ...
谷歌Chrome取消”http://”
谷歌下一个版本的Chrome浏览器软件将缺少一个在近20年来一直是浏览器的一个特点的功能:在地址栏中的“http://”。目前开发人员版本的Chrome浏览器已经做了这种改变。这个变化虽然看起来很小,但是,已经在Chrome网站引起了程序员们很大的争议。
在Google Chrome的开发站点上,又有了一个很热的BUG——Issue 41467(上一次的一热议的BUG是的《Go语言更名Issue 9》),这个BUG目前已被关闭。不过在其它地方还在热议中,如:Reddit.com。基本上来说,90%以上的程序员反对的,他们希望Google的Chrome可以给一个设置关闭或打开这一功能。
一些程序员觉得这是违反了RFC,并且觉得这是在向End User传播一种很不好的东西,那就是网址可以不用http://,这样一来会给程序员增加很多麻烦,比如:他们的程序无法使用http://这一关键字来检查用户的输出,等等。
iPhone浏览器的也是这样的, 不过当你把光标放到地址栏中,其会显示http://,广大程序员希望Chrome也实现这一方案。然而,Issue 4146 ...
MSDN中的两个命名
第一个叫:DestroyPhysicalMonitor
http://msdn.microsoft.com/en-us/library/dd692936(VS.85).aspx
在你的程序中调用这个函数,不知道你敢不敢在运行程序。呵呵。
第二个叫:INITCOMMONCONTROLSEX –
http://msdn.microsoft.com/en-us/library/bb775507(VS.85).aspx
Initialize Common Control Sex ??? 真是淫者见淫啊。呵呵
不知道还有没有其它有趣的?欢迎大家跟贴。
中国仍然是一个很穷的国家
Google最近发布了一个全世界可以开放查询的数据平台,其中包含了多种宏观数据,并且有很方便的作图方式。
http://www.google.com/publicdata/directory
其中有一项是世界各国人均GDP
虽然最近一些中国城市房价已经超越我们的想象力,但是从这张图里还是可以看到,我们仍是一个人均非常穷的国家。
CPU的性价比
下面这个网站是关于CPU的性价比的,其中的性能数据来源于cpubenchmark.net,而价格数据来源于:newegg.com。
http://paulisageek.com/compare/cpu/
于是,得出了目前性价比最差的是:Intel Xeon X5570 @ 2.93GHz,最好的是:AMD Phenom 9850 Quad-Core,下面是一个性价比表格。
CPU类型
性能
价值
性价比
AMD Phenom 9850 Quad-Core
2864
89.99
31.8
AMD Athlon II X4 620
3084
99.00
31.2
AMD Athlon II X3 425
2366
76.00
31.1
AMD Athlon 64 X2 Dual Core 6000+
1577
53.99
...
一个“精湛”的JS程序
下面是一个很“精湛”的JS程序:
http://rmd.atdmt.com/tl/DocumentDotWrite.js
这个JS文件中“精湛”之处在于,其只有一行代码,如下所示:
function DocumentDotWrite(s){document.write(s);}
下面这个贴子讨论了这个JS文件:http://forums.thedailywtf.com/forums/p/7872/147330.aspx
大家都在猜测为什么那个程序员要这么干,下面是一些猜测:
网友superjer说:这是一个伟大的创造,解决了你的键盘“.”键损坏的情况。
网友Heron说:这是从Character Map上拷贝粘贴下来的。
网友mfah说:这是世界上第一个用C来包装Javascript的示例。
网友djork说:我是一个用手机编程的人,这个方法可以让人在手机上更容易输入我的代码。
网友PSWorx说:可能他们想把document.write作为一个回调函数,但直接把document.write传进去不行。
还有一个网友说:这么做或者可以阻止网页上的广告阻截器。
呵 ...