我讨厌XML

XML现在被越来越广泛的应用了,不过我觉得它已经变了,本来它是为了简单,容易读懂而设计的,但是现在,它彻底变成了只有机器才能读懂的东西。可恶的是,我的工作中还是要经常读XML文档,有时候甚至要读XML Schema来确定一个文档的合法性 😐 。号称最好的XML SPY,也就那么回事,编辑起来一点都不方便。 一个例子就是XACML。这个东西是BEA和EnTrust,Sun等公司合伙搞出来的一个OASIS标准,用来表述授权的策略。我们公司以前的一个产品,也有一种自己发明的授权策略表述语言。如果要表示这么一个策略: 当用户user_1访问resource_1的时候,具有role_1的角色 用我们以前的表述语言,大概这么写: grant( user_1, resource_1, role_1 ) 如果用XACML来表述,就得象下面这样。实在是,让人无法恭维。呵呵,大概就是为了软件公司能赚钱吧。。。 <Policy xmlns="urn:oasis:names:tc:xacml:2.0:policy:schema:os" PolicyId="urn:bea:xacml:2.0:entitlement:role:permitRole" RuleCombiningAlgId="urn:oasis:names:tc:xacml:1.0:rule-combining-algorithm:first-applicable"> <Target> <Resources> <Resource> <ResourceMatch MatchId="urn:oasis:names:tc:xacml:1.0:function:string-equal"> <AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">resource_1</AttributeValue> <ResourceAttributeDesignator AttributeId="urn:oasis:names:tc:xacml:2.0:resource:resource-ancestor-or-self" DataType="http://www.w3.org/2001/XMLSchema#string" MustBePresent="true" /> <ResourceMatch> <ResourceMatch MatchId="urn:oasis:names:tc:xacml:1.0:function:string-equal"> <AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">role_1</AttributeValue> <ResourceAttributeDesignator AttributeId="urn:oasis:names:tc:xacml:2.0:subject:role" DataType="http://www.w3.org/2001/XMLSchema#string" MustBePresent="true" /> </ResourceMatch> </Resource> </Resources> <Actions> <Action> <ActionMatch MatchId="urn:oasis:names:tc:xacml:1.0:function:anyURI-equal"> <AttributeValue DataType="http://www.w3.org/2001/XMLSchema#anyURI"> urn:oasis:names:tc:xacml:2.0:actions:enableRole</AttributeValue> <ActionAttributeDesignator AttributeId="urn:oasis:names:tc:xacml:1.0:action:action-id" DataType="http://www.w3.org/2001/XMLSchema#anyURI" MustBePresent="true" /> </ActionMatch> </Action> </Actions> </Target> <Rule RuleId="primary-rule" Effect="Permit"> <Condition> <Apply FunctionId="urn:oasis:names:tc:xacml:1.0:function:string-is-in"> <AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">user_1</AttributeValue> <SubjectAttributeDesignator AttributeId="urn:oasis:names:tc:xacml:1.0:subject:subject-id" DataType="http://www.w3.org/2001/XMLSchema#string" SubjectCategory="urn:oasis:names:tc:xacml:1.0:subject-category:access-subject" /> </Apply> </Condition> </Rule> <Rule RuleId="deny-rule" Effect="Deny" /> </Policy>

十二月 15, 2006 · Shawn Ma

MBTI 职业性格测试

