Limboy

「通过改 Bug 的方式来面试」,很好的想法,一方面 Debug 是程序员每天都会做的事,Debug 能力很能体现程序员的功力,最大的问题就是准备题目会比较辛苦。

Here’s a repo you’ve never seen before. Here’s how to build and run the tests in this repo. There’s a bug: what we’re observing is X, but we want to see Y instead. Find the bug and maybe even write some code to fix it.

Top | KEIJI ASHIZAWA DESIGN

芦沢啓治建築設計事務所

东京的一家设计工作室,成立于 2015 年,网站和作品都蛮喜欢的

温暖的艺术品,有想住进去的欲望

电商的美国游戏,靠卷赢不了

Temu 从来不只是一个关于电商的游戏,更是一个有关城市规划与国家发展的隐喻。

非常细致的一篇关于 Temu 进军美国的分析文章。从中可以一窥电商的工作原理、要点、成本项,以及 Temu 与美亚的差异化竞争。不得不说,电商真的非常复杂,要考虑的因素很多,非常考验战略和执行。

Temu 作为后起之秀,在美国远没有亚马逊那样完善的仓储和物流体系。所以它更多依赖于以轻小件的形式,直接走空运发到美国,然后交给仓储和物流公司。这一方面让 Temu 要比亚马逊多几倍的时间送货,而 75% 的美国消费者愿意支付额外费用以更快地获得商品。

为了解决物流问题,亚马逊依靠十余年的时间在全美建设了 110 个配送中心。有的大型配送中心比故宫还大,里面有一千五百个全职员工。

而 Temu 完全相反,这些加入半托管的卖家们发现发任何信息都有人秒回、有专职人员会教他们如何上新、如何维护链接;Temu 选品的买手也会提前通知这些卖家,告诉他们平台下一步会推什么。有商家说 Temu 的运营和他保证,只要能每天上新一定量的 SKU,就会一直给首页流量。也有商家说 Temu 的运营会指导商家如何上架那些亚马逊不收的商品,整体上要比亚马逊灵活很多。最重要的是 Temu 会帮商家买流量、引流量;亚马逊只会给自己买流量,而平台上的商家则基本分不到亚马逊花钱买广告所带来的流量。

一面是热情似火的 Temu 客服,凡事靠微信都能商量清楚;另一面是干什么都麻烦的亚马逊。中国卖家自然更倾心 Temu。

这也为什么 Temu 在相当长的一段时间里只允许中国和香港地区的卖家开店,因为这足够了。Temu 用中国工厂、亚马逊不要的库存和原本就是他们供应商的中国大卖,以极致的低价从贝佐斯的国度撕开了一条裂缝。

大家都在利用同样的工厂生产商品、同样的卖家在卖货、同样的物流运到美国,这里最耗费成本的关卡也类似:最后一英里。因为美国人可以为了降低成本把一切都转移到境外,唯独最后一英里是实打实的需要在美国境内处理的美国问题。电商游戏追求便宜,把一切成本剥开后,最后一英里依然屹立在成本中心。Temu 无法在这里把全部环节都变成它在国内的供货商那样任其摆布。任何人想要把这个游戏玩的更好,就一定要面对这个问题。

人工成本的挑战是送货的效率,但效率无法无限提高。归根结底,挑战的本质是美国城市规划。Temu 无法像拼多多在国内卷卖家一样的靠卷来解决这个问题,因为最后一英里不是个商业问题,是社会问题。社会问题就像是天气,要面对它。

在美国人眼中 Temu 不光是便宜,而是定位为一个便捷可靠的在线市场,满足消费者的生活便利需求。这样 Temu 在美国有了丰富的用户圈层。但总体而言在美国低收入家庭更有可能在 Temu 购物。任何凭借更低的价格争夺市场份额的平台,受众都注定如此。

快递员们互相分享在 Hood 配送的经验。不过就算是新人,他很快也能学习到其中的技巧:因为几乎每个 Hood 里的订单都会在备注里写上注意事项。最常见的是绝对不要放在前门,永远不要,放了很快就会被人偷走。实际上,Hood 里的很多业主回家都不使用自家前门。

