AppSpot经常被封 二月 2nd, 2010

可以到

http://hi.baidu.com/flashspwan

查看新的文章

Posted in | Comments(2)»

关于创业的一些话题 十一月 25th, 2009

一提到创业话题,我就来说说我曾经服务过的一家公司的一些情况:

1.刚刚创建,我是整个公司第8个员工。

2.有钱,投资方在美国、广州、深圳和香港拥有很大的产业,在中国主要是服装出口,在美国开电话公司和餐馆。

3.有人,CEO是微软工程院资深开发经理,在微软做了10年,第一批从美国来中国创立微软工程院。顾问是微软亚洲研究院某负责人,电影学院教授,常上电视的那种,员工有电影学院研究生,新浪跳过来的开发经理。(我就不算了:) )

4.有市场,做的项目主要面对美国,调查估计市场规模达到10亿美元

5.有关系,投资方老板人脉强大无比,我看过他和唐家旋,曾庆红等人单独的私人照片。

目前这个公司状态:半死不活。

 

我相信目前看来,普通创业公司都很难拥有这么好的条件,除了李开复的创新工厂,我觉得拥有这些资源的公司让任何一个人创业都很难失败,或者说很容易成功。

结果这个公司和任何一个创业公司一样快完蛋了。主要有几个原因:

1.因为有钱,胡乱花钱。开始租了某个写字楼,装修花了18万,招了很多人,工位不够,不到半年换了地方,装修又花了60万。但是作为网络公司,整个公司只租用2M带宽接入,而且因为施工问题,工作中网络问题不断,网速奇慢。

2.CEO作为开发经理刚愎自用,到后期听不进任何人的意见,并且和合伙人闹起了很大的意见。

3.对市场把握不准,产品完全不对消费者胃口。

问题1还不是大问题,乱花架不住有钱啊,问题3是很致命的,但是在这个致命问题还没暴露之前,这公司已经快完蛋了。我想重点说一下问题2,我觉得问题2其实是任何一个创业公司都要面对的问题:

当你的公司项目才做到一半,你发现你的合伙人是个混蛋,怎么办?

这他妈真是一个痛苦的问题。总共只有3个选择:1让他滚蛋,2继续忍受,3我自己滚蛋。

选项3其实没有人会选,我之前那个公司的具体情况:

1.原微软员工A认识投资方,投资方觉得他值得信赖,希望创业。

2.员工A在微软时找到领导B,希望出来创业

3.B决定和A出来创业,由B任CEO。

结果A和B在公司期间越来越互相看不惯,最后发展到见面不说话的程度。A的选择是,依靠自己和投资方过硬的关系,把B撵走了。

这导致了一个问题:A虽然看不惯B,但是A并不比B高明,B在职时很多员工也看不惯B,但是B走后员工纷纷辞职。

所以在创业型公司的语境下,搞人事斗争一点意义都没有,当你受不了对方且在你并不比对方高明的情况下,最优选择只能是:忍耐

Posted in | Comments(0)»

在一个基于AMF的工程中,本地class和远程class做绑定。

本地class中包含ArrayCollection对象,我特意在项目中包含frameworks.swc,但是提交包含ArrayCollection对象仍然抛出2004错误,而同样的事情在MXML里没啥问题,很奇怪。

然后我就导出了一个MXML文件生成的as文件查看,发现里面

try {
if (flash.net.getClassByAlias("flex.messaging.io.ArrayCollection") == null){
flash.net.registerClassAlias("flex.messaging.io.ArrayCollection", mx.collections.ArrayCollection);}
} catch (e:Error) {
flash.net.registerClassAlias("flex.messaging.io.ArrayCollection", mx.collections.ArrayCollection); }
try {
if (flash.net.getClassByAlias("flex.messaging.io.ArrayList") == null){
flash.net.registerClassAlias("flex.messaging.io.ArrayList", mx.collections.ArrayList);}
} catch (e:Error) {
flash.net.registerClassAlias("flex.messaging.io.ArrayList", mx.collections.ArrayList); }
try {
if (flash.net.getClassByAlias("flex.messaging.io.ObjectProxy") == null){
flash.net.registerClassAlias("flex.messaging.io.ObjectProxy", mx.utils.ObjectProxy);}
} catch (e:Error) {
flash.net.registerClassAlias("flex.messaging.io.ObjectProxy", mx.utils.ObjectProxy); }

然后我手动加一行

flash.net.registerClassAlias("flex.messaging.io.ArrayCollection", mx.collections.ArrayCollection);

