Category Archives: Life & Work

听到中投证券裁员

最新消息,中投证券裁员了。虽然历史往往证明,券商的的预先动作往往和他们对行情估计的一样很不靠谱,例如2006年初作出的削减营业面积和成本的做法,导致很多营业部在2006年的牛市中应接不暇,作为大四毕业就去了中投证券,并且在中投换过三种职位,三家营业部的“老员工”,辞职之后的我觉得中投证券这次裁员还不错。

1.总部和营业部的关系

当初还是南方证券的时候,中投的很多分公司权力是很大的,总公司对分公司的管理力量很弱,这也是原南方证券倒闭的原因:几个分公司弄得窟窿把总公司拖垮了。05年新中投成立后,从大集中交易以后总部就把很多权力回收了,并且营业部做很多事情都要看总部的脸色。例如一次公司营业部总经理级别的年会上,营业部总经理们认为新年计划中“创新”应该放在“合规”之前,而董事长认为“合规”一定要放在“创新”之前。OK,这次改革后听说会增加营业部经理的权力,拭目以待吧。

2.营业部员工的分类

作为一个自认为自己是“纯国企”的金融机构,中投证券营业部里面有很大一股坏味道。后台员工认为自己的“正式员工”,客户经理认为自己是“非正式员工”,其中的微妙关系只有内部人才能体会到。并且每年巨额的“年终奖”也只有后台员工才能领取到,客户经理只能喝西北风。这些很大程度上影响了内部的团结。其实把营业部看成一个“小企业”,真正把巨额的奖金发给有贡献的人才能激励士气。不过全部由营业部总经理决定的话,又可能滋生腐败,需要总部的监管。

3.发展模式

其实目前券商的主要赢利点都一样:收手续费,并且在提供交易通道的方面手段都差不多,没啥区别。所以前年开始就大搞佣金战,杀得行业利润大降(证监会的同事们高兴了,叫你们07,09年发年终奖的时候那么拽)。在营业部层面,就要看那家的细节做的更好了,继续搞后台员工自以为是老大的单位氛围就很影响团队凝聚力。

MD5密码是可破解的吗-关于CSDN密码泄漏事件

这次CSDN密码泄漏造成了很多人隐私的泄密,很多人连夜通宵改密码。。。

CSDN保存明文密码不能说是技术上的问题,或者说技术上难度有多大而难以实现,仅仅是不“道德”而已。除了CSDN以外绝对会有很多网站仍然保存用户的明文密码,只不过是没有泄漏罢了(或者已经泄漏但是没有被大众所得知)。关于MD5讲几个基本的问题:

1. 为什么要用MD5或者其他的哈希算法来保存密码?

首先解释一下什么是MD5(或者什么是哈希算法):简单来说,哈希算法就是能够通过一些数学上的计算,不可逆转把一些不定长的信息输出为32位数据。

MD5("password")
= 5f4dcc3b5aa765d61d8327deb882cf99

通过md5算法,“password”这个字符串就变成了”5f4dcc3b5aa765d61d8327deb882cf99“。那“passworD”(把最后一个字母变为大写字母)的MD5输出哪?会不会和“password”差不多?

MD5("password")
= a61f3f0aee2e87cf0571ca70afe289d2

可以明显看到,即使更换了一个字母,MD5的输出结果也是大相径庭。看来,MD5的输出结果是毫无规律可寻的。

例如,当你在gmail注册的时候,用户名选择了“admin”,密码输入了“password”,Google就可能把“admin”和“5f4dcc3b5aa765d61d8327deb882cf99”这两条数据保存在数据库。

当你需要登录gmail的时候,你在登录框中输入”admin”和“password”,google会重新把“password”进行MD5运算,得出一个结果,看和“5f4dcc3b5aa765d61d8327deb882cf99”是否一致,一致的话就判断你登录成功。

网站之所以保存MD5后的信息而不是明文密码,是为了万一数据库被泄漏出来后不至于泄漏用户的明文密码,这样即使黑客获得了所有用户的信息后也无法直接使用了;不好的地方在于保存MD5加密后的信息的话,即使是网站管理员也不知道用户究竟输入的是什么密码,在管理用户的时候会增加不少麻烦。

