愤青

民智未开:Google 靠什么赚钱?

前两天看到一个微信公众号的新闻,内容是微软时隔十多年,重新回到市值第一的位置,因为跌的少,超过了最近在大下行趋势下跌的更多的苹果和 Alphabet(Google 现在的母公司,其实就是以前大家意义上的 Google),下面不知何故扯上 Google,有人说「Google 靠广告赚钱」,然后就有脑残粉跳出来说「那些说 Google 靠广告赚钱的是把 Google 和百度混为一谈么」,以及「谷歌推动人工智能投了多少钱等等等等」,看完真的是气笑了,民智未开啊

有很多脑残粉,真的是一粉顶十黑。Google 在很多技术领域有卓越的贡献和引路作用,也提供了非常好的服务,但作为一个盈利性的公司,目前他的主要收入来源和商业模式确实就是广告。广告本身不是什么坏东西,笨狗做过几年互联网广告算法,个人理解广告的本质就是一种信息,至于这个信息是真是假,以及是否是推送给需要的场景,那是广告审核和广告效果考虑的问题。说 Google 靠广告赚钱,真不是要抹黑脑残粉心中的圣殿,而是事实如此,Google 的财报,新员工入职的培训等,都主动明确的阐述了自己的主要收入来源是广告

关于商业模式真的也挺有意思的,互联网其实就只有这几个主要收入方式:1) 广告;2) 增值服务;3) 实体售卖;4) 虚拟物品(游戏)。广告其实是绝大部分互联网企业的收入方式,包括 Google,Facebook,YouTube,微博,阿里巴巴等,这里可能出现了几个大家觉得奇怪的名字,后面会细说。增值服务拓展一下其实包括的内容挺多,包括服务订阅,比如 QQ 的会员,视频网站的付费会员,或按订阅付费的商业服务如 Office365。实体售卖比如纯粹的电商,低进高出,自己赚个差价。虚拟物品就像 QQ 秀(其实这个到底算虚拟还是算增值还有待商榷),以及各种游戏里的充值和物品

我们提到 Google 经常会觉得是人类之光的存在,但一个商业公司终究还是要活下去的,那么 Google 就是利用他的入口优势,在搜索结果里明示嵌入和当前搜索意图相关的广告信息,从而获利(AdWords),以及,把搜索结果扩展到各种其他站点的嵌入区域(AdSense),还有视频、地图等场景(YouTube)。之所以会有 Google 各种伟光正的感觉,一是 Google 的广告审核相对严格,不至于把各种虚假诈骗等信息堂而皇之的放出来,二是 Google 的广告匹配算法相对高效,确有其相关性,不至于很突兀,三是 Google 的广告展示还是相对克制,不至于一屏大部分都是广告而没有自然结果。再加上 Google 对国内市场也不占优,国人看到的广告的确少,所以道德婊们无法接受把 Google 和某些被唾骂的公司相提并论,事实上如果挂上美帝代理,搜英文结果看看更普适情况下的 Google,可能会让某些人大失所望

微博自己纯粹的广告体系不足以支撑那么大的估值,会员服务也不给力,必然会导致官方或大 V 有各种软广,比如热搜榜,比如大 V 软文带货,这也是社区无法避免的困境。Facebook 好在市场足够大,自己的相关度和效果跟踪也足够明确,所以还可以靠比较纯粹的广告体系提供营收,但一旦用户活跃度下降,市场压力下估计也难独善其身,这也是为什么现在 FB 在下行大环境下掉的比大盘多那么多,大家都有这样的担心。如果说看衰 FB 是杞人忧天,那么隔壁的 Twitter 总是个现成例子吧,看看过去的财报和数据,事实胜于雄辩

阿里对民众包装的都是个卖货的平台,除了阿里云这种企业服务,天猫收佣金,其他的大头也还是广告。阿里在 07 年的时候公开拒绝百度收录和提供搜索结果,所有的购物搜索还是从淘宝自己的入口进来,控制了入口,控制了流量分配,就决定了广告市场有多大。(事实上 07 年的事技术上挺难做到屏蔽,但公开喊话了百度也不太合适拉下面子去做这种还有点下三滥的事)

记得之前还在做广告算法时有位大神吐槽过「我们这个年代最聪明的人,不是探索未知星辰大海,而是竭尽所能让人们去点广告,真是可悲」,的确,因为互联网企业的高薪水,现在的聪明人大部分都去了这些互联网企业,很多人也确实在各种优化广告效果。对这个吐槽,反驳无能,像「只是为人们提供更匹配的信息服务」这样的理由还是苍白无力。公司和员工都还是要活下去的,金钱也不可能凭空生成,后面离开这个行业,多少也有点这个原因。现在做企业服务,就是帮人节省时间或人力,收取比他节省部分更少的服务费用,双赢,也更踏实

二缺运营配上苦逼程序员

前段时间情怀锤在假货淘上出了点事, 关注了的人应该知道大概是怎么回事, 为了方便笨狗吐槽, 再把事情简单说下

锤子手机在天猫上做预售, 让买家去预定, 页面上会显示一个当前预定人数
有好事者发现这个预定人数无论在什么时候都能被 3 整除, 而且新点一下预定, 页面上的数字会 +3 而不是 +1
然后有人翻页面代码发现是前端的 js 里做了这个 (order_num)*3 的操作

天猫那边开始调整, 中间还出现了 6xxxx.5 个人预定的情况, 被吐槽半个人是怎么来的, 应该是 *2.5 了
而且还有 *0 变成前端显示 NULL 人预定的情况, 最后这个地方变成了 (order_num)*1
发现事情闹大了盖不住, 天猫官方微博帐号发声明说后端丢数据, 程序员为了让数字看起来正常点自己乘了三