问题就解决了。

我们做一个跨平台的项目,使用socket,在windows和os X平台完全没问题,linux上老出问题。

当然flash player经常出这种莫名其妙的问题,我们已经习惯了。于是用sniffer抓包测试这个玩意,基本crossdomain那些东西没啥问题,但是client向server push的时候就出问题了。

基本可以肯定是Socket.writeMultiByte在linux flash player版本上的实现是有缺陷的。

最后只好这么整了一下

private function writeBetterMultiByte2(msg:String):void
{
for(var i:int=0;i<msg.length;++i)
{
socket.writeByte(msg.charCodeAt(i));
}
}

但是怎么感觉这事这么操蛋呢。

关于flex sdk和meta data 九月 21st, 2009

[Embed(source="xxx")]

这个标签很多人都知道这样将外部资源嵌入swf文件,但是你知道嵌入之后flex sdk将会如何处理这些元数据标签吗?图片嵌入之后是一个Bitmap对象还是Sprite对象?可以自定义元数据标签吗?

我昨天在搞一个资源老是出问题,仔细深入研究了一下flex sdk中对meta data对支持和处理,值得记录下来一些东西。

1.当嵌入图片.png,.gif,.jpg等,flex sdk将会生成mx.core.BitmapAsset对象。具体可以参考阅读源码。

2.当嵌入图片包含scaleGrid属性时,如:

[Embed(source="1.png", scaleGridTop="20", scaleGridButtom="100",scaleGridLeft="20",scaleGridRight="100")]

flex sdk将会生成mx.core.SpriteAsset对象。具体属性可阅读源码。

3.设置mimeType="application/octet-stream"可以嵌入任何资源,二进制方式。

4.可以自行设置meta data标签,只需在编译的时候加上 -keep-as3-metadata+=Meta1,Meta2,你自定义的元数据标签将会被编译进swf文件,用flash.utils.describeType(yourClass)就能看到已经被包含进去的元数据标签。(如果在swc中添加了这个编译器参数,那么包含这个swc的项目就不用这个参数也有自定义meta data的功能了。)

5.parsley框架中的[Injection]之类的自定义标签就是这样实现的。

我发现国内使用自定义meta data的项目很少,其实几乎没有。其实自定义meta data加上as3强大的XML解析能力可以让代码更加清晰明了,减少维护成本。

牛/逼顿
3月28号是牛顿的忌日,但是知道的人很少,我们毕竟更关心沈殿霞和张国荣。其实牛顿老师在科学圈里曾经很有权势,被女王封了爵位成了贵族,人称牛爵爷,官至皇家造币局局长兼皇家学会会长。如果阿尔伯特没有辞了以色列总统的话和他有一拼。

说他有权势并不仅是官大,主要还是贡献大。如果17世纪就有诺贝尔奖的话,牛顿老师至少能连续垄断4届物理学奖(分光计;力学体系的构建;反射望远镜;万有引力),同时为了表彰他在炼金方面的造诣,再奉送他一届化学奖。而且这孙子鼓捣出了流数术,所以菲尔兹数学奖也要给他。要知道,他的这些发现基本都是在26岁以前获得的,30岁以后牛顿就开始玩票了,成天琢磨上帝和炼金,以及怎样把莱布尼茨搞臭,捎带手的把以前的发现整理成书。所以你能想象到他在当时的欧洲是如何的一呼万应,敢跟他叫板的只有莱布尼茨和大主教贝克莱。牛老师死的时候,全英国的贵族以给他扶柩为荣,全欧洲的名流蜂拥伦敦。来自法国的傻逼文科生伏尔泰在国葬现场大受刺激,回去就写了首诗,嫉妒之情溢于言表。

牛顿老师的一生是天才的一生,战斗的一生,也是孤独的一生。一辈子没有朋友,也没有结过婚,很可能到死都是处男,关于牛顿是否处男的问题,由于篇幅过长,我将在另一篇文中论证。当然他肯定不会孤独,因为科学的世界里乐趣无限,快感连连。出乎世俗想象的是,科学其实远比任何娘们儿都风骚,玩科学比玩女人爽得多,得到一个成果所获得的高潮强烈而持久,不仅有快感,更有巨大的自我认同感,远胜于那几秒寒颤之后无边的空虚与落寞。所以陈景润其实是沉溺于美色不能自拔,身体弱架不住高潮过度被爽死了。

