一个jQuery的插件
jQuery这个强大的玩意我就不多说了,不知道可以上网搜搜看。IE6我也不多说了,这可能是史上骂名最多的一个浏览器,网上有N多的声讨IE6的文章,你也可以参看本站的《9个最常见IE的Bug及其fix》和《IE的CSS相关的BUG》,如果你今天还在用IE6,或是IE类浏览器,那请让我小小的BS你一下。
这个jQuery的Plugin可能是有史以来所有plugin中最有个性的一个,因为这个plugin什么也不干,其会用户的IE6版的浏览器直接Crash掉。这个plugin叫jQuery Crash,其网页链接在下面,是一个四星级的插件,仅仅435个字节。
http://plugins.jquery.com/project/crash
其是这样介绍自己的,有脏话,我就不翻译了。
A jQuery plugin for crashing IE6. That’ll teach those motherf!%@*#s to upgrade their s#*t.
其它,让IE系例的浏览器挂掉,并不需要Javascript,你可以尝试点击下面这个页面,这是一个纯HTML的页面,没有任何的CS ...
telnet的一个Bug
下面这个链接是Linux分发包Ubuntu的关于Telnet命令的Man Page,
http://manpages.ubuntu.com/manpages/karmic/man1/telnet-ssl.1.html
打开这个Man Page,把页面拉到最后一行,你会看到下面这个BUG(“BUGS:源代码不易读!”)
The source code is not comprehensible.
Telnet的源代码在这里:http://packages.ubuntu.com/source/dapper/netkit-telnet,下载下来一看,还真是不易读,简单地看了一下代码,发现至少有这样一些问题:
空格和Tab键混用的缩进,导致很多代码在没有缩进。
大量的#if #else以及大量的各种预编译宏。以及一些怪异的宏。如:
#ifndef B19200
#define B19200 B9600
#endif
#ifndef B38400
#define B38400 B19200
#endif
什么叫在C中写C++,第一次见。 ...
Unix传奇(上篇)
【本文曾于2007年3月于我在CSDN上的BLOG发布,现在我把其搬到酷壳来,一来是觉得这段历史相当传奇,值得大家再看看,二来也和我在酷壳上发布的一些文章相互链接。】
了解过去,我们才能知其然,更知所以然。总结过去,我们才会知道我们明天该如何去规划,该如何去走。在时间的滚轮中,许许多的东西就像流星一样一闪而逝,而有些东西却能经受着时间的考验散发着经久的魅力,让人津津乐道,流传至今。要知道明天怎么去选择,怎么去做,不是盲目地跟从今天各种各样琳琅满目前沿技术,而应该是去 —— 认认真真地了解和回顾历史。
Unix是目前还在存活的操作系统的元老了,走过了40年的历程(参看《Unix 40年:Unix年鉴》、《Unix 40年:昨天,今天和明天》)。在技术更新如此迅速的计算机世界的今天,Unix始终保持它那神圣的光环,它那曲折和令人叹息的历史,以及由它引发的思想变革,对当今计算机文化造成的深远影响,这40年所产生的人和事,让它成为了一个传奇,不能不让人为之惊叹。
这是一段所有从事计算机行业人员尤其是软件开发人员需要了解的历史。Unix的传奇历史是整个计算机世 ...
Unix传奇(下篇)
【本文曾于2007年3月于我在CSDN上的BLOG发布,现在我把其搬到酷壳来,一来是觉得这段历史相当传奇,值得大家再看看,二来也和我在酷壳上发布的一些文章相互链接。】
<<<< Unix传奇(上篇)
Unix是目前还在存活的操作系统的元老了,走过了40年的历程(参看《Unix 40年:Unix年鉴》、《Unix 40年:昨天,今天和明天》)。由它引发的思想变革,对当今计算机文化造成的深远影响。这是一段所有从事计算机行业人员尤其是软件开发人员需要了解的历史。Unix的传奇历史是整个计算机世界文化最具代表性的,它对整个计算机世界文化的影响也是最巨大,最深远的。他给人带来的不单单的对过去的回味,更为我们带来了计算机世界的新思潮。
下篇
Unix与黑客文化
Unix的历史教训
Unix 家族谱
Unix的特点
Unix的影响和哲学
Unix痛恨者手册
上篇
Unix起源
Unix分裂
Unix的法律纠纷
GNU开源组织
Linux横空出世
...
史上最糟糕的网站
下面罗列了一些可能是史上最糟糕的网站,当你打开这些网站的时候,请不要太过惊讶,你可以尝试着欣赏一下,不可否认,如果你使劲全力去欣赏,你还是可以找到一些亮点的。呵呵。
http://www.shufsd.org/,这个网站让我想到了我97年在大学里开始学习HTML的时光,该网页的风格可能比当时我做的还要好一些,不过基本上是很类似的。
http://www.havenworks.com/,这个网站呢?先介绍这个网站主要是让你对后面的网站有个过渡,老实说,这个网站比起后面的来说,还算可以了。这个网站教会我们如何分类网页上的信息
http://www.arngren.net/,这个网站教你如何在固定空间的网页上放置更多的信息。这好像是我们日常生活当中经常出现的问题,如何把更多的东西放进一个固定的箱子里,我们不停地调整着物品摆放的位置和顺序……
http://www.team2stool.com/,开始了,这个网站教会我们如何把图片无序地组织起来。
http://yvettesbridalformal.com/index.htm,嗯,初看起来吓一大跳,这个网页教你如何制作一个惊悚的 ...
微软的安全补丁分析
截止至2009年底,大约有90%的微软安全补丁是把管理员权限给disable了。根据 BeyondTrust的报告,到今年3月分,Windows 7 有57%的安全补丁是以移除管理员权限作为解决方法的,相比较而言,Windows 2000 是 53%,Windows XP 是 62%,Windows Server 2003 是 55%,Windows Vista 是 54% 以及 Windows Server 2008 是 53%,而最牛的要算是 —— 100% 的 Microsoft Office 和 94% Internet Explorer (其中100% 的 IE8 )的安全补丁是移除管理员权限。
这对于某些公司的IT部门来说是个好消息,因为这些公司的IT部门通常是不会让公司的员工有本机的管理员权限的,根据微软大量的安全补丁是移除某些管理员权限的这一特性,这意味着对于本机只有一般用户权限IT管理,将会防住很大一部份的恶意攻击。
Paul Cooke, Wi ...
Google居然在阻止人们自杀?
中文的Google会不会出onebox来劝阻人们翻墙?
suicide prevention onebox
poison control onebox
C++ 程序员自信心曲线图
学习C++很长时间了,也看过很多程序员学习C++的历程。总体来说,C++是一个“双刃剑”式的语言,只有那些熟悉他的人才能把C++这门语言用好。Linus曾说过:“C++是一门很恐怖的语言,而比它更恐怖的是很多不合格的程序员在使用着它”。是的,C++并不是一门速成的语言,其是一门需要长时间磨练和学习的语言,那些说自己熟悉C++语言的程序只能算是轻浮的。详见“21天教你学会C++ ”。
下面是一个C++程序员在学习过程序中的一个自信心曲线图:
程序员在一开始学习C++的时候,用C++的语法写C觉得很牛,也会觉得自己很快掌握了C++语言,对一切都充满了信心。他们告诉你他们懂C++,其它他们错误,但我们不能说他们在撒谎,因为人总是不知道自己不知道什么。此后,当他们在C++的学习历程中,发现了很多很多稀奇古怪的东西,还有很多相当底层和复杂的东西,他们的将会变得很受挫,很沮丧,还始变得怀疑起,自信心开始下降,甚至有时候他们靠人品来编程。只到有一天,开始开窃,觉得C++的世界不能乱来,需要一定的规则,一定的方法,于是通过大量的错误不停地总结和反省,最终自信心又会被建立起来,经历多年的 ...
又一个Javascript试验田
镜像说明:文中大部分图片及地址均已失效,本文相关案例,可见作者最新官网:https://andrew.wang-hoyer.com/ ————2024-02-20 14:12:39
以前本站发布过一篇《哥是玩程序的》文章向大家展示了用Javascript干的些怪异的事。看来,这样的人并不在少数,这不,我又发现了一个,这回这个好像更有技术含量一些,下面是其试验程序的列表:
http://www.andrew-hoyer.com/experiments
Simple Sudoku Solver 这是一个“数独游戏”,其在你游戏的过程中可以在空格处提示你可能的数字。
February 2010
Cloth Simulation 这是一个极端的布料仿真程序。使用鼠标拖曳,按着g键拖曳可以把布悬挂起来。
August 2009
Numbers to Words 这是一个把阿拉伯数字变成英文说明的演示。
June ...
Emacs配色在线生成器
http://alexpogosyan.com/color-theme-creator/
点击“Generate config file”,你可以看到生成的Emacs配色配置。
“21天教你学会C++”
下面是一个《Teach Yourself C++ in 21 Days》的流程图,请各位程序员同仁认真领会。如果有必要,你可以查看这个图书以作参照:http://www.china-pub.com/27043
看完上面这个图片,我在想,我学习C++有12年了,好像C++也没有学得特别懂,看到STL和泛型,还是很头大。不过,我应该去考虑研究量子物理和生物化学,这样,我才能重返98年杀掉还在大学的我,然后达到21天搞定C++的目标。另外,得要特别提醒刚刚开始学习C++的朋友,第21天的时候,小心被人杀害。呵呵。
当然,上面只是一个恶搞此类图片,学习一门技术,需要你很长的时间,正如图片中的第三图和第四图所示,你需要用十年的时间去不断在尝试,并在错误中总结经验教训,以及在项目开发中通过与别人相互沟通互相学习来历练自己。你才能算得上是真正学会。
这里有篇文章叫《Teach Yourself Programming in Ten Years》,网上有人翻译了一下,不过原文已被更新了,我把网上的译文转载并更新如下:
用十年来学编程
Peter Norvig
为什么每个人都急 ...
JAVA的字符串拼接与性能
概述:本文主要研究的是JAVA的字符串拼接的性能,原文中的测试代码在功能上并不等价,导致concat的测试意义不大。不过原作者在评论栏给了新的concat结果,如果有兴趣的同学建议自己修改代码测试。
原文出处:http://www.venishjoe.net/2009/11/java-string-concatenation-and.html
在JAVA中拼接两个字符串的最简便的方式就是使用操作符”+”了。如果你用”+”来连接固定长度的字符串,可能性能上会稍受影响,但是如果你是在循环中来”+”多个串的话,性能将指数倍的下降。假设有一个字符串,我们将对这个字符串做大量循环拼接操作,使用”+”的话将得到最低的性能。但是究竟这个性能有多差?如果我们同时也把StringBuffer,StringBuilder或String.concat()放入性能测试中,结果又会如何呢?本文将会就这些问题给出一个答案!
我们将使用Per4j来计算性能,因为这个工具可以给我们一个完整的性能指标集合,比如最小,最大耗时,统计时间段的标准偏差等。在测试代码中,为了得到一个准确的标准偏差值,我们将执行20个拼接”* ...
DEMO Spring 2010 获奖产品
文章来源 mashable.com
在刚刚结束的 DEMO Spring 2010 中,执行制作人 Matt Marshall 宣布了获得 DEMO 大奖的各类 IT 产品,以及由大众评选出的最佳产品,作为奖品, DEMO 将为该产品提供价值100万美元的 IDG 广告宣传。以下是各类奖项的归属:
移动产品 Zosh
Zosh 是一个 iPhone 应用。有了Zosh,你无需使用扫描仪或者传真机即可实现对文档签名,Zosh支持的文档格式有:PDF,Office,以及图像文档。点此处查看 产品详情。
具体操作方法:
1. 打开邮件中的附件文档,将其发送至Zosh(本地)。
2. 在Zosh中打开该文档,使用手写输入签名。
3. 将签名作为一个“图层”合并到文档中。
社交和媒体产品 Everloop
Everloop 是一个网络社交应用,目标用户是8到13岁的儿童。其现在是一个 White Label 产品(由一个公司开发,但由其他公司进行再包装和市场营销的产品),很快将会独立运营。
基于云计算的产品 Gwabbit
Gwabbit 已经两次获得 DEMO God 奖项。它的新产品 ...
别只谈系统备份,谈谈怎样恢复系统吧!
文章来源 JoelOnSoftware.com
很久以前就看到这篇文章,它给了我很深刻的印象,搜索了一下 JoelOnSoftware 的中文 Wiki,似乎也没有此文的中文版,那就让酷壳来完成吧。
你备份你的系统了吗?
你备份服务器了吗?
你的备份是否存放在另一台机器中?
你是否有异地备份?
以上都是非常好的问题,也都是很好的备份习惯。
不过,让我们别再只谈备份了,因为仅仅备份是远远不够的。资深的系统管理员们都会告诉你他们有完美的备份计划,但是问题往往发生在当你需要恢复系统的时候:
备份文件被密钥加密,而遗失或损坏的恰恰就是存放密钥的那台机器。
存放着大量配置信息的 IIS 元数据库恰好没有备份。
备份文件一直被拷贝到一个限量2GB的FAT分区,多出来的数据被默默地抛弃掉了。
你的备份都在一个LTO磁带上,磁带已经和数据中心一起遗失或损坏了(911?)。
即便你有了备份,仍有可能遇到许许多多的意外情况。
所以,保证基本的系统安全不仅仅取决于你做了备份,还在于你是否能够成功恢复备份。如果你在运营一个 WEB 服务,你需要向我展示你能够在合理的时间内,在一台新 ...
BT工作原理演示
下面这个网站使用Javascript编写了一个BT工作原理演示动画程序。当然,你可能需要使用Chrome浏览器打开,因为他真的很耗CPU。在我的双核(2GHz)T60电脑上用Chrome打开CPU一下就被耗了50%左右。
http://mg8.org/processing/bt.html
下面是我截的一个图,每个圆代表一个结点,其会通过其它结点下载需要的文件段。结点中间的那个Bar有点类似于eDonkey中的下载进度条。至于为什么要用像彩虹一样的颜色,主要是为了让你看到不同的段是从不同的结点下载的。
你可以按热键S来加入一个下载完了的结点,用P来加入一下空结点,按R来删除一个结点(有点慢,要等10秒左右吧)。
BT工作原理演示动画
关于其它Javascript的一些小玩意,你可以看看这篇文章。
中国仍然是一个很穷的国家
Google最近发布了一个全世界可以开放查询的数据平台,其中包含了多种宏观数据,并且有很方便的作图方式。
http://www.google.com/publicdata/directory
其中有一项是世界各国人均GDP
虽然最近一些中国城市房价已经超越我们的想象力,但是从这张图里还是可以看到,我们仍是一个人均非常穷的国家。
Martin Fowler 在 ThoughtWorks 内部关于版本控制工具的调查
文章来源 martinfowler.com
从2010年2月23日至3月3日,Martin Fowler 在 ThoughtWorks 内部通过开发人员邮件列表进行了一个关于版本控制工具的小调查,共收到99个回复。下面是调查选项定义和调查结果:
非常好 (如果不是最好也非常接近了)
还行 (不是最好,但是我还是愿意使用)
问题多多 (我可能会因此强烈建议我的团队使用其他同类工具)
危险 (非常糟糕的工具,我认为 ThoughtWorks 不应该使用它)
不知道 (我还没有使用过此工具)
回复数 (对此工具的回复总数,包括“不知道”选项)
好评率 ((“非常好”+“还行”)/回复数)
名称
非常好
还行
问题多多
危险
不知道
回复数
好评率
Subversion
20
72
6
1
0
99
93%
git
65
19
1
0
14
85
99%
Mercurial
...
Titanium – 桌面和移动应用开发平台
文章来源 www.readwriteweb.com
2010年3月8日,Appcelerator 公司发布了 Titanium 的 1.0 版本。 Titanium 是一个桌面和移动应用程序开发平台,基于此平台,开发人员可以使用标准的 WEB 技术如 HTML,JavaScript,和 CSS 来开发桌面和移动应用程序。
和其他开发平台所宣传的开发移动应用无需理解本机代码不同, Titanium 允许开发人员使用他们熟悉的编程技术来开发本机(native)移动应用,同时效果和功能与那些使用平台特定语言编写的应用相同,如可以操纵内置相机、播放视频流等等。 Titanium 的产品代码在近几个月内得到了优化,在性能方面得到了多处改进,加载时间由原来的10-20秒下降为3秒,页面切换非常迅速,处理速度提高了5倍。同时还增加了一些新的功能,如超过100个本机界面控件,2D 和 3D 动画及媒体处理机能。有了这些方面的增强,开发人员可以在 Titanium 支持的平台上开发品牌化应用, 休闲游戏, 以及增强现实应用。
当被问到 Titanium 与其他开发平台的不同之处在哪里时,公司的营销副 ...
erlang打包独立环境
最近公司代码需要在非erlang的系统上执行,需要能在独立的环境里运行erlang。研究甚久,于是写下这篇博文。国内用erlang的朋友不多,希望这篇blog能对有需要的朋友起到参考作用。
Application-Vsn/ebin
/include
/priv
/src
/Application-Vsn.rel
以上是代码的目录表.
{release, {“nextim”, “2.0”},
{erts, “5.7.5”},
[{kernel, “2.12.3”},
{stdlib, “1.15.3”},
{sasl, “2.1.5.3”}]
}.
以上是Application-Vsn.rel的内容,[]中是代码本身需要的lib。
1.执行erl -pa ./ebin . 这一步会生成nextim-2.boot文件
1> systools:make_script(nextim-2″, [local]).
ok
2.erl -boot nextim-2 . 这一步会生成nextim-2.tar.gz
...
Python处理encoding的小技巧
用Python写过处理文本经常会遇到需要decoding或者encoding, 尤其是处理中文的时候。
encoding的问题处理起来是个脏活儿,报错不太容易看懂,网上相关资料不太好查。有同感?请继续读下去。
常规做法是读取文件的时候立刻decode, 所有的处理工作都用unicode,写会文件的时候encode. 但是等到读取的时候在处理的代码读/写起来都很别扭,感觉像穿上鞋以后袜子滑下来了…Python 3.1.1以上的版本解决了该问题。在Python 3.1.1中,打开文件可以加入encoding的参数:
file = open(filename, encoding='xxx')
啊,这样看起来终于舒坦了。 不同写如下的code了
file = open(filename)
for line in file:
decoded_line = line.decode('xxx')
do something else
提倡使用utf8