被愤怒的程序员吐槽扯鸡巴蛋并且翻出来金立等品牌这个地方也有乘系数等操作, 明显看是个模板配置
再然后有内部人士表示这个地方其实就是个可配置的公式, 运营就可以操作, 不需要过程序员和走上线操作
最后终于某高管私人微博帐号发个靠谱点的公告处罚了一堆人, 并且向程序员道歉, 当然还嘴硬只是显示问题

其实懂的人一看就明白是怎么回事了, 运营想获得一个更好看的数字, 就要求程序员在后端数字基础上做一个放大, 但是不同的时候放大系数不一样, 技术部门为了省事, 运营部门也想要更大的控制权, 就把显示的地方弄成一个可配置的公式

按阿里系运营才是老大的风格, 这事多半还是运营部门主动要求技术部门去做而且放开所有控制的. 不过阿里的技术那边也没做好, 比如居然能出现小数, 好歹也取个整吧, 比如乘 0 后前端显示异常, 这个也弄个最小值限制吧. 执行的运营也比较二, 乘三这个太容易被发现了, 你看看人金立, 乘个六后面还加个常数, 这边要是乘三加一或加二, 估计一下还没人能看出来, 当然, 乘七再加常数就更好了. 对运营的智商做乐观一点的判断, 可能他们还是考虑过为什么乘三的, 因为乘 2/4/5/6 更容易发现, 不过因为他们的智商也就只能数到六, 没有再往下试下 7, 也不知道在后面加个常数

这事被爆出来, 很大的原因应该是这次是给锤子做预购, 老罗一直满天下吹牛逼, 吹的很多人都路人转黑, 碰到出糗的时候大家都很兴奋, 虽然事后罗永浩说他们不知情是躺枪, 但是我觉得他们还是脱不了干系, 这事做成这样不可能不知道, 至于罗永浩本人是否提前知晓这个就不好说了, 反正作为一个喜欢看说大话的人出糗看热闹不嫌事大的笨狗, 表示老罗能吹出那么大的牛, 各方面也还是要做到无可挑剔才行. 至于金立什么的那才完全是莫名躺枪, 本来就是行业内的潜规则, 这下没得玩了

这一次的事情, 应该会让更多技术线的人, 在选择工作时会偏向非运营主导的团队. 因为在运营主导的团队里, 技术人员完全没地位, 运营说做什么就做什么, 说做成什么样子就做成什么样子, 长此以往, 技术人员自己也会变傻变钝, 比如这次如果技术还有点自己的思想, 就应该知道在满足运营要求的同时, 自己也不要对运营人员的智商有太高期望, 取整和校验还是要做下的

想起来以前在某家的时候的一次大事故, 也是运营配错个东西, 导致线上所有流量没有广告. 当时几乎整个公司相关的技术团队全部投进去查问题了, 还算快的响应, 半小时后技术这边查到是有 PM 配全局关键词黑名单的时候写了个 *, 就是所有的词都不行. 事后该 PM 也很牛气的说这个事情是我做错了, 责任都我来承担, 不过你们技术也有问题, 系统上也不做下校验就把我这么放过去了. 看看, 技术从来都这样好事轮不上, 出事要背锅, 当然了, 这次事故里技术那边做这个黑名单系统的时候加一些校验也还是有必要的

类似的需求一开始的时候多半是临时需求, 说做完以后就不用了, 所以先短平快搞个能用的. 等后面发现临时需求变成长期需求时, 现在系统能用, 再去完善的工作算不进 KPI, 那也没人有兴趣去搞, 反正之前的需求方自己也知道细节, 不会出事. 等需求方那边换人后有一些细节可能没交接好, 那就要出事了, 比如公式里一定要全部是整数操作等

扯了这么多笨狗想说啥? 一是团队里技术要有发言权要有地位, 而且这个地位要自己不断用事前正确判断来证明自身争取而来, 自己不去想只管做傻事那也别怪自己没地位; 二是不合适的 KPI 文化会害死人, 比如技术因为不算 KPI 不会去完善临时转长期的系统, 比如运营会为了 KPI 数字毫无底线的造假; 三是阿里系和锤子的品德还是有问题, 脑残粉会说做到这样已经不容易了你看看行业内其他家做的更脏, 笨狗的观点是你自己说成什么样就要做成什么样, 别管别人脏不脏

最后来个段子吧

上天猫, 乘以三, 就够了

换位思考

有个很有意思的现象, 就是说不管是怎样的人, 温文儒雅的男生或是温柔知性的女性, 一坐上驾驶位, 立马就会变成悍匪和泼妇, 另一个说法是司机们眼里其他司机只有两种, 比我慢的傻逼和比我快的二逼

我自己开车几个月了, 感觉大部分情况确是如此. 当我们是行人或骑行者时, 经常会抱怨车不让我, 车乱开, 雨天溅人一身水等等, 而在驾驶位上的时候, 经常痛恨的又是那些不按标线和信号灯过马路的非机动车, 随时可能乱冒出来的行人. 其实多去换位思考下, 可能就没那么多问题和纠结. 自己还是尽量做到以下内容, 希望诸位司机和行人共勉

司机角色

多看行车标线, 不随便变道, 特别是去不熟的地方, 提前在导航上做下功课, 提前看好各种路牌, 要变道事先准备, 避免急匆匆变道被人滴甚至被人撞上

不野蛮开快车, 也不开太慢挡住其他人, 高速或快速路上开慢了挡住后面人一是让人烦心, 二是其实反倒不安全, 自己如果慢, 自觉去右侧道, 把左边留给要超车的人

绿灯了赶快起步给后面人拉开空间, 杭州大部分交通灯都有倒计时, 提前挂档准备松离合走人, 节省宝贵的绿灯时间, 提升通行效率

停车时多考虑下经过的车和前后左右别的停着的车, 不要让其他车以非常难受的姿势从你身边擦过去, 另外也考虑下停车位置旁边车经过的速度, 速度快的地方多留点空, 后视镜能叠起来就叠起来给其他人省空间

