把Flash转成Javascript/HTML5
SmokeScreen是这样一个开源软件,它可以把Flash的swf文件转成Javascript/HTML5,它的口号是:Flash without plugin。为什么要这样做呢?它说主要是因主Apple的iPhone/iPod/iPad不支持flash,而且看似Steve Jobs也不愿意在以后支持flash。所以,他们搞了这样一个玩意。目前,这个开源软件还在开发阶段,在其主页上,你可以看到一些Demo,在Chrome上看上去很不错,虽然还有一些小问题,不过已经很不错了。
HTML5几乎颠覆了原来的HTML,其可以让你用HTML不单单只是做网页布局,而且还让你可以开发更强的东西,比如:WebSockets,使用这项技术,已经有人在搞Web版的Quake 2了(http://code.google.com/p/quake2-gwt-port/),还有Google的3D Javascript API,所以,把swf完美地转成Javscript/HTML5可能也只是一个时间问题。
虽然,HTML5还在draft阶段,而且很多东西都和flash重复了。所以,加上iPhone的推波助澜,发 ...
WTF Javascript
请先看一下下面的这段Javascript程序以及其结果。
[javascript]
1 + + 1 // => 2
1 + – + 1 // => 0
1 + – + – + 1 // => 2
1 + – + – + – + 1 // => 0
1 + – + + + – + 1 // => 2
1 + / + + + / + 1 // => 1/ + + + /1
[/javascript]
提示一下,1++1等价于1 + (+1),也就是1加上一个正数1,如果你能搞懂其它的表达式的话,请看看下面的这段程序,你能说出其结果吗?
[javascript]
1 + / + / + / + 1 // => ? ...
四个流行的Java连接池
C3P0是一个开放源代码的JDBC连接池,它在lib目录中与Hibernate一起发布,包括了实现jdbc3和jdbc2扩展规范说明的Connection 和Statement 池的DataSources 对象。(主页:https://www.mchange.com/projects/c3p0/)
BoneCP 是一个开源的快速的 JDBC 连接池。BoneCP很小,只有四十几K(运行时需要log4j和Google Collections的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。另外个人觉得 BoneCP 有个缺点是,JDBC驱动的加载是在连接池之外的,这样在一些应用服务器的配置上就不够灵活。当然,体积小并不是 BoneCP 优秀的原因,BoneCP 到底有什么突出的地方呢,请看看性能测试报告。(主页:http://jolbox.com/)
DBCP (Database Connection Pool)是一个依赖Jakarta commons-pool对象池机制的数据库连接池,Tomcat的数据源使用的就是DBCP。目前 DBCP ...
说服他人的5种技巧 – Guy Kawasaki
硅谷传奇创业者+精神领袖 Guy Kawasaki最近写了一篇新文章总结了以下5种说服他人的技巧。希望对大家对付老外有帮助。摘要如下:
先给予,后索取 (Be the first to give )。研究表明,我们容易被给我们帮过忙的人说服:有些服务员给我们结账的时候带来口香糖,我们一般给他们的小费多些。工作中我们更倾向于给帮助过我们的人更多支持…
不要给对方太多选择 (don’t offer too many choices):不论是给用户选择,还是给员工的奖励机制,太多的选择经常会给人带来挫折感…
不要以自我为中心辩护(argue against self-interest)。在说服别人的过程中,信任是最关键的。有时候在大力鼓吹之前承认自己方面的一些小不足可以提高信任感…
失去比得到更有说服力 (losses are more persuasive than gains)。告诉对方如果不接受你的意见或者不买的你的产品会失去什么,要比只是说明他们会得到什么要更能说服人…
让对方觉得自己已经取得了一定进步 (make people feel as if they’ve a ...
(麻省理工免费课程)C语言内存管理和C++面向对象编程
此课程有全部讲义和习题。
课程描述实在得令人发指。翻译如下:
您是否由于自己的Python程序比同僚们的C程序慢而垂头丧气?你是否想不用JAVA实现面向对象?加入我们,学习C和C++吧!我们带您从简单的C程序入手,深入C语言的内存管理,简介C++里的面向对象,深入C++面向对象的高级功能以及STL。我们还教您一些以后面试用得着的技巧和知识。
原文:
Ever hang your head in shame after your Python program wasn’t as fast as your friend’s C program? Ever wish you could use objects without having to use Java? Join us for this fun introduction to C and C++! We will take you through a tour that will start with writing simple C programs, go deep into the caves of C memor ...
Google吃豆游戏Logo的源码
这两天,Google的logo换成了那个经典的吃豆游戏,很强大,也引发了大众的热议。如果你想要其源代码的话,你可以到这里下载:http://github.com/macek/google_pacman。而在线演示在这里:http://macek.github.com/google_pacman/。
Google 吃豆游戏 Logo
需要注意的是,那个源程序在你的本机是不会有声音的,因为这跟flash的设置有关系,如果你需要有游戏声音,你还需要有以下的设置:
1. 打开 Adobe Flash Control Panel:
http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04.html
2. 点击 Edit Locations
3. 点击 Add Location
4. 浏览你的 google_pacman 目录
5. 点击 Add
需要注意的是,这个源程序并不是Google官方发布的,只不过是某些好事者的网友发布的, ...
Twitter的禁用口令
打开Twitter的注册页面,https://twitter.com/signup,查看一下源码,你会看到一个很长的禁用口令列表(见本文最下面),其中的某些口令的确很雷人。你可以参看本站的《如何管理并设计你的口令》来设计和管理你的口令。其中的某些口令需要向你解释一下:
ncc1701 这是星际迷航中的战舰号。
thx1138 这是乔治卢卡斯的第一个电影,1971年,其学生时代的作品。
qazwsx 这是键盘的布局顺序键。
666666 这是6个6
7777777 这是7个7
ou812 这是1988范 海伦Van Halen 专辑
8675309 这是 1982 Tommy Tutone song歌中提到的数字。这首歌导致人们开始播打电话867- 5309 寻找 “Jenny”
经过统计,9个人里就有1个人会使用下面这个列表中的一个口令,而50个人就会有1个人使用top 20里的一个口令。你可能会问,top20是怎么来的?而twitter这个列表又是哪里来的?请看下面的表格。这是top 500最烂的口令列表。其来源是这里。
NO
Top 1 ...
黑客的价值观
黑客,可能在大家的眼里是那些入侵别人计算机搞破坏的人,其实并不是那样的。如果你这样认为了,只能说明你对计算机文化并不了解,真正的黑客是一种自由的象征,他们挑战权威,追求自由,并和很多非人类的行为作斗争。如果你想了解黑客文化,你一定要去看看我写的《Unix传奇,上篇,下篇》。你会对正宗的计算机文化以及黑客文化有所了解的。而那些只懂得入侵别人计算机搞破坏活动的“黑客”只能称为是街头的小混混,他们根本就不配称黑客。
下面有四篇关于“Hacker’s Code”文章,我觉得相当的不错,可以让你明白什么是黑客的行为规范,道德准则,以及黑客的历史使命,希望能对你有启发。但是翻译水平有限,所以我请Mailper同学帮忙翻译了一下,但还是觉得原文更为传神,尤其是原文中的押韵,双意以及朗朗上口,所以,下面提供了中英文对照。如果有翻译得不好的还请大家指正。
The Hacker’s Code
http://muq.org/~cynbe/hackers-code.html
“A hacker of the Old Code.”
Hackers come and go, but a great ha ...
碰触,合作和团队绩效
公司有时候会举行团队建设活动,让大家出去跋山涉水,一起做有肢体接触游戏(例如用废报纸和胶布搭建一个能把所有人容下的遮阳棚)。这其中是有道理的。
今日读到一篇加州伯克利大学的文章 touch, cooperation, and performance, 用科学的研究方法解释了为什么NBA球员们为什么要“high five(击掌)”,并用统计方法论证了碰触行为可以导致更好的比赛成绩。其实想想,其实人们握手,鼓励式地拍肩膀,引导别人进门的时候好客地推别人的背,道理都是一样。身体接触(符合社交礼仪范围的)是建立信任的一种微妙行为。这些大多不会写在领导力的书里。
猴子之间互相捉虱子梳理毛发不是为了营养,而是增进群体的凝聚力。人类口头上的语言的第一功能不是为了表达知识,而是为了促进社会联系,其内容并不需要都是重要信息。这就是为什么我们一天之内说话内容的80%其实都是扯淡,八卦和闲聊。
(注意:职场上有社交礼仪,此方法需要适度)
如何管理并设计你的口令
在互联网上,需要我们输入用户名口令的地方实在是太多了,多得都让人记不过来了,N个电子邮件帐号,QQ, MSN,校内,开心,facebook,Blog,各种论坛,网银,淘宝,电子相册……,太多了,想想看,你要用多少用户名口令,相信很多人可能会这样做,用几乎一样的口令和用户名来申请所有的这些帐号,我估计这是大多数人的做法。当然,这样一来,你就需要保管好你的用户名和口令了,因为只要被破解了,就相当于你所有的帐号被破解了,这是多数恐怖的一件事情啊。你可能觉得别人破解你的口令很难,但我告诉你也许会非常容易,因为,如果你只使用一样的用户名和口令的话,也许某天,你注册了一个不知名的小网站,可能会意味着你所有的用户名和口令都被人获取了,要小心啊。
对我来说,我通常会有几组组帐号和密码,
一个帐号/密码是用于一些大的可以依赖的站点,如:MSN,gmail,linkedin,facebook,hotmail等,因为我相信这些站点应该可以足够信任不会出卖用户信息,也有足够的能力不会让用户信息和口令外泄。
一个帐号/密码用于一些国内的一些大的网站,如:QQ,开心,CSDN,Sina,网易,Blog,同 ...
十条不错的编程观点
在Stack Overflow上有这样的一个贴子《What’s your most controversial programming opinion?》,翻译成中文就是“你认为最有争议的编程观点是什么?”,不过,在400多个主回贴,以及千把个子回贴中,好像并不是很有争议,而是令人相当的茅塞顿开,下面罗列一些,并通过我自己的经历和理解发挥了一些,希望对你有帮助。
1) The only “best practice” you should be using all the time is “Use Your Brain”.
唯一的“Best Practice”并不是使用各种各样被前人总结过的各种设计方法、模式,框架,那些著名的方法、模式、框架只代码赞同他们的人多,并不代表他们适合你,你应该更多的去使用你的大脑,独立地思考那些方法、模式、框架出现的原因和其背后的想法和思想,那才是“best practice”。事实上来说,那些所谓的“Best Practice”只不过是限制那些糟糕的程序员们的破坏力。
2)Programmers who don’t code in their spar ...
老手是这样教新手编程的
comp.lang.c全球最大的C语言新闻组,其Google的链接是:http://groups.google.com/group/comp.lang.c/ 可惜被GFW了。在comp.lang.c新闻组,有一个日本网友发了个贴子,说他正在学习一个在线的C语言课程,要完成一个作业,用程序输出如下的结果,而他的老师在美国,因为时差问题,他无法和他联系,所以只有上这里来寻求帮助。
*
***
*****
*******
*********
*********
*******
*****
***
*
很明显,在comp.lang.c上发这种贴子是一定会被拍的很惨的,这样的事,以前在SUN的论坛上也发生过,详情请看这里。还有一个去软件官网上要一个盗版序列号的。果不然后,我看到了这样的一个回贴。提供这样的一段代码:
#define M 002354l
#define A 000644l
#define G 000132l
#define I 000322l
#define C 000374l
...
HTML 安全列表
下面这个网站罗列了,几乎所有的关于HTML 5 在各种主流浏览器上的安全问题,这些安全问题很有可能将会是黑客攻击你的网上的敲门砖,他们几乎都和Javascript都有关系,你就要好好注意了。
http://heideri.ch/jso/
下面罗列几个:
1)<table background=”javascript:alert(1)”>
IE6,7,8,9,和Opera 8.x, 9.x, 10.x 都支持这样的语法。
2)<meta charset=”mac-farsi”>¼script¾alert(1)¼/script¾
这个问题会存在于所有的Firefox版本中,可以让用户进行XSS(跨站脚本)攻击
3)<script>&#x61;l&#x65;rt&#40;1)</script>
在<script>和<style>的TAG间,根据标据,其可以使用这样的字符来运行脚本。这在所有版本的Firefox, Opera, 和 Chrome中都会有问题。
4)({se ...
写HTML和CSS的新方法
Zen Coding 一个用来简化编写 HTML,XML, XSL (或是其它一些诸如此类格式的编辑器)。其主要是用一种缩写方式的语法来书写大量重复和无味的HTML,很像CSS语法。下面是一个例子:
div#page>div.logo+ul#navigation>li*5>a
展开后会成为下面这个样子:
<div id="page">
<div></div>
<ul id="navigation">
<li><a href=""></a></li>
<li><a href=""></a></li>
<li><a href=""></a></li>
<li><a href="">&l ...
新手该学哪门编程语言
在某个论坛上看到有人在问——“Which programming language should I learn first?”,看到了下面的这个回答,有点意思。
Depends.
To program in an expressive and powerful language: Python
To get a website up quickly: PHP
To mingle with programmers who call themselves “rockstars”: Ruby.
To really learn to program: C.
To achieve enlightenment: Scheme.
To feel depressed: SQL
To drop a chromosome: Microsoft Visual Basic
To get a guaranteed, mediocre, but well paying job writing financial applications in a cubicl ...
九个PHP很有用的功能
下面是九个PHP中很有用的功能,不知道你用过了吗?
目录
1. 函数的任意数目的参数
2. 使用 Glob() 查找文件
3. 内存使用信息
4. CPU使用信息
5. 系统常量
6.生成唯一的ID
7. 序列化
8. 字符串压缩
9. 注册停止函数
1. 函数的任意数目的参数
你可能知道PHP允许你定义一个默认参数的函数。但你可能并不知道PHP还允许你定义一个完全任意的参数的函数
下面是一个示例向你展示了默认参数的函数:
// 两个默认参数的函数
function foo($arg1 = '', $arg2 = '') {
echo "arg1: $arg1\n";
echo "arg2: $arg2\n";
}
foo('hello','world');
/* 输出:
arg1: hello
arg2: world
*/
foo();
/* 输出:
arg1:
arg2:
*/
现在我们来看一看一个不定参数的函数,其使用到了?func_get_args()方法:
// 是的 ...
McAfee误杀svchost.exe
这两天,杀毒软件又出事了。还记得2007年5月,那次是Norton把简体中文Windows下的netapi32.dll 和 lsasrv.dll。最近的一次是,2008年11月,AVG把user32.dll给干掉了。
这次是McAfee的5958版病毒库,导致McAfee误杀了Windows XP SP3下的svchost.exe,这最终导致了Windows不断地重复启动,据说有数十万PC成了小白鼠。简单地到Twitter和各国外技术社区看看,真是受灾严重啊。
下面是出错信息:
The file C:WINDOWS\system32\svchost.exe contains the W32/Wecorl.a Virus.
Undetermined clean error, OAS denied access and continued.
Detected using Scan engine version 5400.1158 DAT version 5958.0000.
其实,可能大家都误解了,McAfee把svchost.exe识别为一个恶意程序,我觉得这是一种“实事求是”的态度啊 ...
谷歌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 ...
两个C++的资源
第一个是一个C++第三方类库的A-Z:(http://www.trumphurst.com/cpplibs/cpplibs.php)其中包含了:
开源的C++的第三方类库列表
商业的C++的第三方类库列表
一些经典的C++的随书源码
一些C++相关的工具
不过,这个网站好像最新更新是在2008年。
第二个是Boost C++的一个教程:(http://en.highscore.de/cpp/boost/)
Chapter 1: Introduction
Chapter 2: Smart Pointers
Chapter 3: Function Objects
Chapter 4: Event Handling
Chapter 5: String Handling
Chapter 6: Multithreading
Chapter 7: Asynchronous Input and Output
Chapter 8: Interprocess Communication
Chapter 9: Filesystem
Chapter 10: Date an ...
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 ??? 真是淫者见淫啊。呵呵
不知道还有没有其它有趣的?欢迎大家跟贴。