网上各种各样的测试很多,今天看到一个简化的 MBTI测试 结果我是ESTJ类型的,有一些比较符合,“…被迫做决定。他们常常以自己过去的经历为基础得出结论。他们很客观,有条理性和分析能力,以及 很强的推理能力”不过也有一些不太符合……比如“自我负责,监督他人工作”。“喜欢工作中带有和人接触、交流的成分,但不以态度取胜” Psytopic分析:您的性格类型是“ESTJ”(外向+实感+思维+判断) <p> 讲求实际,注重现实,注重事实。果断,很快作出实际可行的决定。善于将项目和人组织起来将事情完成,并尽可能以最有效率的方法达到目的。能够注意日常例行工作的细节。有一套清晰的逻辑标准,有系统性地遵循, 并希望他人也同样遵循。会以较强硬的态度去执行计划。 </p> <p> ESTJ型的人高效率地工作,自我负责,监督他人工作,合理分配和处置资源,主次分明,井井有条;能制定和遵守规则,多喜欢在制度健全、等级分明、比较稳定的企业工作;倾向于选择较为务实的业务,以有形产品为主 ;喜欢工作中带有和人接触、交流的成分,但不以态度取胜;不特别强调工作的行业或兴趣,多以职业角度看待每一份工作。ESTJ型的人很善于完成任务;他们喜欢操纵局势和促使事情发生;他们具有责任感,信守他们的 承诺。他们喜欢条理性并且能记住和组织安排许多细节。他们及时和尽可能高效率地、系统地开始达到目标。ESTJ型的人被迫做决定。他们常常以自己过去的经历为基础得出结论。他们很客观,有条理性和分析能力,以及 很强的推理能力。事实上,除了符合逻辑外,其他没有什么可以使他们信服。同时,ESTJ型的人又很现实、有头脑、讲求实际。他们更感兴趣的是“真实的事物”,而不是诸如抽象的想法和理论等无形的东西。他们往往对 那些认为没有实用价值的东西不感兴趣。他们知道自己周围将要发生的事情,而首要关心的则是目前。因为ESTJ型的人依照一套固定的规则生活,所以他们坚持不懈和值得依赖。他们往往很传统,有兴趣维护现存的制度。 虽然对于他们来说,感情生活和社会活动并不像生活的其他方面那样重要,但是对于亲情关系,他们却固守不变。他们不但能很轻松地判断别人,而且还是条理分明的纪律执行者。 ESTJ型的人直爽坦率,友善合群。通常他 们会很容易地了解事物,这是因为他们相信“你看到的便是你得到的”。 </p> <p> 您适合的领域有:无明显领域特征 </p> <p> 您适合的职业有: </p> <p> · 公司首席执行官<br />· 军官 <br />· 预算分析师 <br />· 药剂师 <br />· 房地产经纪人 <br />· 保险经纪人 <br />· 教师(贸易/工商类) <br />· 物业管理<br />· 银行官员<br />· 项目经理<br />· 数据库经理<br />· 信息总监<br />· 后勤与供应经理<br />· 业务运作顾问<br />· 证券经纪人<br />· 电脑分析人员<br />· 保险代理<br />· 普通承包商<br />· 工厂主管<br />· 大、中型外资企业员工<br />· 业务经理<br />· 中层经理(多分布在财务、营运、物流采购、销售管理、项目管理、工厂管理、人事行政部门)<br />· 职业经理人<br />· 各类中小型企业主管和业主</div> </blockquote>

十二月 1, 2006 · Shawn Ma

Talking about 应该去什么样的公司工作

张老师谈工作。 我最近也为这个事情发愁,似乎看起来有一些机会,或者是方向,搞得我很犹豫,尤其是两者看起来各有千秋的时候。一个朋友让我去他的公司,做一些web 2.0相关的东西。另外一个人试图让我去跟他做startup。 最后仔细分析了分析,觉得自己还是不适合去做startup,不够agressive。以前可以agressive的时候,没有好的机会,或者有好的机会也没有抓住。现在让我去做,自己完全没有准备,这样似乎不是很好。 我觉得老张说得对,一个好的公司应该有不错的薪水,有发展空间,能学到东西,能有好心情。我昨天总结的时候觉得还应该有一些其他的,比如你跟甚么样的人一起工作,公司是否稳定,是否有风险等等,甚至福利、离家的远近都是考虑的因素。。我现在的雇主总的来说还不错,前三点都占一点,不过比起墨墨来还差一点,要努力,我也要去MSFT,哈哈 Quote 应该去什么样的公司工作 周末跟领导谈项目的时候,总结了一下去年所做的工作,也总结了一下在三星工作一年的体会。大家都是一样的感受,可是彼此都做不了什么大的变化。最后头总结性的陈词令我更是沮丧,一个在三星工作了十年的人离开三星将什么也不是。 在一个公司工作,我想几个因素能让这个人留下来,薪水是否足够高,公司是不是给你提供足够的发展空间,公司是否能让你学到东西,或者你就是喜欢这项工作,这份工作能给你带来好的心情。 我现在的状态无疑是只有第一个因素能够满足我,至于其它因素,已经荡然无存。你现在的工作满足哪几个因素呢?