尽量让行人, 经过时减速, 在路口和公交站附近多留意随意乱穿马路的人, 特别要注意小朋友和女性, 尤其是还在打电话或玩手机的, 切记不要用常规思路去理解还在吵架的情侣 (最后这一条是开车以来唯一一次差点撞上人, 一对吵架的情侣从公交站前非斑马线横穿, 走到一大半又突然折返, 防不胜防)

行人和骑行角色

行人走路边的人行道, 骑车时走非机动车道, 别跟汽车去抢. 骑车如果被逼的走机动车道了, 尽量靠边让车能从你旁边安全经过, 不要非得让车需要擦着你过, 有能转进非机动车道的机会立马转进去, 命比速度重要多了

过马路走斑马线, 看自己的灯, 并留意机动车的绿灯情况, 红绿灯还分左右转等方向性的, 不要随意看到个绿灯就过

多左右看, 保持自己是匀速直线运动, 不要突然冒出来或停下来, 汽车其实没法很快刹住, 而且突然加减速会让车很难受, 司机一般不会喜欢在你面前玩个急刹然后烧胎起步的

不要站路上让车很难受的位置, 比如支路路口的正中间, 让车从你左边或右边过都很不爽, 没事往旁边站一点, 方便他人, 也让自己处于更安全的位置

路上就尽量别低头玩手机了, 打电话也长话短说, 多注意看四周环境, 雨雪天时司机的视野下降很厉害, 自己打着伞也多回头看看, 新交规更保护行人, 但最好也别被用上相关条款, 用上一般都是出事了

举手之劳, 顺势而为

凑个热闹, 点评下微信送红包收获这么多绑定的银行卡, 手段远好过支付宝的事

在我看来, 二马最大的不同, 一个是在努力创造需求, 一个只是在帮人解决已有需求. 无论是双十一, 还是双十二, 抑或是现在全员 all in 在推的来往或淘宝无线客户端的航母版, 无处不是在努力的创造需求设定目标让大家去做某件事情, 去玩游戏抢红包制造日均活跃用户, 去刻意制造一个购物狂欢节, 去画饼描绘用户需要的各项功能然后去提前实现结果发现没市场又要努力推, 最后搞的自己人全员神经衰弱, 局外人凑过热闹后就再无兴趣. 反观微信, 极少有在刻意推自己的新功能, 更多的时候使用过程都感觉是这个功能我需要, 而微信恰好有, 一些放到别的产品本该大力推的特性微信反倒一直在打压, 比如功能明显受限的朋友圈, 入口还藏那么深

从知乎 微信红包的产品经理是谁 这个回答上看, 这似乎是微信无足轻重的一着棋, 但真的要让这个功能能用, 财付通后面应该也是做了很久的蓄力, 不然银行卡不可能可以被绑上. 腾讯推什么似乎都不会那么刻意, 但又感觉排山倒海势不可挡, 这种企业太可怕了. 相比较另一边总各种咋呼, 让员工鸡飞狗跳诚惶诚恐, 路人被吸引眼球围观下然后就走掉, 虽说媒体效果非常棒, 但最终收获和世人口碑未必能有多好

之前听淘宝支付宝余额宝的故事感觉都挺好的, 都是先有需求, 再有产品, 或两者在同步前行. 现在不知道是盘子大了人多了要找事, 还是只是为了上市在酝酿故事, 某厂各种揠苗助长急于求成, 当然可能换个思路是未雨绸缪, 可能只是我多心. 笨狗提醒下注意人心向背, 不然可能要坏大事, 反正我是跑了做别的去了, 帮人发财就能自己发财

广告从业者的良心

最近又回到做计算广告的路上, 在重新熟悉和看问题时, 想起来曾经看过这么一句话, 大概是 Facebook 的某技术高管离职时说的 “我们这一代最聪明的人竟然都在这里思考着怎样让人们去大量的点击广告, 真衰” (翻译的总不太对味, 原文是 “The best minds of my generation are thinking about how to make people click ads.” by Jeff Hammerbacher, 大家可以去搜下原文看看前因后果). 我个人对这句话也还是有一些不一样的看法, 倒不是反驳或辩解, 只是从我的角度来看看为什么会造成这样的现状

我们先跳开这句话, 来说说现在我们这个圈子里最聪明的人都在哪, 很多人第一反应都是说去了 Google, Facebook 这样的商业公司, 或者曾经是 NASA, Bell Lab 这样的实验室, 那既然是商业公司, 公司必然先需要活下去, 那就要去获得收入, 而实际上, 绝大部分的互联网公司的收入都来自广告, 这应该也是不争的事实. (互联网盈利主要有 广告, 增值服务, 游戏, 电商等, 在国内游戏是很大一块, 但是全球无论何处广告也都是压倒性多数的一部分, 很多光芒四射的创业公司不做广告, 可能只是他们还在烧风投的钱在攒用户, 还没到把资源变现的那一步而已) 去看看大公司的财报, Google, Facebook, 百度等公司的收入大部分来自广告, 微软目前可能还在靠企业应用和游戏, 但是互联网业务群也有广告盈利的压力, 国内腾讯网易等早转型为主要依靠游戏, 阿里系有服务费 (算增值吧), 但是广告也还是相当大一部分. 综上, 至少可以得到一个结论, 广告是生存之本, 是必需品

很多理想主义者还是会说那我们能不能只要维持公司的基本收入, 然后让更多聪明的人去做造福社会让人类进步的工作, 比如 Google 怎么去提升搜索质量, Facebook 怎么去让 SNS 更好用. 这样的模式不是没有, 比如维基百科, 就一直没有放广告, 而是靠捐赠和全民编辑, 但这毕竟是少数, 而且商业公司还需要追求利益最大化, 所以聪明的人去优化广告效果提升收入也无可厚非. 这是偏阴暗的理由