2. MD5(或其他的哈希算法)能被逆向破解吗?

OK,下面解决另一个问题:MD5能被逆向破解吗?例如黑客知道了你的密码的MD5加密后的信息是“5f4dcc3b5aa765d61d8327deb882cf99”,他能否通过什么手段算出你的密码是“password”?的确能,但不是通过逆向破解。因为目前逆向破解哈希算法还没有出来,所以就有人把一些常用的密码的MD5值算出来:

123456=e10adc3949ba59abbe56e057f20f883e
111111=96e79218965eb72c92a549dd5a330112
666666=f379eaf3c831b04de153469d1bec345e

诸如此类保存在数据库中,如果万一你的密码是一些常用的密码并且正好被黑客记录在案,那你的密码就被泄漏了。

3. SALT是什么?

SALT就是为了避免发生上面的情况,使用SALT技术的网站会把MD5加密后得到的信息和另外一个固定的SALT字符串(一般这个SALT是保密的,不应该被管理员以外的任何人知道)再进行一次MD5运行,这样你的密码哈希运算后的结果就和一般的哈希运算不一样了。即使你用的是“123456”这样的普遍密码明文,SALT加密后的MD5信息对黑客而言仍然是极其难以破解的,因为SALT可选的范围太大了,没有人会尝试对SALT加密的结果穷举然后记录。

4. 不同的密码生成的MD5信息是唯一的吗?

已经被证明了,不同的原始信息可能会被生成同样的MD5信息,例如:

MD5("stirng1")=ab1234
MD5("string2")=ab1234

这种情况就叫做“碰撞”,并且的确是可能是存在的,只不过几率非常非常小而已,并且能够产生碰撞的两个字符串可能差别非常大(例如一个只有四位,另一个有上千位),所以现实中一般人不会遇到。

5. 为什么CSDN会用明文密码?

用MD5在技术上并不是很复杂,在代码中添加几行就行了,网站保存用户明文密码数据很大程度上的原因是便于管理。例如用户说自己登录后看到某些地方有问题,而网站管理员又无法获得用户的密码登录系统查看原因,就会延长网站对于用户的意见反映的时间。保存明文密码只能说方便了网站管理,却有可能导致用户密码被泄漏。

CSDN用户明文密码泄漏,绝对不会是最后一次,更多用户的信息可能一直在地下黑市中被黑客盗卖中,只是你没有察觉到而已。

PS:附上山东大学王小云教授关于MD5碰撞的论文:《How to Break MD5 and Other Hash Functions》.

中国人的性格

伯特兰·罗素是二十世纪英国哲学家、数学家、逻辑学家、历史学家,无神论或者不可知论者,也是上世纪西方最著名、影响最大的学者和和平主义社会活动家之一,1950年诺贝尔文学奖得主,罗素也被认为是与弗雷格、维特根斯坦和怀特海一同创建了分析哲学。他与怀特海合著的《数学原理》对逻辑学、数学、集合论、语言学和分析哲学有着巨大影响。1950年,罗素获得诺贝尔文学奖,以表彰其“多样且重要的作品,持续不断的追求人道主义理想和思想自由”。