十一月 27, 2006 · Shawn Ma

windows vista rc2 印象记

最近windows vista rc2 release了,微软吵吵这个东西已经好久了,从longhorn开始,四五年了?闲来无事,下载一个看了看。总的来说没有太多有意思的地方。最大的感受就是,微软又要促进硬件更新了。 现在的vista已经是DVD发行了,2.5G左右。bt吭哧吭哧了1天,然后就在vmware上装了一个。安装过程感觉比xp快了一些,前后一共花了35分钟左右,嗯,在vmware里,p4 2.0 512M,还算不错了。安装好了之后界面上看起来变化不大,据说有一个甚么aero的theme,不过我没调出来。 打开computer management看了看,基本也没啥变化——最大的变化是,服务比xp多了一倍。procexp显示那些基础的服务进程如csrss, lsass之类父子关系的稍微有点变化,其他的,还都是在services.exe里面。默认安装之后系统第一次启动占用约400M内存……难怪微软要最低配置512M。不过从纯使用者的角度,没看出有甚么好的。ie7也没啥兴趣,现在都习惯firefox了。。。对了,又内嵌了msn search service,看来要跟google desktop抗衡啊。。而且集成进了启动菜单哦。。。 总的来说,vista看起来就是一个xp的加强版,加了一些theme,改了一下explorer的样子。在我看来比较无聊一些。不如看看微软将来的炒作系统:Singularity。看起来还比较酷,嘿嘿。

十月 16, 2006 · Shawn Ma

cracking

昨晚接了大头鞋一个电话,说他有一个linux服务器程序,有IP和MAC地址和时间限制的一个license文件,问我有没有办法搞定它。 我今天正好没啥事情,就小小的分析了一下这个程序,最后居然被我搞定了,hehe,算是除了winzip之外crack过的第二个程序吧,不过的确是cracking,不如那些能产生keygen那么NB。。 这个程序本身是strip过的,没有debug信息,gdb比较难跟踪。先ldd了一下,发现它link了libcrypt.so,想当然的认为它使用了DES加密算法,这个简单,我们替换掉libcrypt,看看它掉setkey的时候用了甚么key不就完了。。结果,没有调用! 后来试了试strace,没有太多有用的信息,还是找个ltrace吧。ltrace很强,能够跟踪所有的library call,跑了一下,果然,所有的memset, strcpy, fread都出来了,喜之。找到读license文件那个fread,然后开始看接下来的call。 果然,这个程序读入了这个文件,先一个int,再一大段,最后结尾的时候又分开读了几个int。接下来它seek到开头,又读入一边处理。。。结果到处理结束,也没有掉任何加密相关的函数。我就把这个程序用objdump给disasm了,不过这个东西没有debug信息,我又不太懂汇编。。所以看到头大。。这也是为啥搞不出来keygen的缘故。 后来快要放弃的时候,看了一下那段处理过程,发现他们原来是从那个license文件慢慢解密的,一个字节一个字节的解出来ip,mac,过期时间之类的信息,最后一下完整的字符串。于是又想起linux提供的伟大的LD_PRELOAD,嘿嘿,做一个memcpy()函数,当最后一次拷贝的时候,修改里面的IP/MAC和时间信息,试了一下,果然大功告成(来,亲个嘴儿),服务器显示过期日期是2099年。。。 只能说——这个程序做的不够好,要是RSA的静态库连接一下,我这样的小菜鸟是拿它一点办法也没有的。。除非找到那个关键的if判断,把它改成90909090…不过找到那个if会比较难。。。

