Did You Know?
下面这个短片可能Too Old了,不过我今天才看到,很不错,转到这里,让更多的人都能看到。
这是个信息爆炸飞速发展的年代,逆水行舟,不进则退。在这一组组的数据中让我们这班新生代年轻人反思自身所要背负和面对的压力和挑战!极有深度的短片,整理出来的数据实在是叫人震惊,生活在这个科技高速发展的时代既是种荣幸,又很有压力,对“学校里教得知识很多就是过时的”深有体会!!
Did You Know? 3.0版
Did You Know? 4.0版
消费者的消费观
原文:http://theoatmeal.com/blog/apps
星巴克:这是你的venti-soy-whipped-frappa-lardy-lattechino,也就$7.15,你需要加点糖吗?只需要再加$1.95。
消费者:绝对要加。让我们的血糖值高到月亮上!
一些鲜为人知的编程事实
文章来源:http://dotmac.rationalmind.net/2010/08/some-lesser-known-truths-about-programming/
我的程序员经历让我明白了一些关于软件开发的事情。下面是一些在编程中可能会让人感到诧异的事情:
- 一个程序员用了大约只用了10%-20%的时间来编码,而且大多数程序员,无论他的水平如何,其平均每天只有10-12行的代码最终会进入最终的软件产品中。这是因为,优秀的程序员会花费90%的时间来思考、调查、研究最佳的设计。而糟糕的程序员则会花费90%的时间来调试代码,并随意地改动代码并尝试让代码工作起来。
“A great lathe operator commands several times the wage of an average lathe operator, but a great writer of software code is worth 10,000 times the price of an average software writer.” –Bill Gates
“一个优秀的车工其工资是一个普通车工的好几倍,但是一个优秀程序员写出来的代码比一个普通程序员要值钱一万倍。——比尔盖茨”
- 一个好的程序员比一个普通的程序员多十倍的生产率。而一个优秀的程序员的生产率则比普通程序员多20-100倍。这并不是夸张(自从上世纪60年代的研究一直表明这是一个事实)。一个糟糕的程序员并不只是没有产出的——他们并不仅是完成不不工作,而且还会制造出大量的让别人头痛并要去解决的麻烦。
实用Android开发工具和资源精选
出处:A Useful Selection of Android Developer Tools and Resources
在google、开源平台,和来自移动电话制造商HTC,Samsung和Sony Ericsson的支持下,Android平台在市场占有率上相比去年取得的886%增长!如果我只看增长率,IPhone据统计才有61%的增长。这些数据可以给你关于两个平台流行度的印像,但是事实上,这些数据告诉了智能机开发员的谁才是真正的赢家。在时下,智能机越来越流行,因此成为一个快速增长的Android平台的智能机开发人员将会是一个不错的选择。
相比较其他的平台,Android不依赖于任何约束第三方应用程序的私有的操作系统(题外话:美国最近宣布对于IPhone的破解和越狱是合法行为),Android本身就是开源的。由于开源,Android有巨大的开发社区支持。各种个样的例子和教程,GUI素材,和开发工具下载。几乎所有的都是免费提供的。我们选出接近20个可以免费或开源的,工具,资源,开发指南。希望这些资源能给你的Android应用带来帮助。
相关文章参看:
使用grep恢复被删文件内容
在Unix/Linux下,最危险的命令恐怕就属rm命令了,每次在root下使用这个命令的时候,我都要盯着命令行看上几分钟才敢把回车敲下去。以前,看到同事在脚本中使用rm命令 —— rm {$App_Dir}/*
。因为脚本没有判断变量$App_Dir是否为空,结果,在一次用root操作的时候,整个操作系统一下就不见了,还好只是开发机。从此,我们大家都再也不敢使用rm命令了。
这里给大家介绍一个小技巧用来恢复一些被rm了的文件中的数据。我们知道,rm命令其实并不是真正的从物理上删除文件内容,只过不把文件的inode回收了,其实文件内容还在硬盘上。所以,如果你不小删除了什么比较重要的程序配置文件的时候,我们完全可以用grep命令在恢复,下面是一个恢复示例:
grep -a -B 50 -A 60 'some string in the file' /dev/sda1 > results.txt
说明:
- 关于grep的-a意为–binary-files=text,也就是把二进制文件当作文本文件。
- -B和-A的选项就是这段字符串之前几行和之后几行。
- /dev/sda1,就是硬盘设备,
- > results.txt,就是把结果重定向到results.txt文件中。
如果你幸运的话,你就可以看到被恢复的内容了。这正是Unix的简单哲学(详见《Unix传奇下篇》)—— 所有的设备都是文件。
当然,我还是建议你把root用户的rm的命令用alias换成别一个脚本,那个脚本会帮你把删除的文件放到某个地方。
史上最烂的超级玛丽
啥也不说了,自己访问一下吧,F是跳,D是加速,回车的是开始,还挺好玩,简单是简单了点,但好歹也是用Java写的,也是Web的,呵呵。
http://meatfighter.com/mario/mario.html
你还见过更烂的吗?
两个教程:Socket和HTML5
给大家介绍两个教程,一个是关于Socket编程的,一个是关于HTML5的。
关于Socket,相信大家都知道这个是用来做TCP/IP网络编程的,其由FreeBSD引入,现在,只要你相做网络编程,你必然会使用到它。这里有一个叫Beej’s Guide to Network Programming 的网站,非常不错的一个教程。在其主页上显示有中译版,不过很可惜,打不开。好像网络有很多转载,你可以Google一下。
另一个是关于HTML5的众多标签,大家可以访问这个叫做“HTML5 Peeks, Pokes and Pointers”的网站,其就像一个速查手册一样,你可要查阅HTML5的那些BT的tag,比如:多媒体,画布,地理,表单,等等。
希望大家喜欢,不妨你也说说你知道的相关的一些教程。
程序员版的凡客
现在“凡客诚品”的PS风已经成为了一场运动,详见这里:http://bigfools.com/2010/08/6634.html。这两天,公司内部要出期刊,正好下班没事,于是跟着这股网风,为公司的期刊做了一个插图,那些语句着实花了我很多时间。用PPT乱做的,希望大家喜欢。呵呵。
欢迎你留下你的版本,尤其是那些语句。
C技巧:结构体参数转成不定参数
下面这段程序是一个C语言的小技巧,其展示了如何把一个参数为结构体的函数转成一个可变参数的函数,其中用到了宏和内建宏“__VA_ARGS__
”,下面这段程序可以在GCC下正常编译通过:
#include <stdio.h> #define func(...) myfunc((struct mystru){__VA_ARGS__}) struct mystru { const char *name; int number; }; void myfunc(struct mystru ms ) { printf("%s: %d\n", ms.name ?: "untitled", ms.number); } int main(int argc, char **argv) { func("three", 3); func("hello"); func(.name = "zero"); func(.number = argc, .name = "argc",); func(.number = 42); return 0; }
从上面这段程序,我们可以看到一个叫 myfunc的函数,被func的宏改变了,本来myfunc需要的是一个叫mystru的结构,然而通过宏,我们把struct mystru的这个参数,变成了不定参数列表的一个函数。上面这段程序输出入下,