1920年5月,罗素以非正式成员身份随工党代表团访问苏维埃共和国,考察布尔什维克政府的工作。他对苏俄政府的统治感到失望,甚至于恐惧。他的看法在《布尔什维克主义的理论和实践》一书得到阐述。同年8月,罗素应邀到中国讲学。他对古老悠久的中国文化极为敬佩,对中国人的教养和幽默感十分欣赏。在中国时罗素患上严重疟疾,以致日本人谣传他已病故。1921年罗素回到英国,与多拉·布莱克结婚。生有一男一女。父亲的角色使他对教育发生了兴趣,和妻子一道创立了一所实验学校。在罗素看来,这所学校并不成功,而且运转费用昂贵,使他有必要去美国讲学,筹集钱款。1932年,他与多拉离婚,不再参与学校事务,多拉则自己独自经营,直到1943年。
从1920年代到1930年代,罗素撰写了大量有关俄国、中国、相对论、历史、教育、性道德、国际关系、宗教和未来社会的著作,其中较重要的有《心的分析》(1921)、《论教育,尤其是幼儿的教育》(1926)、《物的分析》(1927)、《哲学大纲》(1927)、《怀疑论文集》(1928)、《道德与婚姻》(1929)、《教育与社会秩序》(1932》、《自由和组织》(1934)、《宗教和科学》(1935)、《权力:一个新的社会分析》(1938)。尽管这些活动的许多部分是为了挣钱维持生计,但罗素仍然是各种政治活动孜孜不倦的支持者。1930年代中期,由于厌倦这种生活和需要支撑两个家庭(他于1936年再次结婚,次年得子),他希望重归大学生活。这并不容易,因为大学职位稀缺,而罗素又是一位有争议的人物。1938年,他在牛津大学演讲,而后又在芝加哥大学和洛杉矶州大学获得访问职位,最后纽约市立学院给他提供了一个永久职位。此时,二战爆发,而他被困在了美国。由于罗素对堕胎、离婚和同性恋问题看法“不够正统”,这个聘任引起了纽约天主教社团的反对,在一场著名的诉讼中被推翻。幸好,哈佛大学仍然坚持原来的邀请,让罗素去作詹姆斯讲座的演讲,为期一年,演讲稿于1940年以《意义和真理的探究》为书名出版。 Continue reading

虚拟化技术和普通人工作办公的联系

在很多年前,我第一次听说虚拟化的时候(好像是在《电脑爱好者》上看到的对Vmware和Virtual PC的介绍,当时普通人PC的内存大致在128MB左右)作为一个准Geek,对于这么好玩的技术当然是非常感兴趣,通过家里的小猫下载下来后虚拟安装Linux玩。后来看到过当年比较NB的“豪杰解霸”作者肇新在自己的《编程高手箴言》上对64位技术的幻想时说道“在32bit时代,大家只是切换word这样来切换程序;但是到了64bit时代,我们切换的就是不同的OS”,当时作为一个高中生准Geek的我听起来感觉很好笑,不过目前的情况看起来莫非还真让他歪打正着了?

我目前主要使用的平台就是Mac OS,不过很多时候还是要使用windows的,自从在Lion下安装了PD虚拟机后,使用Lion的触模板三点切换全屏的功能,在Mac下使用PD虚拟出来的windows简直就是一件非常流畅的事情,比在Windows下面从IE切换到firefox还要方便快捷,这时候我感觉的了虚拟化技术在桌面端对普通人的影响。

最近在兼职做VPS销售平台,所以对类似Openvz和Xen这样的服务器虚拟化技术也有更一步的了解。从几年前喧嚣的“云计算”其实大部分都是基于服务器虚拟化技术平台的(大部分都是Xen),这样和原来的“虚拟主机”来相比的话,虚拟化技术只是把用户能够使用的资源层次提升了更多而已。例如原来的“虚拟主机”只是在母服务器上增加一个共户而已,用户通过Cpanel来管理自己的网站;新的虚拟化技术能够让用户几乎完全拥有一个主机:独立的IP地址和独立Linux配置环境。

归根到最后,虚拟化技术到底会对IT界有什么影响?拭目以待吧

MacbookPro 990升级4G内存

从网上订的4GB三星DDR3 1333内存到了,中午出去买了套钟表螺丝刀把macbook的后盖去掉,卸掉一根1GB内存,把买来的4GB内存插上去,开机进入系统,一切OK!,1333内存会自动降频到1066使用,不会出现网上说的那种三星1333无法使用的谣言。

ssh服务器端并发数目限制

一个低端VPS,经常有十几个sshd服务端在top中显示,一个sshd也要占用3mb左右内存,这下了就是30多mb内存,需要限制一下:

ServerAliveInterval 规定多长时间如果ssh客户端没有反映的话就踢掉.

ServerAliveInterval 60

The second option is ServerAliveCountMax. It sets the max attempts that ssh client will send keep-alive packets to the server. If no response is received from server side for the specified count of messages the connection is closed automatically by the client.

ServerAliveCountMax 3

GOOGLE的APP套件的免费邮局客户端设置

GOOGLE的APP套件的免费邮局启用SSL和端口号的设置:
POP3: pop.gmail.com
端口: 995
启用SSL安全链接
SMTP: smtp.gmail.com
端口: 465
启用SSL安全链接

但是在virtualizor的email setting中没有启用ssl的选项,问了virtualizor 的客服,在email setting的SMTP Server填写为:ssl://smtp.gmail.com即可.

联想M8000t升级BIOS

办公室用的是一台09年生产的联想M8000t台式机,昨天新加了一块HD5670显卡,麻烦就出来了.显卡插上去后风扇一直狂转,但是没有任何显示,拔掉电源后重复偶尔会有三短声bios报警.第一个想到的问题就是:是不是电源功率不够?但是HD5670也只是一块中低端显卡,耗电量还不至于像高端显卡那么变态.然后上了联想的售后网站,在论坛上发现好多M8000t都是这样的问题,不太兼容AMD的HD5XXX显卡,有人说需要更新BIOS,但是联想的网站上没有更新BIOS的文件下载,然后去了联想美国,下载了m58的BIOS升级文件,更新M8000t,问题才得到解决.

改造SEO Smart Links

SEO Smart Links能够自动给blog中的关键词添加连接,但是也会给高亮的code代码添加连接,并且我使用的syntaxhighlighter插件在处理高亮code时候也和seo smart link配合有问题,把smart link添加的链接html代码直接显示出来,非常难看.虽然可以再选项中选择排除对h1,h2这样的标签进行排除,但是没有对其他的排除选项,分两部分实现,第一部分先给需要排除的标签内的内容添加特殊标识

if ($options['excludeheading'] == "on") {
		//Here insert special characters
		$text = preg_replace('%(<h.*?>)(.*?)(</h.*?>)%sie', "'\\1'.insertspecialchars('\\2').'\\3'", $text);
	}

在后面添加一行代码:$text = preg_replace(‘%(\【code.*?\】)(.*?)(\【\/code\】)%sie’, “‘\\1’.insertspecialchars(‘\\2’).’\\3′”, $text),把【替换成[,类推要不blog没法正常显示,然后再最后替换关键词链接后把刚才的特使标识删除:

if ($options['excludeheading'] == "on") {
		//Here insert special characters
		$text = preg_replace('%(<h.*?>)(.*?)(</h.*?>)%sie', "'\\1'.removespecialchars('\\2').'\\3'", $text);	}

后面添加:$text = preg_replace(‘%(\【code.*?\】)(.*?)(\【\/code\】)%sie’, “‘\\1’.removespecialchars(‘\\2’).’\\3′”, $text).

原理是SEO SMART LINK在处理特使的标记端是,吧这部分标记内部的所有文本都用特使的html标记分隔开,替换的时候就不会正则出来,替换后再把所有的特殊标记都去掉.

但是这样更改后还是没有反应,后来发现syntaxhighlighter在添加filter的时候把自己的特权设置的很高:

add_filter( 'the_content', array(&$this, 'parse_shortcodes'), 7 );

但是SEO SMART LINK在添加filter特权要低一些,这样文本就先被syntaxhighlighter处理过了:

add_filter('the_content',  array(&$this, 'SEOLinks_the_content_filter'), 10);

把10调整成5即可.

PS:首先学习一下php的正则表达式.preg_replace(正字表达式,准备把正则表达替换成的内容,替换文本)是php的正则替换函数.’%()(.*?)()%sie’中开始的%和结尾的%sie是特使的正则开始和结尾的标志,使用这样的开始和结尾才能使用”‘\\1’.removespecialchars(‘\\2’).’\\3′”这样简单的方式快速组合出中间被替换而开始和结尾都没有变化的字符串.