building / breaking things : Making Truly Native Native Apps on Apple Watch

Seriously, it’s horrible. Being able to build proper apps would be so great, instead of simple ways to display JSON files with Interface Builder (yes, that’s basically what WatchKit currently is). Especially watch faces, I’d love to be able to build my own (even powered by Sprite Kit, I know the stock ones use it!), I’ve got so many ideas for things to build.

Source: building / breaking things : Making Truly Native Native Apps on Apple Watch

SwiftCon 期间的面基和八卦 | 唐巧的技术博客

大会第一天结束后,我和 ThoughtWorks 的几个朋友(傅若愚、方志刚、小灰灰)一起去撸串。他们给我介绍了很多关于这家公司的趣事。小灰灰其实是前 ThoughtWorks 员工,现在在 SegmentFault 做市场运营相关的工作。

ThoughtWorks 以前在我眼中总是很神秘,这次和他们聊天,更进一步从各种故事中了解了这家公司。和别的偏咨询的业务不太一样,ThoughtWorks 在移动开发领域,整体上业务还是侧重「外包」开发的工作较多。

在和他们聊天的过程中,我才发现 ThoughtWorks 是在 iOS 开发中,也实践成功了 TDD 的公司。而这一点,其实做到的互联网公司非常少。在我之前的认知中,因为移动开发的单元测试能够覆盖的代码极其有限,加上移动开发中的功能模块(特别是上层的界面和交互逻辑)在快速迭代中反复更改,我认为 TDD 并不适合在移动开发领域。ThoughtWorks 的故事让我再次对自己的观点产生了动摇。

进一步了解到,ThoughtWorks 的一个 App 的业务逻辑,可能由超过 10 个人来完成,另外 ThoughtWorks 的员工也可能分布在不同的城市,他们需要更解耦地工作和协调,而这个时候,TDD 成为一个很简单有效的方式。ThoughtWorks 接的 App 开发的单子,本身也不太可能像移动互联网公司那样,两周发一个版本来快速迭代。综合起来,在移动开发中引入 TDD,或许适合这样的场景:

  • App 开发人员超过 10 人,并且大家代码相互依赖
  • App 开发人员异地协同工作
  • App 的迭代周期不算特别频繁
  • App 的质量非常重要

小灰灰还提到,ThoughtWorks 这家公司还有一个比较独特的地方,就是创始人不完全以赢利为目的来经营公司,比如他们会接一些明显亏本的、但是公益性的项目,比如在一些第三世界国家,帮助当地的政府开发一些信息系统。整体 ThoughtWorks 中国区还是很挣钱的,但是补贴给了不少国外的亏本项目。

ThoughtWorks 另外一个文化,就是大量招聘新人,大部分员工都是工作 1-3 年的,使用新人的首要原因其实是因为便宜,ThoughtWorks 在整体互联网行业中给付的薪水并不高,所以使用新人可以使得他们能够控制住成本。同时,ThoughtWorks 还是比较有技术追求的,他们公司内部有一些行业资深的大牛可以指导这些新人,于是那些有潜力的新人,能够得到快速地项目锻炼和恰当的指导,于是快速成长。小灰灰说,有一些新人,刚进公司,就要去给那些年纪比他大十几岁的客户做敏捷咨询,那种压力是巨大的,相对来说成长也是巨大的。

但是,终究 ThoughtWorks 这种模式下,能够到达金字塔顶端的人是少数,所以大部分员工在工作几年之后,能力成长起来了,就会选择跳槽。拿小灰灰的话说:「薪资 double 是至少的,能力强的能够 triple」。

其实对于 ThoughtWorks 来说,这其实是「双赢」的。为什么人离职了还是「双赢」呢?因为 ThoughtWorks 还是留住了少量最最精英的人到达金字塔的顶端,同时 ThoughtWorks 以非常小的人力成本,保证了它能够完成项目,公司能够正常经营。那些离开 ThoughtWorks 的人,在公司经历了历练和成长,何尝不会感恩公司,他们在别的公司做得好,反倒会正面宣传 ThoughtWorks 的技术影响力。

我有一次听到一个类似的故事,四大会计事务也是大量招募新人,很多重要的项目,用老人带新人的方式开展工作,那些新人拿着非常低的薪水,但是工作压力特别大,但是通常三年之后,这些新人成长起来,离职都能够找到非常好的新工作。而少量留下来的四大老员工,又继续着这种老人带新人的模式。

某种程度上,这就是一种商业模式,这些公司选择用低薪 + 成长空间,来吸引应届毕业生,同时获得商业收益,虽然人员不停流动,但是公司依然能够经营得很好。

Source: SwiftCon 期间的面基和八卦 | 唐巧的技术博客

最会赚钱CEO管仲绝招第二弹来了:垄断 : 经理人分享

#管仲 管山海的垄断比全线垄断高明,官府垄断的是盐铁的销售,生产环节仍旧留给盐商和铁商。这种分工之下,就如《管子·轻重乙》:“与民量其重,计其赢,民得其七,君得其三。”商人既可获利,又会为了获得这七分利益而注重产质量素,消费者同样获得有质素的产品,而国企同样获得稳定利润,形成政府、商人、消费者的三赢分工。

Source: 最会赚钱CEO管仲绝招第二弹来了:垄断 : 经理人分享

巴菲特是如何抄底房地产投资的?-华尔街见闻

总结一下,巴菲特投资房地产的案例很少,除了这三个投资,加上自住,他没有其他任何房地产投资。但是,这三次投资,每一次都是在大跌,或是崩溃后买入,而且每一次他都是“永远持有”,没有卖出。也许这样的做法不一定适合所有人,但是这个操作风格值得关注。

Source: 巴菲特是如何抄底房地产投资的?-华尔街见闻

Using PostgreSQL and jsonb with Ruby on Rails – Nando Vieira

hstore columns don’t allow a nested structure; they also store all values as strings, which will require type coercion on both database and application layers. With json/jsonb columns you don’t have this problem; numbers (integers/float), booleans, arrays, strings and nulls are accepted, and you can even nest structures in any way you want.

Source: Using PostgreSQL and jsonb with Ruby on Rails – Nando Vieira

香港楼市做出榜样 千余房产沦为负资产–百度百家

那么这次香港发生了什么,这么吓唬人,其实香港也在地产调控,在2月份政府推出进一步收紧住房按揭措施之后开始“降温”,而随着房价越跌,买房的越来越少,2月份的销售已经是25年来的新低,3月份香港价格跌了13%。而价格降温,市场供应开始增加,运输及房屋局29日公布的数据显示,未来3-4年,私人住宅单位潜在供应将攀升至9.2万宗,除按年增加1.4万宗外,亦创下自2004年9月后的历史新高。房屋施工量也创下史上单季新高。香港经济越来越差,人民收入越来越低,能否消化的了这么大的库存,实在让人担忧。这个情况实在跟我们非常的类似。现在全港的人都在指望,政府不再调控,然后转向救市,把房地产再打起了。这就好比,皇帝的新装里,那个小孩说了句实话,大人过来给了一个耳光,然后教他把假话再说一遍,并且大声的响亮的,说给没穿衣服的皇帝听,您的新衣服实在是太美了。

Source: 香港楼市做出榜样 千余房产沦为负资产–百度百家