今天又去参加合一教会的圣诞联欢会了, 支持一下铁杆球搭子 - 华仔童鞋. 借着这样的机会多接触一些各式各样的人.不过还是很内疚, 目前还没有皈依, 让有些人失望了.
之前和同事聊的时候, 曾提过"新兵训练营/群英会更像是一种仪式", 通过这样的仪式可以让人不知不觉信了,不知不觉的执着(或者执迷不悟). 其实人的情感是很脆弱的,当仪式很神圣的时候人们会很自然地把自己和自己以后要做的事情想的很神圣 - 不知不觉的被同化. 而一个人觉得仪式有多神圣是和他的生活经历/背景/教育程度相关的. 当然仪式还有问题是 - "当场有效", 回家后该怎么做还怎么做.
我经常会问教会的兄弟姐妹们的是"为什么要信",有一定经历的人会说是在他最困难的时候听到了神的感召, 比较年轻的人会说"觉得很神圣","和家里人一起来的", 有时候 我倒很想听到"没有为什么,就是信"这样的答案.
(摘自:http://www.williamlong.info/archives/2907.html)
理解人类的需求并提出解决方案:
- 1. 沟通——与人建立联系的能力,能够同他人亲密的交谈,并有勇气去尝试分享自己的观点。
- 2. 意图——从谈话中提取有用的信息,理解并使之有意义。
- 3. 逻辑——为不懂让步的计算机整理、剔除那些人类思想中含糊而有争议的内容。
- 4. 创造力——挖掘、转变人类的想法,从而创建优秀的解决方案。
- 5. 构思——利用人类友好的接口和便捷的互动性来包装编程思想。
- 6. 大局观——清楚解决方案是如何适应全世界的用户、企业以及其他,从而使你的程序更有用。
告诉计算机该做什么,并建立解决方案:
- 1. 逻辑(再次强调)——把程序员的想法组织整理成有凝聚力的软件思想和计算机指令
- 2. 技术——发现并理解科技黑箱(对于99%的人来说是黑箱)。
- 3. 编程语言——学习美观的、富有逻辑的、清晰明了的语言,从而把程序员的想法提供给电脑。
- 4. 算法——精通让计算机完成任务最高效的方法。
- 5. 建模——在软件代码中建立抽象和模型,从而掌握并操控想法。
- 6. 实践(比如代码重构、单元测试、持续集成)——周期性活动,以保持系统可靠、健康与可改变。
面向人类和面向硬件对象/系统的程序员有很大不同。
不与人沟通的程序员不是好程序员。一个优秀的解决方案需要计算机世界与人类世界的双重技能。只有连接起两个世界,才能成为一个真正的优秀程序员。
一座安静的海港城市,也是我对越南的第一印象。
一直以来对南亚和东南亚国家都有一些蔑视,也许是因为对历史的一知半解加上一直以来的愤青情结加上一些不自信导致的自大情绪。来之前抱着“比朝鲜好一点,比咱发展晚十年”的先入为主。
可到了岘港,貌似有了不一样的发现。随处可见的wifi,干净整洁的街道,原始淳朴的人们,休闲的生活状态。虽说也可以看到建筑工地和破败的房子。也许仅仅是因为不一样?表面的不一样?也许是拿上海这样的大都市和旅游城市比较不太合理,但想想那些国内的中小城市,走在路边看到最多的也是混凝土的颜色,而岘港不是。走在街边总是很有看头,一副欣欣向荣的样子。
去看了阮氏皇朝最后一个皇帝的陵墓, 和故宫, 所见所听感觉越南历史就是一个缩小版的中国,无论是那个自称故宫但规模赶不上清朝王爷府,还是那个软弱可悲的"末代皇帝".
当我们抱着优越感调侃着那位普通话不标准的导游时候是否应该低头看看自己, 我们的优越感来自哪里?
OK,也许仅仅是“不一样”。
--补发
算不上技巧,只能算一些原则。摘自:http://www.addedbytes.com/online-marketing/ten-ways-to-improve-your-website-conversion-rate/
简单列下来(和原文一样,从后往前列)
10. 让用户用的爽
9. 清晰,开放,实事求是
8. 不浪费用户时间在一些不必要的信息和操作上 - 减少浪费时间的噪音
7. 帮助用户建立对你的信任 - 专业的界面设计/可以打的通的电话,甚至留一个地址
6. 有一个明确的退货政策 - 有这样的政策可以打消用户的疑虑
5. 让用户随时知道进度
4. 提供各种付费方式
3. 提升访客价值 - 推送相关产品和服务
2. 让用户记住你
1. 铭记你的USP(Unique Selling Point)
后续作者又补充了9条(有点务虚了)(http://www.addedbytes.com/online-marketing/nine-more-ways-to-improve-your-website-conversion-rate/)
9. 知道观众是谁,并保持沟通顺畅
8. 不要害怕犯错误/承认错误
7. 不要草率结论
6. 跟踪记录一切
5. 把持续改进变成习惯
4. 充分利用网站空间,但避免杂乱
3. 不要给用户制造障碍来使用网站
2. 谨慎使用折扣券/折扣码
1. 清楚你的定价策略
早想去看看猩球崛起,无意间看到可以在手机上选座,购票,支付。体验还不错,很顺畅.一直对这种线上到线下的服务都很感兴趣。
到了电影院,有专门的取票机,输入手机号码/取票密码,电子票直接打印出来。期间除了觉得票价和到电影院买的完全一样以外,没觉得什么特别不爽。
可是晚上回来就崩溃了,上邮箱截图:
不用这样吧!!本来挺好的从线下回线上的idea,就因为这么个小小细节毁掉了。

Posted
on 2011/11/12, 2:04 pm,
by zhangv,
under
技术(Tech).
《浪潮之巅》作者吴军的主题分享归来,是最近几年少有的有干货的分享。主题是 - “不做事”。浪潮之巅本身是一本绝对值得多看几遍的书,之前我也一直想知道硅谷到底有什么神奇的地方。遇到美国的朋友常常会问问,硅谷为什么是硅谷,中国的缺少的是什么。
记下比较经典的几个观点,有些观点可供参考,但并非全部赞同。
1. 不做事
砍掉应该砍掉的东西,什么东西应该砍掉 ? 低产出的项目和产品。说起来有点残酷,但这里有个前提,被砍掉项目并非是砍人,一个优秀的人自然可以找到好的项目发挥能量。这个应该和国企裁人是两码事,不应该上升到个人感情。
砍掉以后,focus
做事方法不重要,只要能够保证focus,“怎么做”可能取决于不同的vision,比如乔布斯做pc和盖茨做pc的套路就是两种,但都是成功的。因为二者的vision从开始就不一样,乔布斯想让所有人都有酷的,方便的电子设备,让科技走向大众消费领域,然后才是技术平台/生态圈;而盖茨就想让pc用起来爽,而且可以有很多应用,然后才是酷的,好玩的,炫的。基本可以说是帅哥和宅男的路数。
2. 捡西瓜而不是芝麻
虽说一看到这个标题我就很自然的冒出一句:“哪里有那么多西瓜啊!”
其实这个观点和“不做事”类似 - focus在有潜力/重要的产品上,但说回来,想要找到有潜力的点并能制造出壁垒避免被腾讯模仿,然后成功突围,在现时的中国还是有点难度。
壁垒是什么 - 先进的工具/管理理念,或者应该还有一个“牛逼的团队”
总的来说,从促进创新的角度来说,“边吃芝麻,边找西瓜”还是应该鼓励的。
3. 中国的工程师都是4流5流
吴军博士对工程师的定义很宽泛,本田宗一郎是一流工程师,Linus是二流偏一流工程师。。。我等鼠辈真是汗颜,距3流应该还是有一定距离的。三流的定义是可以定义产品并能带领团队开发完成。这样的在国内还是有一些的。不知道马哥是几流的?
其实到大可不必纠结自己倒是几流,认识到差距就是了。差距无非几个:1.耐性 2.表达 3.不畏惧权威(这个是我加的)
耐性在中国是一个很大的问题,真正能够耐着性子坚持的软件工程师不多,改善也没有多少。
美国的教育从小注重表达,无论是书面还是口头。这个和教育体系也有关系。
4. 未来的行业格局总是有历史可以参照的
每一波“浪潮”都必备的几种元素:
冤大头 - 最早的创意,先烈
主角 - 真正把握机会并垄断行业数年
千年老二 - 紧跟主角,无法撼动主角的位置,但依然可以活的不错
转型后居上者 - 从其他行业跳过来,通过不同的扩张手段站得一席之地(促进了不同行业间的互相换血)
小配角 - 模仿者,跟风者,企图通过微创新撼动主角地位的,
期待下一期!
Posted
on 2011/10/26, 2:05 pm,
by zhangv,
under
技术(Tech).
面向对象和是否使用充血模型,是两个概念,不存在冲突。
如果使用充血模型,你的代码读起来就好像:今天他来了,然后他死了。 - he.goto(Place,TrafficTool); he.died(DeadReason);
而贫血模型的话,读起来就像是:一辆大巴载着他来了,然后死神带走了他。 - bus.taketo(He,Place); death.takeaway(He);
“他”就是模型,在整个编程模型中怎么理解他至关重要,否则在开发团队里就存在混用的情况。用哪种模型完全取决于个人喜好。
一般充血模型比较适合逻辑不是很复杂,比如大多数都是单表,不存在复杂的关联的情况。贫血模型的使用范围比较广,用着也简单,但代码看起来多,而且读起来吞吞吐吐。毕竟充血模型需要在扩展时非常清楚合理地把行为定义到正确的模型上。
Posted
on 2011/10/19, 8:05 pm,
by zhangv,
under
技术(Tech).
今天听了york这位不老哥分享不老歌的点点滴滴,博客真的到了“尾”了吗?真的萎了吗?
觉得应该不是吧,也许这个时候才是博客本来的样子。
题目有点大了。其实也是自开始接触分类信息一直以来都在思考的问题引出的,这个问题就是信息的有效期有多长。
其实对于一条信息(ad),它对看到的人来说是否有用,取决于很多内因和外因,内因如物品本身的特性如新旧程度,价格,耐用品还是消耗品等等,外因如所在城市消费水平,所在城市的物流发达程度等等。举个例子,对于二手电子产品来说,一方面主要取决于人们更新换代的速度(这个速度又和消费水平/年龄结构/流行趋势),另一方面则是人们的接受程度。光这两个方面就决定了二手电子产品只有在大中城市才会比较发达,因为大城市的人口集中可以产生足够量的二手物品进而促进二手市场的繁荣,人口层次多样决定了有大量消费二手物品的人群,人们对电子消费品的认知程度也决定了更新速度较快,物流发达也便于快速/低成本地获取。以上是从外因来看的,内因比如,物品的价格定的过高可以直接导致信息的“短命”。
所以对于不同类型的信息,不同的城市产生的效用也是不同的。
“效用”一直以来都是一个很难衡量的东西。所以信息有效期也许是一个有意义的点。所谓有效,即信息从发布到最终成交的时间长度,因为分类信息网站不容易获得用户的成交/因此“信息超过N天没有人浏览”也可以视为成交。(这个N天也同样取决于物品的一些属性)。而分类信息网站要做的,就是要合理的分配展示时间给信息,同时尽可能保证信息和他所具有的寿命是匹配的 - 短命的信息要让他快速销毁或消费,生命力比较强的信息要保证在较长的时间内都能被合理的展示给有需要的人。
拍脑袋想了一个模型,有待进一步分析

成交时间为平均成交时间比各影响因素和。这里假定所有因素之间是独立的,不会互相干扰。未完待续。
Posted
on 2011/08/18, 1:30 pm,
by zhangv,
under
技术(Tech).
今天和同事讨论代码测试覆盖率时候想到一个问题 - “覆盖率到底多少时候才合理?”
其实没有简单的答案。比较赞同这篇文章作者的观点。
极端情况下,如果行覆盖率达到100%,那意味着分支覆盖率/路径覆盖率都达到了100%了。
但事实上,只要行覆盖率没达到100%,你永远不知道分支/路径覆盖率达到多少了。但至少可以通过对代码复杂度(分支密度)估计这两个比例。
二者的关系应该是这样的:

所以,最简单的答案:代码覆盖率不可能保证不出bug,也无法作为衡量生产力的指标。覆盖率尽可能保持在80%,才可能保证一定比例的分支覆盖率。举个简单的例子:你创造了一片森林,用户每天从里面进出,森林里的路如迷宫一般复杂,那就有50%的路是我们没有检查过,但用户天天都在经过的。