这就是 Temu 和所有电商都要面对的问题。这也是为什么妄想靠机器人和无人驾驶来全面解决送货是不可能的。面对如此复杂的情况却依然认为可以靠机器取代人,要么是愚蠢,要么是无知。既然能融到资的创始人并不愚蠢,那就只能说明大部分生活在良好社区的科技从业者从来不知道这个国家另一部分居民的现实生活。

把 Mac Mini 塞到 iMac G4,再定制一个屏幕,实在是太会玩了···

Software estimates have never worked and never will

Since the dawn of computing, humans have sought to estimate how long it takes to build software, and for just as long, they've consistently failed. Estimating even medium-sized projects is devilishly difficult, and estimating large projects is virtually impossible. Yet the industry keeps insisting that the method that hasn't worked for...

为什么「给软件开发估时」这事不靠谱。因为软件开发很大一部分是与未知打交道(比如一个很小的 Bug,可能需要好几天才能找到头绪;一个小改动可能影响很多模块;很多边缘场景要考虑等等),未知的事物如何估时?

The fundamental problem is that as soon as a type of software development becomes so routine that it would be possible to estimate, it turns into a product or a service you can just buy rather than build.

应用到数码世界的话,这个 Holding Pen 大概就是 Quick Inbox,可以一个快捷键呼出,记录下脑海中想到的事情。

Paul Graham 在这篇文章中提到了 "Founder Mode",与之对应的是 "Manager Mode",提出这个概念的背景是一次 YC 会议上的分享。

创业公司在进入增长期时,通常会有「好心人」站出来,让他们 "Hire good people and give them room to do their jobs.",听起来没啥问题,但通常结果都不太理想。

这里就涉及到了两种 Mode:Founder Mode 和 Manager Mode。有一条评论说得挺好的:Founders have to care in a way that managers do not. Founders have to learn things managers do not. Failure to a founder is dream-ending. Failure to most managers is job-ending. Managers 通常做的事情是:

Treat subtrees of the org chart as black boxes. You tell your direct reports what to do, and it's up to them to figure out how. But you don't get involved in the details of what they do. That would be micromanaging them, which is bad.

下次面试时,也可以问下 CEO 每天的 Routine,以此来了解他到底是 Manager Mode 多一些,还是 Founder Mode 多一些。

I work from the moment I wake up to the moment I go to bed. I work seven days a week. When I'm not working, I'm thinking about working, and when I'm working, I'm working. I sit through movies, but I don't remember them because I'm thinking about work.

-- Jensen Huang
OAuth from First Principles - Stack Auth

Stack Auth is the open-source Auth0 alternative.

有接触过 OAuth 开发的,应该都会有这么一个疑问:这玩意儿为什么要设计得这么复杂?这篇文章描述了把这个设计的演进过程。其核心思想是假设用户的环境是不安全的,有木马或病毒可以浏览历史记录,监听网络请求,在这种情况下,OAuth 协议依然能保证安全可靠。

第 6 步的 PKCE(Proof Key for Code Exchange) 可能会有点费解,因为在这一步 OAuth Provider 要返回最终的 Access Token,这个 Token 相当于账号和密码的替代,因此在给出之前,先要确认申请方是不是最开始的 OAuth 请求发起者,而不是中间人。流程是这样的,一开始发起申请时,就给 OAuth Provider 一个 hash 过后的随机值,这个随机值只有发起者知道,木马看到这个 hash 后的随机值无法推断出原始的随机值。这个 hash 过后的随机值到了 OAuth Provider 后,会先存着,当需要返回最终的 Access Token 时,会要求发起方传入一开始的随机值,通过公开的 hash 函数 hash 后,对比两个值是否一致,是的话,说明是一开始的发起者。

想起来前一阵看奥运会,在等待凌晨的篮球决赛时,打开田径比赛当背景音听,越听越有味道,就正经得看了下来。解说陈晨给我留下了很深的印象:声音听着很舒服,而且对运动员的故事、运动员之间的恩怨情仇、特定项目的专业术语、难点等等,了解得非常透彻,甚至知道某个运动员的 INS 账号为什么会加某个特定数字后缀(撑杆跳高度),真的能感受到对田径那份的热爱。

卡萨布兰卡 Casablanca

二战期间,卡萨布兰卡是欧洲逃往美国的必经之地,那里鱼龙混杂,局势紧张。里克(亨佛莱•鲍嘉 Humphrey Bogart 饰)是一个神秘的商人,他在卡萨布兰卡开了一家人气很旺的夜总会,并拥有两张宝贵的...