我想说的重点更多的是阳光的一面. 广告的本质是什么呢? 是广而告之, 是希望让一个特定的受众群获取一条特定的信息, 且希望受众采取一定的后续措施. 比如超市的广告希望告诉你他们在促销, 你们快来买. 这个信息之所以需要通过广告的形式送达到听众那, 就说明走常规的途径是到不了的, 广告商希望付费去送达信息, 而对收到广告的人来说, 如果这条信息对他有用, 而如果没有广告他就没法获知, 那这条广告就应该有正面价值. 实际上每个网民耗费在网络上的时间是无法被广告公司和广告商所左右的, 而这些时间内他们看到的广告也应该是一个相对固定的量, 我们计算广告的从业者, 提升的本质并不是用户看广告的数量和时间 (即更多的广告), 而是这些广告里对用户有用的比例要更高 (更高的广告点击率), 当然从另一个角度说, 广告看多了其他内容就看的少了, 但是如果这些广告信息确实是有用的, 那和其他内容比, 对用户产生的影响谁好谁坏还说不好吧

有很多信息, 没法通过自然信息流 (比如用户的固定订阅, 习惯性的浏览) 到达目标用户那 , 例如有限定的优惠, 新出现的内容, 那就需要广告在正常流程外给出合理的送达渠道. 我记得我最早踏进计算广告这个圈的时候, Google 在 AdSense 上给 wikipedia 做了很多免费的广告, 比如 “世界上最大的哺乳动物是什么? — 来维基百科查看”, 这样的广告我觉得很好, 因为我对这样的信息是感兴趣的, 对维基百科来说也很好, 因为他们作为一个新兴事物, 需要更多人的了解和关注, 对 Google 而言, 他们一是在做慈善 (免费给维基导流, 不然这些广告位也可以拿去赚钱), 二是避免自己给用户出不合适的广告影响特定网站上的用户体验 (相对而言维基的广告没有什么指向性, 不会让用户反感), 这是一个四赢的局面 (用户/广告商(维基)/广告中介(Google)/放 AdSense 广告的网站), 也是计算广告从业者的奋斗方向. 多说一句, 当时百度的网盟广告也有一定的比例在给百度百科导流, 虽然也赚不到钱, 但是还是有只分东西给自家的嫌疑, 所以没拿出来当完全正面的典型好好夸

如果只是让用户通过正常渠道获取到自己该获取的信息, 更多可能是一些循规滔矩的工作, 而在更激进的渠道上, 让多方的信息获取送达更高效合理, 听起来会更有挑战一些, 而且广告跟收入也直接挂钩, 很多改进可以非常明显的反应在账面上, 带来的成就感可能也更直接. 这是我个人的经验和看法, 所以我觉得当今世界最聪明的那拨人里有很多在做计算广告也是一个合理的状况. 另外, 我认识的计算广告从业者大部分还是很有节操良心未泯的优秀青年, 当然整个圈子里还是有一些让人无奈只能呵呵的存在, 我们不喜欢的是

1. 想办法收广告主钱但是没给他们带来收益
– a) 投递给错误的用户, 没给广告主带来希望的影响受众 (违反广告宗旨一或二, 特定受众/特定信息不符合)
– b) 诱骗用户点击, 实际上没法产生后续行为让广告主获利 (违反广告宗旨三)
– c) 玩弄游戏规则, 让广告主花更多的钱干更少的事
2. 助纣为虐, 违法乱纪 (赌博, 色情, 欺诈网游)

这些事情可能有法律管, 但是至少国内的法律在这方面是相当不健全, 除了违法乱纪的可能有点约束力, 其他都只能靠从业者和老板们的良知了. 目前我在的这个地方, 虽然技术上可能比其他地方要弱, 不过好在良心还算可以 (至少我能看到的范围是), 所以还是值得回到这个有意思的圈子来. 以后的工作中还是要勿忘初心, 有节操的去改善人类信息获取的方式. 与君共勉

租房提取公积金流程记录

更新 2014-09-30, 因政策变化, 本文部分内容已不适用 (新闻来源: 人民网: 北京提取公积金无需购房合同 租房可3月提1次)
更新 2013-04-18, 发票和租房合同原件已取回
更新 2013-03-28, 钱已到账, 发票暂未取回

大约半年前发现公积金放在国家那是不划算的 (计算方法见最后), 所以一直想着把钱盘出来, 最近完成了提取的大部分步骤, 把过程写下来供他人参考

步骤和注意事项
a. 开租房发票和完税证明
a.1) 房屋所在区的任一地税或代征点办理, 代征点一般几个小区就有一个
a.2) 带上 1/2/3/4/7/8 去, 交租房合同上总租金的 5% 税费, 一般都只收现金, 得到 11/13
a.3) 注意发票的付款人是租房人, 收款人是房东
a.4) 注意完税证明的纳税人名称是房东
a.5) 注意发票上的租房时间和合同一致
a.6) 注意发票上项目只能是 “房租”
a.7) 注意发票上总额除以租房月数后是整数
a.8) 房产证在最近一年及发票上租房周期内没有其他租房提取记录
b. 在中智办理支取手续
a.1) 中智在汉威大厦 27 层 4 号窗口
a.2) 先在后面电脑上提交电子申请, 桌面第三个快捷方式, 点打印 (实际不用打出来) 后再提交
a.3) 提交 1/2/3/4/5/6/7/8/9/10/11/12/13/14/15 给窗口工作人员, 验证后当场返还 1/3/5/9
a.4) 据说 7/11/13 办妥后由驻公司的中智员工还我
a.5) 每月 20 日前办理当月的申请, 月底到账
a.6) 提取人最近一年需没有提取记录