九月 26, 2006 · Shawn Ma

被防火墙搞了

最近pop国外一个邮件服务器,总是在retr某些特定的信件的时候产生错误,然后那个网站就有5分钟的时间上不去了,感觉是那个邮件的内容被过滤了,某些关键词被触发……但是我一点都看不出来那个破信里面有什么值得过滤的内容。试验不出来。 用sniffer看了一看,的确很奇怪。前面都是正常的,当我发一个retr 3的时候,后面的TCP就完全不对了。 retr 3后面紧跟一个packet: [TCP previous segment lost] continuation. 这个packet是信件的第二个包,TCP flag有ACK。 然后本机对上一个packet发了一个dup ACK,要求重传信件的第一个包。ACK=59 然后对方retransimission了第一个信件包(SEQ=59, ACK=38)。本机(SEQ=38,ACK=2979) 接下来,对方发了6个RST包!然后我得网络就中断了。。 这6个包seq number分别是2979, 4439, 7539, 5899, 4439, 7539…ethealreal抱怨说,TCP previous segment lost. 感觉是后面发过来的几个包都被替换为0字节的RST了。。。 重试了一次,那个重传那段没有了。。。但是最后那段RST一个不少,6个。这显然故意的行为。而且我觉得这种行为只能是伟大的防火墙所为。 唉。不是我不爱国。

六月 6, 2006 · Shawn Ma

去玩star tropper了

一个类似真人CS的东西。装备是一种激光枪,人身上带一个盔甲,带有前五后四个感应器,被打中了就有7秒是“死”的状态,还有3秒是枪没法恢复,就是一共10秒后枪才能恢复使用。嗯,枪上本身也有两个感应器。 第一把俺害羞了,只杀了8人,自己被杀8次。第二次杀了22个,被杀12次,是本组得分比较高的~不过由于我们这边由两个女生,所以两次均不如张成所在的一帮小子们。。

五月 27, 2006 · Shawn Ma

抗真菌药