看了有 5 遍吧,虽然是黑白片。

再见深海 - 咻咻满

The secret inside One Million Checkboxes

Teens wrote secret binary messages in One Million Checkboxes. I found them.

非常有意思的一个故事。作者(还在上大学)花了两天时间做了一个「百万格子」(有点像 reddit 的 r/place),每个格子是一个 checkbox,可以 check 和 uncheck,每个 box 的状态会同步到当前在线的其他玩家。功能其实非常简单,但后来的发展就有点戏剧性了。

不工作之后,才能真正体会到编程的乐趣。

「不能结婚的男人」这部日剧里,桑野信介(阿部宽饰)会定期打开网站去查看他关心的一位建筑师的动态,我很喜欢这种仪式感,现在应该极少会有人这么做了。

用 Midjourney 来记录生活,好像还挺不错的(就是有一些细节需要 fine tuning 会比较累)。

怀念有 Clubhouse 的日子···

37 Signals 内部的产品研发周期(Cycle)是 6 周。足够长,可以从 0 开始,实现某个 Feature,又足够短,可以让你看到 Deadline 就在那。6 个星期之后,不会马上进入下一个开发周期,而是会有 1 - 2 周的间歇期,这段时间可以从项目中抽离出来,做一些 side projects,研讨下个周期要做的事,重构代码等等。

Once a six week cycle is over, we take one or two weeks off of scheduled projects so everyone can roam independently, fix up something, pick up a pet project, reflect, and generally wind down prior to starting the next six week cycle. Ample time for context switching. We also use this time to firm up ideas that we’ll be tackling next cycle.

Jason(CEO) 会在每个 Cycle 开始前发一份公告,罗列这个 Cycle 要解决的一些问题,不会涉及到具体的实现或设计,主要描述问题现状以及解决后的状态。

这篇文章 详细阐述了 Six Week Cycle 到底是怎么运作的,比如 Idea 是怎么来的,Pitch 是什么(可以理解为 RFC),谁决定要做哪些 Feature,Jason 和 DHH 是如何参与的,等等,非常详细。

麦当劳的小礼物还蛮可爱的

头发是给理发师交的税

「七天无理由退款」是商家对消费者最大的仁慈。

做 100 个人非常爱用,而不是 10000 个人随便用用的产品。

不要在了解全貌之前就形成观点,这会影响你的判断。

正念冥想的本质是训练「系统二」,以便更好地驾驭「系统一」。

上瘾就是无法控制地想要去做某事,至于这件事真的带来了多少乐趣或成就感,不重要(除非是持续的负反馈)。

把文章当作产品,title 就是要解决的问题。在所有同类产品中,你得是最好的那个。

把一件事做完,再去做下一件。

「就餐」这件事,包含了买菜、前期准备(择菜、洗鱼等等)、做菜、吃饭、收拾、洗碗这一整套流程。以前的我完成了「收拾」这个流程后就结束了,但现在只有把碗洗了,「就餐」这件事才算结束,而在开始另一件事前,我要先结束这件事,于是洗碗也变得勤快了起来。

还有些事跟想要做的事相关。比如要在某个会议上做个分享,但觉得已有的 PPT 工具都不够好用,于是打算从头做一个,这就又多了一件事。相关的事一多,就变成了事业。

为什么要活着,因为还有事没做完,就这么简单。

我理发的频率不高(因为懒得打理,所以每次都会剪得很短),也都会去同一家店找同一个理发师,整体还比较满意。但后来还是去的少了,因为「专门为理发而走 10 多分钟」这事有点阻碍了我,这变成了一个需要下决心专门为它腾出时间的事情。后来就在天目里找了一家,因为它变成了一个「顺便」的事,甚至会提高理发的频率,因为工作间隙溜达几步就到了。

杭州有一个很大很新的之江图书馆,光线好,椅子舒服,安静,就自习来说几乎是顶配,驱车过去也就不到半小时。但我还是更愿意去走路 10 多分钟能到的天目里,虽然这里的自习环境降了一个 level。

异地恋或许也是这样,有时不是不再爱对方了,而是附近的人聊起来更方便,而这种方便更能增进感情。