所需材料
1. 房东身份证原件 (a/b 用, 验证后当场返还)
2. 房东身份证复印件 (a/b 用, 收走)
3. 房东房产证原件 (a/b 用, 验证后当场返还)
4. 房东房产证复印件 (a/b 用, 收走)
—- 如果房产多人所有则需每个人的身份证和房产证原件复印件
5. 租房人身份证原件 (b 用, 验证后当场返还)
6. 租房人身份证复印件 (b 用, 收走)
7. 租房合同原件 (a/b 用, b 处收走, 办妥后归还)
8. 租房合同复印件 (a/b 用, 收走)
—- 非中介用合同建议用北京住建给的模板, 没用的可以删掉, 关键是要有房东和租房人信息, 房屋地址, 租期, 租金这几个
9. 支取用银行卡原件 (b 用, 验证后当场返还)
10. 支取用银行卡复印件 (b 用, 收走)
—- 不强制要求公积金联名卡 (反正是一年一次的操作)
11. 租房发票原件 (步骤 a 获得, b 处收走付款人一联, 办妥后归还?)
12. 租房发票复印件 (b 用, 收走)
13. 完税证明原件 (步骤 a 获得, b 处收走, 办妥后归还)
14. 完税证明复印件 (b 用, 收走)
15. 提取申请书原件 (b 用, 收走)
—- 中智的在这里下载

提前支取的理由和其他的一些感慨
公积金中心的计息方法是: 当年缴存的公积金按活期利率算存款利息 (目前是 0.72%), 去年及之前的按三个月定期利率算存款利息 (目前是 2.75% 左右)
一般的投资收益应该在 4% 以上 (随便哪个银行的理财产品都不会低于 4% 吧? 这还是最稳妥收益最低的)
提取公积金要交的税是 5%
所以, 如果一年半内不买房, 花 5% 的手续费 (税费) 把钱取出来做投资, 一年半内能回本 (如果有其他更好的投资渠道回本时间更短), 而且钱放自己手里比放国家那显然更放心, 谁知道政策以后会变成怎样

感觉我办这坨事还算是没怎么折腾, 关键是有朋友肯借我房本和身份证用, 不然就算是正常租房, 一般的房东也绝对不会把这两样东西给你哪怕半天, 而且对应房本在这个时间段内还不能有其他租房提取, 所以现在中介帮弄都是要 15%~20% 的手续费, 他们租房本什么的也还是挺贵的, 而且都是把一个房本对应到好几个合租租房合同上去帮人取. 另外公积金中心不对个人, 必须是以公司或人才市场的名义去, 这应该也是中介手续费高的原因.

ps. 朝阳的公积金管的比较严, 中智卡的更严 (那个房东房本和身份证原件就是中智的土规定), 所以如果在海淀能取建议在海淀取了, 据某些中介说可以用买房等发票套出来, 最低的时候手续费只要 3%

12306 和火车票那点事

每年春运时铁道部和 12306 都要被喷死, 自己也和 12306 斗智斗勇了两三年, 这个冬天跟着 @scat 君折腾了很久, 随手写点什么说说这事.

提前说明我只是火车迷, 不是铁道部的人, 用不着帮铁道部把黑的说成白的, 我自己也有各种怨气要喷, 只是希望能提供一个相对客观的事实供大家来参考参考. 前半段跟喷子对喷和对 12306 的吐槽的会多点, 后面有一些胡思乱想的一些可能称得上是建议的东西.

喷子和不那么容易的 12306

然后以一个标准喷子的口气对那些说 12306 做的很烂随便找个本科生就能写的人骂一句, 去你大爷的什么时候国内的学生素质这么高你有多少我要多少; 再对一些所谓业内人士说的这种负荷找淘宝什么的能轻松解决的观点说句很抱歉, 这两个虽然在规模和突发性上有不少相似点, 但是还是有很多不一样的地方, 比如淘宝上一件商品如果有多件是无区别的, 而火车票一张就是一张, 有人买到上铺还不干非得换下铺, 而且这里面一张票就是一个锁, 而且淘宝超售了最多补货或退款, 火车可不是说加床或加位子就能加上去的, 而且要是先跟你说买到票了然后说不好意思超售了我们退钱给你, 不知道有多少人想直接穿过显示器把那边的服务器给砸了; 最后说说 12306NG 那帮人, 最近没关注, 一年前看了下那个论坛和所谓的发起人, 很可惜里面大部分都只是夸夸其谈一些自称砖家的喷子, 很多人估计都没做过百万规模的系统就敢各种意气风发指点江山, 这种人都能说出靠谱的整体解决方案和细节注意点来那就见鬼了.

喷爽了咱们来摆事实讲道理说说 12306 的各种不容易, 先说我们是怎么搞他的:

> 最早的 12306 基本上就是一个高校实验室的产品, 空闲时段可用, 用的也还凑合. 据说有收钱不出票的情况, 不过我还没遇到过, 所以不好评论. 退票的钱不是实时到账的, 快的几天慢的一个月我也都遇到过

> 等到了高峰期的时候, 开始各种登陆不上, 各种刷不开页面, 或提交不成功. 这时候最大的问题是带宽和前端服务器不够, 压根抢不到一个有效连接.

> 等把带宽问题基本解决后, 发现每一次页面加载都需要做太多次 GET 操作, 而且很多页面数据不优化不压缩, 虽然系统还用了 jQuery 什么的至少看起来算是跟上先进生产力的技术, 但是整体还是比较糙, 据说是用 CDN 和大量加机器来算扛住. // 不过到现在一次页面加载需要获取的资源还是太多, 而且一开始没做内部的负载均衡, 容易出现一个 ISP 解析过去都在少数几台机器, 所以同一地区不同 ISP 接入的速度会有明显差异 (比如北京联通用户多, 基本就卡成幻灯片, 用用户少的电信线路就相对靠谱点), 而且个人认为不少机器加的很浪费