说得好听,其实就是脚气膏。最近夏天到了,右脚有个内侧有个地方每年都长几个水泡,真讨厌,买点脚气膏去吧…… 到了药店傻眼了,那么多药物,而且还都听我老婆说过——以前给兰美抒做过广告。后来还是被推销员忽悠了,买了一种联苯苄唑的药膏。回来以后研究了一下,总结如下: 抗真菌药物分抗生素类(两性霉素B,灰黄霉素等),唑类(酮康唑,克霉唑,皮福唑,氟康唑等),氟胞嘧啶,烯丙胺类(萘替芬,特比萘芬)。 市场品牌:皮炎平,孚琪,派瑞松,达克宁,兰美抒。 皮炎平纯粹是激素类药物,主要成分的塞米松,根本不能治脚气,不要考虑了。 孚琪的有效成分就是联苯苄唑,也就是我买的这个。是唑类比较老的产品,效果较差。 “孚琪的有效成分(联苯苄唑)是早于咪康唑的老一代抗真菌药,其效果是比不上达克宁的。”(http://www.y2y.cn/medicine/Info/200511/257_2.html) 派瑞松含硝酸益康唑(广谱抗真菌药)和曲安奈德(糖皮质激素)。(http://www.sdrug.com/aa/shuomingshu/7044.htm) 也是一个唑类的药物,不过他也含有激素,不能长用。不喜欢。 达克宁“为咪唑类抗霉菌药,抗菌机理与酮康唑相似,与克霉唑抗菌谱相似,但抗菌力比后者强且本品可全身应用。” (http://pifu.zhaohua.com/mycosis/readart.asp?artid=46873)还算可以,没有太对不起那么多的广告。 兰美抒是烯丙胺类抗真菌药,成分是特比萘芬。“本类是近年开发的一类新化合物”。 看起来还是兰美抒比较先进一些,不过太贵了,那么一小盒,就15,好像。达克宁也还凑合吧。别的就别买了。 我是不是喜欢较真?前两天还研究了HDTV,哪天扯扯。。。

五月 23, 2006 · Shawn Ma

忙碌的一天

请了一天假,去装修了。本来计划装剩下所有的东西的,但是人算不如天算啊。。先是门因为工人忙,没有工期,装不了。少了一个大头。就只剩下橱柜、地板、热水器、灶具烟机了。 早上一早7点就谁不着了,爬起来,特别懒得做饭,就喝了点蜂蜜水,出门。唉。老婆不在一点动力都没有。 刚出门,接了橱柜的电话,说他们到了。才8点,真早,只好改变主意,想打车过去,但是早上下雨了,没有车可以打,做地铁,到崇文门去。从崇文门打车去工地。门口果然堆满了他们搬来的东西,好多柜子,还不错,他们都用塑料泡沫保护了面板。 然后就开始干活了,说简单也简单,就是把柜子一个个摆好,遇到管子的就挖一个洞。然后把柜子横向用螺丝固定在一起,最后放上台面。吊柜就是用几个膨胀螺丝固定几个吊码,然后挂上去的。 送油烟机的上午11点左右到了。柜子才装了一小半,上柜只吊了一个。他们商量了一下,决定先把油烟机的位置画出来,先装,因为那个人着急要走。砰砰砰,20分钟,烟机装好了,特别特别简单,就是一个金属条固定在墙上,然后往上一挂,就好了。后来那个热水器也是这么挂的,特简单。然后他就丢下灶具走了,说下次再给他们电话再来调试。 中午十二点的时候比较有趣,物业有个人又牛B哄哄的过来收我们的工具,当时我看了,只有11:56分,心想这个我得跟他说说。没想到这个哥们说,上午装修时间是9:00-11:00,已经过了一小时了。我刚好上午去客服问了一下,他们的那个时间规定写的特别搞笑,9-11点是正常时间,12-14是静音时间,我问他,那么11-12属于什么时间?那个客服傻了,嘟囔了半天,说,您只要12-14点别出动静就行。我就跟那个物业的说,我刚才问你们的客服,他说是12点,要不你自个问去。那哥们还不愿意,用对讲机叫客服。客服只好说,12点,那个物业很没趣的走了,嘀咕说,他们怎么老改时间,嘿嘿,出了一个口闷气。 1点的时候,smith的人送热水器。外企就是好,服务比华帝的好不少。当然,他们也就靠这个吃饭的——他们对服务要求高,那些安装的工人的奖金主要根据客户的反馈,而且估计是他们的主要收入。那个小伙子的确也很乖,很主动讲这个那个。。嗯,最后我给他一个"非常满意"。1点到2点之间不能施工,他就准备一些活,装安全阀,画线什么的,就等2点开始打眼。真正安装很快的。不到3点就完了。 在smith之前地板的人也来了,量了量,把地板放下了,但是,我们的主卧的地面很不平!主要是后加的那个电话线管,实在太粗了,导致放上一个地板以后就跟跷跷板似的。只好找老沈返工,估计得到下周才能再装了。。。门又约了一下,周五让咱爸给看着。。。

五月 9, 2006 · Shawn Ma

微软又搞笑了

http://bbs.mscommunity.com/forums/ShowThread.aspx?PostID=32771 http://groups.google.com/group/microsoft.public.cn.ie/browse_thread/thread/447bd172a785b84b/39d56c391d0b9a1f?hl=zh-CN#39d56c391d0b9a1f 最近发现启动一些东西的时候特别慢,后来用process explorer发现有个叫做verclsid.exe的程序跑的很欢快,一共启动了n多个,数百个是有的吧。上网查了一下,发现是微软的一个security update闹的,MS06-015(KB908531)。 如果有人也遇到启动某些程序特别慢的情况,可以看看上面那个google连接。 这是我启动ie时候得进程列表……

四月 25, 2006 · Shawn Ma