牛顿老师茕茕孑立,形影相吊的原因是多方面的。首先他生性孤傲,自恃高才,瞅谁都是傻逼,当然不会真心跟傻逼交朋友。同时在他眼里人是不分男女的,只有傻逼和巨傻逼两种,所以他对女色没兴趣也就可以理解了。曾有婚介中心给他介绍过几个名媛,拾掇拾掇都是当王妃的坯子,但一见面就受不了他的牛逼烘烘和不知所云。

另一方面是外在的,不光他不愿意交朋友,也没有人真正想跟牛顿当朋友,结交他的人大都各怀目的。人们对他毕竟只有敬畏和仰慕,并不真的喜欢他。这道理其实很浅显,绝大部分人都热衷于跟比自己傻的人待着,很少有人愿意在人精的身边衬托自己的二逼。所以不少人都喜欢小动物和小孩子,就是因为这些东西够傻,他们在这些东西身上能获得安全感与主宰感。不少姑娘一见到小猫小狗小人儿就会迫不及待的搂抱,然后就是很嗲的说好可爱欧~,简直听得人阴毛乍竖。要知道有时候可爱和憨态可掬的潜台词就是弱智。猴子也好玩,喜欢的人就少多了,因为灵长目动物够机灵,经常是耍猴不成被猴耍,那些人没有驾驭猴子的自信。同理,喜欢小孩的也是因其单纯缺心眼与不谙世事,在他们眼里,小孩跟小动物没有本质区别,都是四条腿走路,露着屁眼随时拉撒。如果遇到一个小天才,3岁就会心算三位数乘法或者知道傻逼二字的正确写法,她们一定会骇破了胆。所以那些喜欢养猫狗的女士们别再标榜自己有爱心了,你们其实非常缺德。我从不喜欢猫狗,这是因为我敬畏大自然的生灵而不忍戏弄它们;我也不喜欢小孩,因为我把他们当作一个大写的人而不是小畜生看待。

大家不喜欢牛顿的另一个原因是他性格暴戾乖张。长年在他身边的人回忆说,牛顿在人前只笑过两回,其中一次还是嘲笑:有人问他,欧几里得的《几何原本》那么老朽,不知道还有什么价值。牛顿闻听放声大笑。而且他人品太差,跟谁都打架。众所周知他从小就有校园暴力的记录,胖子同学不小心踩了他的风车,他抬手就把胖子打哭了,我们的教科书居然说这是他有志气的表现。长大了不以拳脚论高下,他就雇用枪手大骂莱布尼茨,甚至不惜化名亲自去骂,人品至此真是无以复加。莱布尼茨若不是脸皮厚早就跟纳什一样疯了,而且牛顿肯定会拍个片子叫《丑陋心灵》继续恶心人家。

关于牛顿的另一个谎言是他的谦虚,证据就是牛顿老师说过两段著名的话,一段是站在巨人肩膀上,另一段是海边捡石头子。这确实很有迷惑性,我第一次听说时感动的直冒鼻涕泡。但任何话语都是有语境的,巨人肩膀那一句的语境是这样的:胡克其实早就发现了万有引力定律并推导出了正确的公式,但由于数学不好,他只能勉强解释行星绕日的圆周运动,而且他没有认识到支配天体运行的力量其实是普遍存在的,是“万有”的。第谷早在100年前就发现了行星的公转其实是椭圆运动,开普勒甚至总结出了行星运动三定律。所以科学界对胡克的成果不太重视。后来数学小狂人牛顿用微积分极其圆满的解决了这个问题并把他提出的力学三条基本定律成功推广到星系空间,改变了自从亚里士多德以来公认的天地不一的旧观点,被科学界奉为伟大的发现。于是胡克大怒,指责牛顿剽窃了自己的成果。牛顿尖酸刻薄的回敬道:是啊,我他妈还真是站在巨人的肩膀上呢!这本是一句反语,至少不是真的想客气一下。几百年后罗永浩说自己只是站在巨人的肩膀上也是这意思。但后人出于塑造完人的目的,只保留了孤立的原话而去掉了语境,变成了一句彻头彻尾的谦辞。同样的情况出现在另一段话上:牛顿晚年因为树敌过多,来自欧洲大陆比如法德的一些新锐科学家质问他:“牛顿你丫牛逼什么啊?”牛顿此时完全的展现了他科学界大宗师的风度与水平,借助与孩子对话的机会潇洒的回敬道:“我没有什么牛逼的。我只是一个在海边独自玩耍的小孩,偶尔会为捡到几个美丽的贝壳而欣喜若狂,却对面前浩瀚的真理大海无所察觉。”意思是说你们他妈的连贝壳都看不见有什么资格评价我?几十年的官场毕竟不是白混的,牛老师甩片儿汤话的水平已经到了信手拈来闲庭信步宠辱不惊的境界,所以我们只记住了这一段优美至极、深邃如同诗歌的话语。