> 有了缓存机制后发现一个巨坑爹的地方, 12306 似乎把后台实时数据和 CDN cache 在某些地方用反了, 比如余票等实时性非常强的数据反倒在前端有一个 cache, 平时还好, 但是高峰期放票瞬间这个 cache 就要命了, 如果你赶巧碰上一个更新较慢的 CDN, 估计等你刷到数据时票都被别人买完了 // 这个问题现在还是没有解决, 所以才有使用一些专线 CDN (比如传说中的海外线路) 可能会保证网络比较通畅 cache 更新也比较快的说法

> 等机器, 带宽, 缓存什么的搞差不多后, 开始有技术流的 hack 手段出现, 曾经有这样的刷票方法: 要买 2.3 的票, 但是还有几分钟才放票, 不确定自己是否一定能命中更新较及时的 CDN, 于是可以先查 2.2 的票找到对应车次的任意席位的票, 在填写乘车人信息时改 POST 请求中的参数, 把时间改成 2.3, 席位改成自己想要的 (比如硬卧), 然后强制提交, 只要到了放票时间, 不管自己连的前端服务器是否更新余票缓存, 都可以把这个请求提到后端进行处理. 这方法我用过, 很爽, 可惜现在被封了. // 封的手段是在提交订单时加了一个加密串, 发到站, 时间和车次必须和加密串对应才能提交. 不过这个加密串在同样条件下每次查询都可能不一样, 但是同一个验证码可以用无数次 (或者是一个比较长时间段内都可用, 没确认), 所以可以用大量的机器密集轮询 12306 不同的前端服务器获得对应的加密串, 一旦有这个数据就可以构建数据强制提交了. 此方法目前还可用且有人在用, 不过需要考虑 12306 现在开始限 IP 或限同 IP 的连接数了

> 12306 注册帐号需要提供证件号, 不能坑别人, 所以默认大家一人就是一个帐号, 同帐号只要有订单没完成, 就不能去下别的订单, 如果一次要买不同车的票, 那就疯了, 还好 12306 允许护照/港澳通行证什么的也可以注册, 谢天谢地又多几个帐号可以一起刷了, 果然办个护照什么的还是没坏处的. // 这个限制其实也能绕过去, 你收集一堆朋友的帐号给你抢一张票不就行了. 还有个更 ws 方法能很容易搞到成百上千的帐号, 个人使用怎么着也都够了, 具体方法还是不说了, 免得被封

> 能搞到提交所需数据, 也有足够的帐号去刷, 那接下来的问题就是怎么把能自动化的地方自动化. 各种抢票助手的原理大致都是做一个浏览器插件, 自动重试查询, 并且监控对应的票额, 然后把一些能自动完成的步骤自动完成 (比如点下一步什么的) // 这里还是有带宽的问题, 其实并不是每次都要把所有的流程都走完, 获取的数据也只要核心数据, 不少插件应该没考虑好这个, 还是对用户的网络有比较高要求. 另外 12306 也做了一些限制, 比如连续两次重试时间不能小于五秒, 偶尔也改一下 URL, 做个 302 跳转什么的. 不过整体而言这个封不了, 完全模拟用户行为, 后面的一些 hack 也基本是这个思路

> 一直到上一步, 应该说已经能将大部分操作自动化完成, 唯一的麻烦就是验证码. 12306 一直到 2013/01/25 用的都还是用一套非常弱的验证码, 字迹清晰颜色差异明显, 最关键的是字体似乎只有两种, 随便找个学过基本的图形学的本科生应该就可以搞定, 先做二值化提取出有字的部分, 然后做水平和垂直方向的投影, 按区块直接跟已知的单个验证码特征库最对比就可以了. 死猫君和其同伙用 C/C++ 实现, 能做到 1ms 一个验证码, 99%+ 的准确率, 12306 在这样的识别效率面前已经完全不设防, 想怎么搞就怎么搞. // 但是超简单的验证码已经从 2013/01/26 开始变成了一个相对复杂的, 原来的方法需要做一些优化才能用, 且识别率可能不那么高

> 就算验证码的识别率下降, 但哪怕只有一两成的成功率, 机器还是比人快的. 12306 的对策一开始是加浏览器参数校验, 如果是裸的 POST 请求就拒绝掉, 但是 http header 这种东西, 自己人肉走一遍流程把对应的数据扒下来让机器模拟还是毫无压力. 接下来 12306 是不停的改接口 URL, 虽然最后还是落到同一个处理接口上, 但是加上了跳转判断, 直接提到最终接口的会被拒绝, 到这就变成猫鼠游戏, 12306 改一次 URL 对应的机器行为就要跟着改一次. 估计是今年各种机器行为搞 12306 搞的比较疼, 虽然他们已经提供了超过一千个对外 IP, 也还是怕被这么搞, 接下来的一招是加了更严格的间隔时间限制, 这时候机器行为的成功率就很重要了, 一旦重试最少五秒就过去了, 而且有一些步骤加了很猥琐的隐藏等待时间, 机器提交太快会报错, 而慢一点接近人的速度就没事. // 最后那个限制真心无解, 不过对手快的人也是很伤的, 别人眼尖手快你还能不让别人买? 跟 @scat 吐槽说看来 12306 对他们的网络很有信心, 正常人五秒内是刷不开第二次或能提交上请求的. 另外机器重试时加个随机附加时间, 可以对人的行为模仿的更像, 这个 12306 没法做特征库来判断是人的行为还是被机器刷

> 攻防到这阶段, 两边基本就没什么办法了, 不过 12306 干了件更 NB 且 WS 的事情: 同 IP 限制登陆人数和封 IP. // 不知道 12306 怎么判断的, 反正 jike 他们那种抢法绝逼是要被封 IP 的, 但是很多企业对外出口就一个, 要赶上员工集体抢票, 结局就是集体悲剧, 反正我在公司悲剧过几次 -.-|

目前拉锯战就到此, 如果是真的搞技术的人, 要是自己的产品成天都在被一群这么蛋疼的人这么玩, 估计早就疯了, 所以说 12306 今年系统一直还可用 (虽然还是会卡还是没有票), 且一直在增强防御, 还是挺不容易的

