一号公路

Share
景美 人黑 地动

赶着六月底去了趟加州,开了一趟鼎鼎有名的一号公路。其实16年就想过去自驾一号公路,但是当时由于泥石流导致一部分公路封锁,所以一直推到19年才成行。

在翻阅了大量文献(游记博客)之后,我们的路线就是 SF -> Monterey -> San Luis Obispo -> LA.

Day 0 MTV, SF

到了加州的第一件是就是拜山头了。上午去见了几个朋友,顺便朝圣了一下,去了Google MTV 办公室和Apple 总部,还买了俩文化衫。

Google HQ by Andy
Android Pie sculpture by Andy

下午去到了SF。走了趟九曲花街,看了看海边和金门大桥。除了流浪汉太多,不敢随便停车(怕被砸车窗)之外,整个城市还是很漂亮的。

Golden Gate Bridge by Andy
House, Palm Tree by Andy
Window Smashed Car by Andy

Day 1 Monterey

第二日一早,起床洗漱退房后,我们驱车前往蒙特雷。途径了鸽子灯塔。蒙特雷是一个民风淳朴的小镇(也就是看起来没有那么多的流浪汉)。17英里路景色是相当好看了。海边还有一个叫做情人点公园的地方,值得一看。

Day 2 San Luis Obispo

驾车4个小时左右,我们从Monterey开到了San Luis Obispo。途径有名的大索尔[桥山],还看到了号称全球唯一一个海边瀑布。大索尔山附近的盘山路真是山路十八弯,开下来就觉得隐隐作呕,司机也晕车。

Day 3 LA

大概开了两个小时左右就从SLO开到了LA。说实话这段路上我见到了这辈子最多的房车。路边满满的停着大的小的各种类型的房车。看来喜欢去沙滩过夜真的是老美的癖好,难怪沙雕这么多。相比于SF,LA 的流浪汉更多。我们游览的麦克阿瑟公园已经完全被流浪汉占领,星光大道上也尽是流浪汉和他们带来的尿骚味。 甚至于我都不敢拿出相机,只好手机拍了几张照片草草了事。

Day 4 Redeye, Earthquake

最后一天我们逛了逛LA的景点,然后赶到机场准备登机。为了红眼上能好好睡一觉,我在酒吧点了点啤酒。刚喝了半瓶下去就觉得浑身发抖,头很晕。花了十几秒我才反应过来不是我喝多了,而是地震了。过了大概十分钟,收到了消息说是7.1级地震。嗯,充分感受到了LA的热情

经验总结

自驾的话,宾馆一定要选好一点的,带免费停车的。防晒霜要涂好,建议全程戴帽子,穿防晒服,这样可能回晒得少黑一点。停车尽量停室内,或者买全险。

Read more

低绩效同事,先别急着下结论

低绩效同事,先别急着下结论

团队里最难处理的,往往不是最差的同事,而是那些卡在board line上,挤挤能出活、但不挤就磨洋工的low performer 同事。 这类 low performer 一出现,很多Manager的第一反应就是:ownership 不行。问题是,这句话太空了,空到几乎没法行动。 我更喜欢用一个简单的框架看这件事:先判断原因,再调整支持,接着设观察期,最后做去留决定。 先判断:到底是哪一类问题 low performance 不等于 low ability。常见情况其实不一样: * 不会做:能力还没到,拆问题、推进、沟通都卡住。 * 不想做:知道怎么做,但投入不够。 * 做错方向:很努力,但目标理解偏了。 * 岗位不匹配:人不差,只是不适合这个角色。 比如: * 一个同事总是晚交,但每次都能把问题讲清楚,可能是任务切太大了。 * 一个同事总返工,

By andy

Vibe coding 之踩坑记

Vibe coding 对于程序员的技能要求反而比之前高了 先讲一个故事。 我这几天突然被隔壁组叫去,帮他们解决一个支付系统的问题。 简单来说,我们的客户分成机构和下属的医疗场所。一个机构下面可能有多个场所,然后机构可以统一管理下属场所的账单,支付等等。这样就需要我们能在我们的支付系统里面建立一个关系树,让父结点能看到子节点的账单,并支付。 问题就出在这个关系树上。因为我们之前用过一个另外的支付系统,所以有一部分老客户是从之前的系统迁移过来的。 这个老系统给每个客户创建了一个独特的id,但是这个id 和我们内部使用的id 并不一致,所以我们需要自己把客户的id 和他们的支付账户连接起来。然而: * 新的支付系统只支持固定的一些属性进行搜索。所以之前做这个项目的工程师A耍了个小聪明,用客户的last-name 属性存储了我们的id * 第一个雷:用户的last-name是可以由用户自行修改的。如果他们修改了,我们的对应关系就乱套了。 * 但是这个id A存错了,应该存储机构的id,A存成了下属场所的

By andy

关于flashblocks

争取整个短文系列,迎合短视频的潮流。 base前段时间整了个活,提出了一个新的概念叫flashblocks。 在有flashblocks之前,每个区块的状态是要么这个区块还不存在,没法拿到区块的任何状态和信息;要么就是这个区块已经存在了,它的状态是不可变的,拿到就是最终区块。base链每2秒产生一个新的区块,即任何的交易需要2秒钟才能确认。 如下图,区块A生成之后,2秒内用户只能看到区块A,直到区块B生成。 flashblocks呢,它允许用户提前获取正在打包的区块的状态。正在打包的区块每200ms更新一次状态,直到10次更新之后,正在打包的区块变成一个完整的区块。 如下图,区块A打包200ms后,用户可以立刻看到区块B的状态0. 再200ms后,可以看到区块B的状态1,直到区块B的状态9,然后区块B稳定,开始生成区块C的状态1。 flashblocks的好处是什么呢?它可以在一个区块完全打包好之前,让用户提前知道自己的交易是否有被打包进当前的区块,加速交易状态的确认。 缺点又有哪些呢? 首先这个确认属于预确认(preconfirmation), 这个预确认还没有状态更新

By andy