牛顿老师人品差,不谦虚,没朋友,按现在的说法这是典型的高智商低情商,事业不会成功。但我们也发现,当智商高到一定程度的时候是可以取代情商的。所以那些说自己情商低的所谓天才们,你们没成功只是他妈的还不够聪明而已,怨不着人家情商。要知道牛顿是个遗腹子和早产儿,出生时体重不到5斤,没吃过DHA和RHA配方的奶粉。亲娘改嫁后跟文盲姥姥度过无聊的童年,没有任何的早期智力开发和学前启蒙,7岁上学以前脑子里空空如也,牛妈妈对他的期望仅仅是认识点字然后回家务农。但是牛顿上中学后已经熟练掌握了拉丁语希腊语西班牙语和英语,然后被推荐进了剑桥,20出头就当了卢卡斯教席的终身教授。如果他能活到今天,我一定会请他当熊博网的形象代言人兼吉祥物。

晚年的牛顿除了升官发财再无其他骄傲之处,而且官迷心窍,没退休一直干到85岁寿终。当然他并没闲着,写了150万字的神学著作跟上帝猛掏心窝子,同时坚定投身化学事业,在家里盖了窑子,拿出年轻时搞物理的劲头玩命试验。但这次他的出发点就错了,总是希望从黄铜和煤渣中提炼出黄金。要知道化学反应只能改变分子并不能改变原子,能给原子做变性手术的只能是核反应。他违背了化学定律里的物质不灭原则,所以虾米了。

最后,说两段悼词。一段是他的墓志铭:

伊萨克牛顿爵士

安葬在这里

他以超乎常人的智力

第一个证明了行星的运动与形状

彗星的轨道与海洋的潮汐

他孜孜不倦地研究

光线的各种不同的折射角

颜色所产生的种种性质

让人类欢呼

曾经存在过这样一位

伟大的人类之光

另一段是英国诗人写的:自然和自然的规律隐藏在茫茫黑夜之中。上帝说:让牛顿降生吧。于是一片光明。

不知道为什么,这两段总是让我有点感动。

Posted in | Comments(0)»

搞了一个留言板 六月 15th, 2009

google app engine 的后台

开头IE6读XML死活出问题,咋整都不行,后来发现是IE6处理HTTP header有问题,gzip和no-cache同时出现flash player就报2032错,这个问题N年之前就有了,到现在MS也不解决。。。

吐XML的时候加上:

self.response.headers['Cache-Control'] = 'no-cache, no-store, must-revalidate, max-age=-1'

就行了。

http://testandtestandtest.appspot.com/

由于工作关系,我最近搞一点Silverlight2的开发。

以前没了解过这方面的东西,今天一搭建SL的开发环境才发现,微软的目的就是把开发者逼疯。Adobe无论是flex builder,flash cs3,cs4还是flex sdk,基本已安装就能用了,你们猜搭建一个SL的开发环境需要安装多少东西?

这个就是严格按照silverlight.net上的说明下载并安装的东西,其中还不包括SQL server express, .NET frameworks 3.5 sp1那些必须安装时候下载的恶心玩意,整整下载了一个上午啊。。。。

Posted in | Comments(0)»

http://www.visiblemeasures.com/

这个网站可以提供流媒体视频托管,并且对用户的访问做非常详尽的统计,这是我在别的网站没见过的。

这种视频播放的统计我觉得是一种非常大的创新。

牛逼!

http://microsites.audi.com/vdt-onlinespecial/html/popup.html

粒子组成一个汽车模型,效果相当强悍。开头以为这是一个牛逼的粒子3D引擎,研究了一下其原理,发现结构非常简单:

用某种3D引擎构建一个世界

把奥迪车、发动机等等3D结构所有点的坐标全部保存在XML文件里,然后让这些点构成这些模型。

一点技术含量比我想象要低,而且有比较繁琐的工作:比如批量输出这些点的坐标,我不懂3D建模软件,不知道这样的工作会不会比较麻烦。其次是要做到几种模型之间的粒子的无缝切换,所有模型都是用同样数量的粒子,所以我觉得这个工作还是比较麻烦的。

按照我的设想,拿PV3D为例,应该创建一个比如DotMaterial的类来渲染整个模型,当然这样做可能效率上没有奥迪的这个高。