关于 12306 和铁路客运的吐槽及建议

前面在同情了半天 12306 后还是吐槽没票这个现实, 没票的最大原因还是运力不足, 大家都想过年前一天到家, 那单日发送量必然爆表, 但车就那么多, 只能靠抢

运力不足有一些变通的方法, 比如加挂车厢, 动车重联等方式来提升已有运力, 这个大家都很爽; 比如卧代座 (硬卧车厢当硬座买, 一节车厢大概多卖 20 来张票), 这个大家也觉得还好, 遇上比较 nice 的车上铺还能爬上去轮流躺着睡觉; 比如开临客, 这个似乎就不那么灵光了, 大家对临客的印象还是又慢又破的绿皮车, 经常让车和晚点, 殊不知现在连高铁都有临客, 只是不挂 L 的车次, 临客最大的问题还是时间不好, 一般都半夜出发或到达, 除了这个其他都还好, 我坐过北京到南宁的临客, 空调车人也不多, 除了慢了点其他都巨爽; 比如提升车底周转率, 普速时代最多就是把长途车到终点后再开个短途, 把到下一次发车前的这段间隔用起来, 这个意义好像不大, 而且本来车还是要整备的, 但是动车和高铁时代提升周转率就很有意义了, 同样的北京到武汉 1225 公里, 一路不停按 250 的速度要至少五个小时, 但按 380 的速度跑就不到四个小时了, 同一列车底长短混跑, 一天可能就能多开一趟车, 可惜这个被现任铁道部的猪头领导以安全为由强制降速, 而且给动车组生产厂家的订单也不加, 导致需要车的时候没车, 单车底也还有检修里程限制, 不可能 7*24 连轴转, 坑爹啊这不是

另一个导致运力不足的问题是车票价格, 现行火车票价格已经十多年没变了, 期间还经历了六次大提速, 其他交通方式和物价已不知道涨了多少, 偏偏铁道部自己还涨不了价 (发改委什么的一堆流程要走), 所以只能绿皮改空调, 普速变快速 (虽然实际时间可能还慢了) 来曲线救国, 动车和高铁的票价是明显上了一个档次, 所以也能解释为什么有高铁后普速必然会少一堆, 大部分国人还是缺钱不缺时间的主, 特别是学生这种巨叽歪的群体. 造成同样结果的还因为人民群众的生活水平提高了, 也娇气了, 以前有硬座就很好, 现在很多人还非卧铺不坐, 最狠的是只要硬卧下铺的, 人家理由多充分: 软卧太贵硬座不爽上铺难爬, 需求就这样被密集化 (很多人都是只坐某趟特定车的某种特定铺)

在供给远小于需求的供需现状下怎么搞都无解, 那只能把问题退一步, 让大家怎样以一个 “公平” 的方式来搞. 我自己想过一个方案, 后面有一次问了 @cnberg 印度是怎么弄的, 发现跟我想的基本一样, 我先说说印度怎么订票:

1. 订票提前周期很长. 订票时
– 1.a 如果有票则付全款出票, 完成
– 1.b 如果没票则交押金 (大约 10 人民币) 进入一个排队队列
2. 排队过程中
– 2.a 可随时查询在队列里的位置, 当新票额放出或有人退票或退出排队, 你在队列里前进, 排到后付全款出票, 退押金, 完成
– 2.b 如果到开车时间还没排到有票的位置, 退押金, 完成
– 2.c 主动退出排队队列, 押金不退, 完成
3. 退票
– 3.a 退票收取大约 10% 的手续费, 完成

这里面最爽的是引入了排队机制和获知自己排队位置的查询接口, 让整个过程对乘客而言更透明. 但是当时我们讨论时也说到, 中国春运是刚需, 提前半年估计也会在订票的时候就把系统和队列压爆, 只是把现在提前 20 天的坑爹提前了而已, 而且对那些没法提前那么长时间确定行程的人是一种伤害. 而且估计印度网民远没中国多 (具体数据没查, 但是用脚也能想到), 所以系统压力没那么大

我的方案比这个更激进点, 不同的是
1. 排队时就可以先付全款, 这样一旦排到票马上就能出票, 不至于说排到票时自己不方便, 因为没法付款而导致被从队列里强制踢出去
2. 退票费按退票时间到开车时间的间隔依次递增, 越晚退票手续费越高, 这样也让那些买多张票备用但最后只用一张的人提前把资源让出来给有需要的人 // 现在就很多人买好几张票备着, 走之前才退, 结果其他有需要的人也来不及捡漏

这些都是比较大的系统性变化, 我们这些玩票也就吐吐槽, 如果有不妥或没考虑到的地方也欢迎讨论

落到 12306 本身, 感觉可以提供一个精简版入口来满足订票需求, 像界面/退票/添加修改常用联系人之类的操作很少用到, 没必要每次都为了兼容这些操作而走那套有巨多图片和 .js 加载的系统, 刷票助手什么的其实就是在帮忙减轻网络压力, 反正大家只要能定到票, 直接做个纯文本界面也无不可

自吐 & 自勉

今天百度最高奖, 看了下, 最终入围的五个团队有三个自己呆过, 拿奖的仨也呆过俩, 好多认识的人, cong~ (附: 拿奖的新浪微博消息) 他们都做的很赞, 自己曾经在这么好的团队, 耐不住性子, 做不出东西, 因种种原因离开, 开花结果自然无份

现在么, 好好做事, 手头事情也很有搞头, 那就好好搞吧, 皇天不负有心人 :P

自吐部分开始, 曾经有一个帖再引用了以前的一个段子 (原文见: 被诅咒的 Snoopy)

Me 13:23:45
我从 b 家离职后不久, b 家的碳酸饮料就免费了
我从 g 家离职后不久, 餐补就直接发钱了, 等我开学, 上海也是自助餐了
小强 13:25:56
你快点离开武大
Me 13:26:16
why?
Me 13:26:23
这样师弟师妹的伙食就有希望了?
小强 13:26:57

小强 13:27:18
你离开acm acm就拿到金牌了
Me 13:28:20

我一定要把这个段子续下去:

* 2007 年夏离开武大 ACM 队, 该年秋天武大第一次拿区域赛金牌, 第一次进入世界总决赛
* 2008 年初进微软俱乐部, 该年夏令营活动被取消
* 2009 年初离开微软俱乐部, 该年夏令营活动恢复, 并增加 UCLA 夏令营
* 2009 年秋天回归百度, 过了一个月从普天搬西二旗, 自助碳酸饮料机被取消了
* 2011 年秋天离开百度, 半年后自己做废了的俩项目重新上线
* 2011 年秋天离开百度, 次年原团队拿百度最高奖

互联网企业的 x 文化?

在去年的年度盘点里有提到一些公司文化差异的问题, 当时想说的是这个世界越来越 x 的文化导向, 怎么就变这样了呢? 民间口语中略有轻浮个人觉得还能接受, 可以用尚未开化完全或民风彪悍等理由解释. 但是在一些公众场合, 特别是有影响力的公众场合, 还是觉得很难忍受, 过 x 的文化在很多地方会被认定为性骚扰才对?

这个问题最早是看 CCAV 某年的内部年会 东方红时空 时想到的, 里面有不少荤段子, 具体细节现在回忆不起来了. 当时看到平常很严肃那些主持人什么的也这么恶搞和低俗, 有点震撼. 不过要说那个片子留下了什么, 最有影响力的应该是电影剪接恶搞的兴起 (胡戈早期的剪接作品都是如此, 一个馒头引发的血案和讲春运的那个), 以及敬一丹还是谁说的一句 “在这样的夜晚, 除了创造人类, 我们还有什么追求”. 但是跟后面的那些比起来, 这个又算很纯洁的了.

后面看到网络上一些对阿里系的传闻, 觉得明显过头了, 比如知乎上在淘宝的工作挑战这个问题中提到的男女关系, 这里面的内容我向一些阿里的员工求证过, 无法证实, 但是从交谈来看, 很多无法证伪不那么夸张的事情似乎也是事实, 甚至都算公司文化了. 另一件很震撼的事是 @Fenng 曾经在新浪微博上转过一个淘宝新人培训时跳恰恰舞的图, 但他转的那个原微博已经被删, 只找到这张图, 搜 “百淘 新人” 能找到不少淘宝人的辟谣, 结合人人奥斯卡上类似的那一段, 应该是谣言. 去年冬天跟一去了淘宝的大学同学聚时也聊了下这方面的话题, 感觉阿里在那方面的企业文化确实是明显超过我的底线了, 淫而不荡, 这个太难了, 在网络上见过太多说着说着就成真的事了. 个人认为之所以阿里系会这样, 是因为阿里是一个销售导向的企业, 当今社会很多生意和黄赌毒都有说不清道不明的关系, 那销售等对外团队中这种文化就比较盛行, 继而带的整个公司都是这样. 由于这个文化冲突, 找实习, 毕业找工作, 换工作时, 阿里系都是被我直接忽略的对象.

到人人后只是觉得这边的某些文化更本土化一些, 连加入的第一个群名字都叫 “土俗骚”, 日常也有一些比较三俗的事, 但是整体还好, 不会过. 在人人奥斯卡上是被小震撼了把, 虽然以前也听说过会很黄很暴力, 但是一看这名字 基情穿越, 再结合下内容, 确实也还是有点过. 听闻销售那边会比较狠, 技术方向会稍微好一点.

回想下以前呆过的那些地方, 似乎都比较保守, 外企对这个问题都很敏感, 毕竟性骚扰是很严重的问题. 百度也挺保守的, 最多就是很熟的小圈子内闷骚下. 是说这些地方的大部分人以前在学校还是比较传统的乖宝宝, 所以比较正派?

不管是假正经还是真正派, 希望自己能一直光明向前, 言行一致. 不抽烟不喝酒, 只混技术圈, 远离人情世故, 会丢掉一些东西损失一些朋友和感情, 但是留下的会是更经得起考验的朋友吧. 不抽烟是因为家里没人抽烟, 自己也没兴趣, 对身体也不好, 不喝酒是因为酒精过敏 (海鲜过敏一般认为是个悲剧, 酒精过敏我看来还算好事了), 只混技术圈是因为不会人情世故不会说话, 出去绝对被各种拍死. 似乎杜月笙还谁说过, 如果一个男人不抽烟不喝酒, 那还有什么靠得住的 (大意如此), 我说是因为那年代没别什么能爱好了吧, 现在随便找个爱好就各种耗时烧包了.

终于还是没躲过天涯这一波

上周还吐槽那几家顺便感慨自己还好没中招, 今天把 天涯数据.kz 拖下来, 红果果的发现了笨狗的用户名和那个弱的不能再弱只在挫站上用的弱密码, 邮箱居然还是已经不存在了的一个. 话说我怎么会注册天涯呢, 从那个邮箱来看, 应该是在 06 年或更早的时候注册的, 那时候怎么就脑抽要注册个天涯呢, 难道是为了看那个 红色帝国的暴力美学 那个帖?

1. 用户名是我的, 邮箱已经因为太久没用被服务商关停了
2. 密码是弱密码, 某些很久没更新密码的挫站估计还在用, 有心人不用费心试了
3. kz 用 KuaiZip 解压, 估计他们家软件的安装量这两天翻了至少几十倍
4. 果然文本可以压出很恐怖的压缩率, 1.71G 的 50 个 txt 就被压成了一个 377M 的 .kz, 不过解压速度也放在那, 花了快 6 分钟