用 Golang 肯定见过类似这样的标记:
type Model struct {
ID string `json:"id"`
CustomerMobile string `json:"customerMobile"`
CustomerName string `json:"customerName"`
}
定义一个 struct
后我们可以在每一个字段(field)后面使用 `` 符号作特殊标记。json:
后面表示这个字段映射到 JSON 数据的自定义 Key。下面这段则是使用 GORM 作数据库字段绑定时的模型定义:
type Model struct {
ID uint `gorm:"primaryKey"`
CreatedAt time.Time
UpdatedAt time.Time
DeletedAt gorm.DeletedAt `gorm:"index"`
}
那么这样的字段映射关系到底是如何实现的呢?答案是使用 Golang 的 Reflect(反射)。
官方文档提供了 reflect 包的所有接口说明,我们可以使用这些接口在 run-time 修改实例对象。通常我们会使用这些接口获取当前实例的值、静态类型,或者使用 TypeOf
接口获取的动态类型。跟多数语言的反射功能类似。
一般我们使用 GORM 一定会有打开数据库的地方:
func main() { db, err := gorm.Open(sqlite.Open("test.db"), &gorm.Config{}) if err != nil { panic("failed to connect database") }
// Migrate the schema db.AutoMigrate(&Model{}) //… }
GORM
的 AutoMigrate()
方法最终会在 schema.go
的实现中,通过 func Parse(dest interface{}, cacheStore *sync.Map, namer Namer) (*Schema, error)
函数取得上述 &Model{}
这个实例对象,然后再针对它使用 reflect API 获取相关类型信息。以下是关键代码:
// 这里的 dest 就是 &Model{} 这个对象 value := reflect.ValueOf(dest)
// 这里取得 Model 的反射信息 modelType := reflect.Indirect(value).Type()
// 这里通过遍历他的所有 Fields,针对每个 Field 作反射解析 for i := 0; i < modelType.NumField(); i++ { if fieldStruct := modelType.Field(i); ast.IsExported(fieldStruct.Name) { if field := schema.ParseField(fieldStruct); field.EmbeddedSchema != nil { schema.Fields = append(schema.Fields, field.EmbeddedSchema.Fields...) } else { schema.Fields = append(schema.Fields, field) } } }
在 func (schema *Schema) ParseField(fieldStruct reflect.StructField) *Field
函数中,获取上述 gorm:"primaryKey"
之类的额外标签信息:
tagSetting = ParseTagSetting(fieldStruct.Tag.Get("gorm"), ";")
如此一来,我们写 struct
声明的时候也就把相应的 ORM 信息一并写了进去。
我们已经知道 TypeOf()
和 ValueOf()
是 reflect 的基础,如果我们要解析的对象是集合类型(如Array, Map等),可以使用 t.Elem()
遍历,如果是 struct
类型,则可用 t.NumField()
循环遍历 t.Feild()
。
package main
import ( "fmt" "reflect" "strings" )
type TestData struct { ID int
tag1:"Tag1" tag2:"Tag2"
Title string }func main() { aSlice := []int{1, 2, 3} aStr := "Hello World!" aStrPtr := &aStr aTestData := TestData{ID: 1, Title: "Test"} aTestDataPtr := &aTestData
aSliceType := reflect.TypeOf(aSlice) aStrType := reflect.TypeOf(aStr) aStrPtrType := reflect.TypeOf(aStrPtr) aTestDataType := reflect.TypeOf(aTestData) aTestDataPtrType := reflect.TypeOf(aTestDataPtr) printReflect(aSliceType, 0) printReflect(aStrType, 0) printReflect(aStrPtrType, 0) printReflect(aTestDataType, 0) printReflect(aTestDataPtrType, 0)
}
func printReflect(t reflect.Type, depth int) { fmt.Println(strings.Repeat("\t", depth), "Type: (", t.Name(), ") Kind: (", t.Kind(), ")") switch t.Kind() { case reflect.Struct: for i := 0; i < t.NumField(); i++ { field := t.Field(i) fmt.Println(strings.Repeat("\t", depth+1), "Field: (", field.Name, ") Type: (", field.Type, ") Tag: (", field.Tag, ")") if field.Tag != "" { fmt.Println(strings.Repeat("\t", depth+2), "Tag is", field.Tag) fmt.Println(strings.Repeat("\t", depth+2), "tag1 is", field.Tag.Get("tag1"), " tag2 is", field.Tag.Get("tag2")) } } case reflect.Array, reflect.Slice, reflect.Chan, reflect.Map, reflect.Ptr: fmt.Println(strings.Repeat("\t", depth+1), "Element type: (", t.Elem(), ")") }
}
上述代码的 gist 在这里。打印出来的结果如下:
Type: ( ) Kind: ( slice )
Element type: ( int )
Type: ( string ) Kind: ( string )
Type: ( ) Kind: ( ptr )
Element type: ( string )
Type: ( TestData ) Kind: ( struct )
Field: ( ID ) Type: ( int ) Tag: ( tag1:"Tag1" tag2:"Tag2" )
Tag is tag1:"Tag1" tag2:"Tag2"
tag1 is Tag1 tag2 is Tag2
Field: ( Title ) Type: ( string ) Tag: ( )
Type: ( ) Kind: ( ptr )
Element type: ( main.TestData )
在 run-time 拿到了这些数据之后,我们就可以动态修改他们的值,比如说:
func main() { // 声明一个 string aStr := "Hello World!"
// 修改它的指针内容 aStrValue := reflect.ValueOf(&aStr) aStrValue.Elem().SetString("Hello, Goodbye") // 我们也可以修改一个 struct aTestData := TestData{ID: 1, Title: "Test"} aType := reflect.TypeOf(aTestData) // 手动创建一个新对象 aVal := reflect.New(aType) aVal.Elem().Field(0).SetInt(2) aVal.Elem().Field(1).SetString("Test2") aTestData2 := aVal.Elem().Interface().(TestData) fmt.Printf("%+v, %d, %s\n", aTestData2, aTestData2.ID, aTestData2.Title) // 输出如下内容: // {ID:2 Title:Test2}, 2, Test2
}
除了动态创建对象还可以创建函数。
func MakeTimedFunction(f interface{}) interface{} { rf := reflect.TypeOf(f) if rf.Kind() != reflect.Func { panic("expects a function") } vf := reflect.ValueOf(f) wrapperF := reflect.MakeFunc(rf, func(in []reflect.Value) []reflect.Value { start := time.Now() out := vf.Call(in) end := time.Now() fmt.Printf("calling %s took %v\n", runtime.FuncForPC(vf.Pointer()).Name(), end.Sub(start)) return out }) return wrapperF.Interface() }
func timeMe() { fmt.Println("starting") time.Sleep(1 * time.Second) fmt.Println("ending") }
func timeMeToo(a int) int { fmt.Println("starting") time.Sleep(time.Duration(a) * time.Second) result := a * 2 fmt.Println("ending") return result }
func main() { timed := MakeTimedFunction(timeMe).(func()) timed() timedToo := MakeTimedFunction(timeMeToo).(func(int) int) fmt.Println(timedToo(2))
// 输出: // starting // ending // calling main.timeMe took 1.001339833s // starting // ending // calling main.timeMeToo took 2.001299666s // 4
}
reflect还有一堆可以 Make
的东西:
func MakeChan(typ Type, buffer int) Value
func MakeFunc(typ Type, fn func(args []Value) (results []Value)) Value
func MakeMap(typ Type) Value
func MakeMapWithSize(typ Type, n int) Value
func MakeSlice(typ Type, len, cap int) Value
理论上以前在 iOS 上通过 Objective-C Runtime 实现的 JSPatch,也可以在 Golang 使用 reflect 来实现,不过完全没有必要。
可以看到使用 reflect 来构建对象不仅代码写得很绕,而且没有编译器静态检查,很容易写出有问题的代码。目前看来用在 GORM, JSON, YAML 之类的声明是很不错的。ORM 实际上是把一种数据结构转换成另一种,所以我们也可以考虑用 reflect 来实现 AToB()
这样的转换器,而无需显式编写胶水代码。
最近刚读完中国作家虹影写的自传体小说《饥饿的女儿》,同期在读的是MIT经济学教授夫妇写的《贫穷的本质》。朋友介绍这部小说给我的时候,令他印象深刻的是其中对于女性欲望的描写。这种直白的文字在1997年应是特别不寻常的。
可能我身处这个时代(2022年),只觉此类表达已司空见惯。所以我对《饥饿的女儿》中关于主角与历史老师发生的爱与性并不特别关注,也未觉“震撼”。我最喜欢的是这部小说关于重庆贫民区在三年饥荒、文革时期的背景下翔实而生动的细节。
开始时我抱着读虚构小说的心态在看(我通常会跳过《序》、《前言》直奔正文),结果读完第一章我就觉得“为什么作者可以把这些贫民生活的细节写得如此深刻?”于是翻阅了作家虹影的资料,确认这就是虹影的自传体小说。
虹影出生于1962年的重庆贫民区,网络上关于她的介绍一般有一句“曾经就读于北京鲁迅文学院、上海复旦大学”。为什么不是“毕业于”?或者获得某某学位?我内心有点打鼓。后来读到这篇文章,大意可以理解为是特殊时代的特殊情况。虹影在《饥饿的女儿》最后一章中对此有所提及:
“1989年2月,我乘火车到了北京,在鲁迅文学院作家班读书。3月份,一些小型或不太小型的聚会已在大学校园里举行,学生们在热情地辩论中国应当成为什么样的国家。4月,北京学生开始走出校门,走上街头。到处是歌声,到处是激情澎湃的人群。”
再后来(1991年),虹影与任教于伦敦大学亚非学院的学者赵毅衡结婚,自此在英国生活。相较她悲惨的童年,浪迹天涯的20岁时代,在英国的日子算是巨大的飞跃了。也正是在这段时期,她开始尝试小说创作。《饥饿的女儿》首次出版于1997年,虹影的三十五岁之作,自此名声大噪。
作者在这部小说里写的是自己的童年,核心人物均为自己的家人。故事围绕主角“六六”(虹影在家中排行第六,是最小的女儿)对自己身世之谜的探索,在丰富的支线展开中,生动地还原了旧时代的贫民窟生活。其中对市井群众之间的生活琐事之着墨,尤其角色刻薄之处,个个栩栩如生,跃然纸上。
1962年六六出生,正是全国性饥荒的最后一年。1966年,文化大革命开始。
“‘文革’开始时,我四岁,‘文革’结束,我十四岁,十年有七年时间本应坐在教室里,大部分时间却在义务劳动:造梯田支援农村,在工厂垃圾堆里扒拾废钢铁,甚至夜里摸进工厂,偷好好的零件去交给收购站,换回一张交了废铁多少斤的证明条子。”
我有点沮丧。因为我在读书的过程中常不自觉想到:"写作这个时代的文字,在今天是会从网络上消失的。"为什么我竟然要有这样的“不自觉”啊?
我想本作的这段描写有异曲同工之妙:
“大人打孩子,天经地义,看热闹的人只看不劝。就跟到江边看淹死的人、山上看无头尸体、路上看突发病昏厥的人一样。人们的眼睛一般都睁着,很少伸出援手,倒不是怕死鬼替身。生生死死疯疯傻傻本是常事,不值得大惊小怪,每人早晚都要遇到。”
是啊,“生生死死疯疯傻傻本是常事,不值得大惊小怪”。
其实除了时代背景下的“天灾人祸”,小说的主线“六六通过各种努力探寻自己的身世之谜”已经有一个不错的悬念,在多次追问大姐的过程中一步步逼近真相,张力十足。所以阅读起来非常流畅。对于没有亲历旧时代的我来说,饥荒年代血淋淋的描写也让这部小说变得更加丰满。
22.04.28/夜
2022年4月28日,凯文·凯利(Kevin Kelly)在他的网站上发布了 70 岁生日的文章:103 Bits of Advice I Wish I Had Known,意为:103条我希望早点知道的人生忠告。他 69 岁,68 岁生日时也写了这样的文章。朋友转发给我之后,我觉得有些内容很有启发,于是在做笔记的时候想:不如直接翻译过来好了。
K.K. 写的这103句忠告既幽默又睿智,但毕竟只是短短一句话,缺乏上下文,也就不够精确。我觉得读者朋友可以不必咬文嚼字,只要这些话能引起思考就已经很不错了。以下是我在阅读过程中觉得有启发的部分,不想看我的思考的小伙伴也可以点这里直接跳转到翻译。
以下是我觉得有启发的几句
大部分 K.K. 写的我都深表赞同,这里只选出部分我认为比较有意思的,没写在这里的不代表我不认同。比如关于密码管理器这点,我认同并且实践多年,自然无需多言。
1.99%的时间里,真正关键的时刻就是此刻。
About 99% of the time, the right time is right now.
我们很常听说“我要等到某某时刻就去做某某事情”,但其实多数时候,the timing is never right。寻找合适时机往往只是我们拖延的借口罢了。
3.不要为你不想成为的人工作。
Dont ever work for someone you dont want to become.
48.你无法让聪明的人只为了钱而特别努力地工作。
You cannot get smart people to work extremely hard just for money.
一般来说,办公室里比你多工作三五年的人就是你未来的样子,你的老板/上级就是你未来会成为的人。一个聪明的人找工作的时候自然希望这份工作能带来正面的作用,不仅因为钱,所以会被领袖吸引进某家公司是很正常的事情。但是这种希望是会变的,当你有一天发现你根本不想成为你的老板那样的人时,就是你该离开的时候了。
4.好好耕耘12个爱你的人的关系,因为这12个人远比1200万人喜欢你重要得多。
Cultivate 12 people who love you, because they are worth more than 12 million people who like you.
我认真使用个人OKR帮助我回顾与计划以来,“人际关系”一直在我其中一个O里,但是目前我做得远不够好,所以看到这句我深有感慨。
7.“但是”之前的话都是废话。
Anything you say before the word “but” does not count.
就是说,我上面关于OKR那句话,在“但是”之前都是废话。
5.不要一直重复犯错;试着去犯新的错。
Dont keep making the same mistakes; try to make new mistakes.
97.重复别人是一个很好的开始。重复你自己则是一个令人失望的终点。
Copying others is a good way to start. Copying yourself is a disappointing way to end.
犯错需要勇气,这大概是为什么大多数人都不会主动去犯新的错误的重要原因。Tim Urban 在 How to Pick a Career (That Actually Fits You) — Wait But Why 这篇文章中对此有不错的分析,推荐阅读。Tim Urban也在文末说到:"My goal for the future isn’t to avoid mistakes, it’s for the mistakes I do make to be my own."
8.当你原谅其他人的时候,他们不一定会知道这件事,但你自己却会被治愈。原谅不是我们给予他人的东西;而是我们给自己的礼物。
When you forgive others, they may not notice, but you will heal. Forgiveness is not something we do for others; it is a gift to ourselves.
原谅他人,其实是在治愈自己。我想起台湾的电视剧《我们与恶的距离》,其中“原谅”在几个关键角色身上都是一道极难跨越的坎。
10.无论什么时候,看到争论基于两个对立面进行时,要找到第三个面。
Whenever there is an argument between two sides, find the third side.
16.如果在一个游戏中,获胜变得过于重要,那么我们可以修改游戏规则以便从中获得更多乐趣。而修改规则本身就可以成为一个新的游戏。
If winning becomes too important in a game, change the rules to make it more fun. Changing rules can become the new game.
88.当你跟别人谈判的时候,不要把目光瞄准蛋糕中最大的一片;要瞄准如何把蛋糕做大。
When negotiating, dont aim for a bigger piece of the pie; aim to create a bigger pie.
这几句都颇有跳出圈子的感觉,当你发现形成非黑即白的局面,深陷其中难以解脱时,试着跳脱出来。
18.生产力反而经常分散我们的注意力。不要试图寻找更快完成任务的方法,而是把精力放在你根本不想停下来的任务上。
Productivity is often a distraction. Don’t aim for better ways to get through your tasks as quickly as possible, rather aim for better tasks that you never want to stop doing.
读到这句我深有同感,以前“枫影夜读”还名为“每周读书”系列的时候,为了“每周”这个看似有用的目标,我不得不放弃一些无法短时间内读完的书,反而损害了我本身“喜欢阅读”这件事的体验。还不如就继续喜欢阅读,然后顺便写点书评来得愉悦与持久。
14.人生的课程将以它们需要的顺序出现在你面前。任何你需要掌握的课程其实都在你身上。当你真正掌握了一节课之后,下一节课就会出现。如果你还活着,这就意味着你还有课程需要学习。
Life lessons will presented to you in the order they are needed. Everything you need to master the lesson is within you. Once you have truly learned a lesson, you will be presented with the next one. If you are alive, that means you still have lessons to learn.
21.你作为一个意识生物的成长,将以你愿意接受的令人不舒服的对话的次数来衡量。
Your growth as a conscious being is measured by the number of uncomfortable conversations you are willing to have.
30.请教一位你崇拜的人: 他们的幸运转折往往来自于跟主要目标无关的弯路。所以拥抱这种弯路。对任何人来说,人生都不是一条直线。
Ask anyone you admire: Their lucky breaks happened on a detour from their main goal. So embrace detours. Life is not a straight line for anyone.
34.不要等着暴风雨自己过去;要在雨中跳舞。
Don’t wait for the storm to pass; dance in the rain.
44.你在低谷时做的事情比在好日子时做的更重要。
What you do on your bad days matters more than what you do on your good days.
85.你跟那些惹怒你的事物一样大。
You are as big as the things that make you angry.
人的一生很奇妙,我们会在感觉很美好的同时经历许多的不愉快。而现代人“成长”的标志之一似乎就是能够适应这种复杂的痛苦。不管是面对复杂的人事也好,超出预期的事件也罢,不管是遇到跌宕起伏的股市也好,碰上别人都是傻逼的事情也罢,试着把这些都当作锻炼自己心智的课程。下一次你碰到一样的情况,如果能至少表面上镇静地应对的话,那就说明你可以学下一课了。
24.你的努力(锻炼、陪伴、工作)的一致性远比数量重要。没有什么可以击败每天坚持做的小事,这比偶然做的事情重要得多。
The consistency of your endeavors (exercise, companionship, work) is more important than the quantity. Nothing beats small things done every day, which is way more important than what you do occassionally.
除了不积跬步无以至千里这样的至理名言以外,我之前写过文章介绍的 Atomic Habits 一书对此有更为细致的分析,推荐阅读。
27.你必须具备的三种能力: 在确认一件事情能运作之前永不言弃的能力,在确认一件事情无法工作下去时放弃他的能力,以及信任能帮助你区分二者的人。
Three things you need: The ability to not give up something till it works, the ability to give up something that does not work, and the trust in other people to help you distinguish between the two.
通常来说,普通人往往在还没成功之前就放弃,却迟迟不愿放弃前景糟糕的事情,哪怕有人这么明确地跟他说了,他也不愿意相信。什么?你问我这个普通人是不是我?还好这里不是TVB😂
38.设定一个野心得荒谬的目标的好处是,上限足够高,这样即使最后失败了,以通常的标准来衡量也可以算某种程度上的成功。
The advantage of a ridiculously ambitious goal is that it sets the bar very high so even in failure it may be a success measured by the ordinary.
此理与 OKR 相同。
39.了解自己的一个好办法是,仔细地分析自己做的会惹怒其他人的每一件事情。
A great way to understand yourself is to seriously reflect on everything you find irritating in others.
以前我从 Steve说播客学到:“最好的观察自己的时候,就是产生情绪的时候”。我记住了这点并由外向内观察了数年,而 K.K. 提到的这点则是从自己往外看时的分析,是个不错的补充。
50.所有东西的90%都是垃圾。如果你觉得自己不喜欢歌剧,浪漫小说,抖音,乡村音乐,素食,NFTs,那你可以试试看自己能否找出不是垃圾的10%。
90%of everything is crap. If you think you don’t like opera, romance novels, TikTok, country music, vegan food, NFTs, keep trying to see if you can find the 10% that is not crap.
今年(2022年)我听了大量我以前根本不会听的音乐,经常在推上以 #今日唱片 分享音乐。我开始发现诸多音乐流派、门类的奇妙之处,甚至开始发布音乐分享 newsletter。有太多的音乐在一开始听的时候都是很难接受不好入耳的,我们需要更多的训练来形成欣赏的能力。而最开始的时候,需要一点原初动力,K.K. 这个 10% 不妨成为引发好奇心的导火索。
51.你如何对待那些对你无能为力的人,将成为评价你的标准。
You will be judged on how well you treat those who can do nothing for you.
54.你无法说服一个人接受一个他自己也无法说服他自己的理念。
You cant reason someone out of a notion that they didn’t reason themselves into.
没有什么必要说服另一个人,毕竟这世界上还是有很多人坚信地球是平的。
55.最好的工作是你需要被拉伸才能合格的工作。其实最好只申请你的能力尚不合格的工作。
Your best job will be one that you were unqualified for because it stretches you. In fact only apply to jobs you are unqualified for.
62.”我现在该做什么?”的唯一有效回答是,先找出“我想成为什么人?”的答案。
The only productive way to answer “what should I do now?” is to first tackle the question of “who should I become?”
好吧,那我想成为什么人呢?
89.如果你重复今天你做的事情365天,那一年后你会成为你想成为的人吗?
If you repeated what you did today 365 more times will you be where you want to be next year?
我刚刚问了这个问题,你立刻就把我否定了啊,OMG🤦♂️
这个问题太直击灵魂了啊!
92.我们的后代将创造令我们惊叹的成就,但其实只要我们的足够的想象力,他们会创造的部分东西,用今天的材料和工具就已经能实现了。所以,要想得更大一点。
Our descendants will achieve thins that will amaze us, yet a portion of what they will create could have been made with today’s materials and tools if we had had the imagination. Think bigger.
93.为了丰厚的回报,请对你完全不感兴趣的事物保持好奇。
For a great payoff be especially curious about the things you are not interested in.
95.所有的突破在一开始都是看起来很可笑和荒谬的。事实上如果它在一开始看起来不够可笑和荒谬的话,它也称不上是一种突破。
Every breakthrough is at first laughable and ridiculous. In fact if it did not start out laughable and ridiculous, it is not a breakthrough.
看到这里,我在思考是不是我应该要试着在我完全不感兴趣的事情里,寻找那 10%?
99.与其让你的人生规避“出人意料”,还不如直接瞄着它们而去。
Rather than steering your life to avoid surprises, aim directly for them.
103.防止变老的最佳实践是保持惊讶。
The chief prevention against getting old is to remain astonished.
保持好奇心是一个创造者应该有的常态,而可笑的 breakthrough,需要一点想象力加持的出人意料,会不会就隐藏在我不感兴趣的 10% 里呢?
感谢 K.K. 在 70 岁生日时的真诚分享,我深受启发。
P.S. 写完才发现原来已经有其他人翻译过了。Anyway,我有我自己的思考就足够了。
以下是全文翻译
今天是我的生日。我今年70岁了。活到现在我也算学到了一点可能可以帮助到其他的人东西。过去几年,我每年都会写一点人生建议之类的东西(当然没人请我写这个)。出乎我意料之外的是,今年好像我想讲的话特别多。所以接下来是我给各位读者的一份小小的礼物:我希望我年轻时就知道的103条人生智慧。
我(Justin)最早知道 @Livid 还是在 2010 年看到他发布的 Rework 的中文版翻译。
没想到一晃十二年过去了,我们邀请到这位“用十年时间做了一个叫 V2EX 的网站”的人,跟我们闲谈 V 站,畅聊去中心化技术。
岁月如梭,十二年后,我们是否还充满着理想主义激情迸发,是否还纵情于技术世界流连忘返?
在跟 @Livid 录节目的时候,常常让我回想起那个天真的年代,也让我感受到在下一个十年,继续热情澎湃地脚踏实地,有何不可?
希望听众朋友们跟随我们的声音,一起笑对人生。
P.S. 本期节目开场3分钟的全损复古音质来自在线软件直录,因为保留了录音事故现场很有趣所以采用,请诸位坐和放宽,安心享用🙇♂️
欢迎各位听众朋友们通过以下方式联系我们:
fyfyFM
进群推荐使用小宇宙等泛用型播客客户端搜索“枫言枫语”来订阅收听本节目。
荔枝FM,喜马拉雅,蜻蜓FM等平台亦有同步。
什么样的状况可以称为“贫穷”?联合国千年发展计划有一个“消灭极端贫穷和饥饿”的目标,其中具体提到:1990年至2015年间,将每日收入低于1.25美元的人口比例减半。
所以日收入低于1.25美元(约8.13人民币)的群体就是“穷人”吗?联合国官网(2003年)数据显示:自1990年以来,已有超过十亿人口脱离极端贫困,但仍有八亿人生活在赤贫之中。全球穷人数量惊人。
多数人关于富裕与贫穷的概念可能都不是与生俱来的。我记得小时候过年家族聚餐,大门口会有乞讨的人过来唱歌。长辈会给我们这些小孩子几毛钱,让我们拿去给乞讨者。那可能是我印象中对“贫穷”这个模糊概念最早的视觉化呈现。我记得小时候有些长辈会说:“这些人年纪轻轻,有手有脚不去好好干活,就是因为懒才来要饭的。”
所以穷人是因为懒才穷的吗?所谓“贫穷陷阱”理论在现实生活中存在的吗?
MIT的经济学教授 Abhijit V. Bannerjee 和他同为 MIT 教授的妻子 Esher Duflo 合著的这本书──Poor Economics: A Radical Rethinking of the Way to Fight Global Poverty──试图为现行的经济学理论寻找证据,证明或证伪某些专家对“大问题”的“大思考”。
我阅读的是本作的简体中文版本,由中信出版,景芳翻译。简体中文名为《贫穷的本质》,副标题是:我们为什么摆脱不了贫穷。翻译质量很高,感谢译者。中文书本标题多为编辑所定,不再讨论。
全书分为两个部分,第一部分是生活案例,通过全球多个地区的案例分析,讨论了饥饿、健康、教育、生育等话题;第二部分是慈善机构,从穷人每天都需要面对的风险开始,到小额信贷,到被迫“创业”,到政治政策,讲述穷人面对的各种问题。
我在阅读的过程中总能收获一些反直觉的东西。比如“我们与穷人的差别其实很小,因为我们的认识比我们想象中要少得多…我们真正的优势在于,很多东西是我们在不知不觉中得到的。”比如自来水、电、疫苗等等。
“我们不需要使用自己有限的自控及决断能力,而穷人时时刻刻在运用这种能力。”这点我深以为然。书中提到类似非洲穷人不愿购买消毒蚊帐防止疟疾,亚洲农民不愿购买化肥提高产力等案例,我觉得如果换了我身处其中,估计也差不了多少。
我想到我认识的朋友们,如果自小在条件不差的环境中成长,成年后往往有更多选择,可以把时间、精力放在自己想做的事情上。不管是成为某方面的专家也好,还是不断拓展视野也罢,总之,这样的朋友的人生轨迹充满了更多的可能性,环境、家人对他的限制更小。这让我想起多年前那篇网络热文:《我奋斗了18年才和你坐在一起喝咖啡》。该文作者描写的境遇更极端,但因为这些条件限制带来的不利却是普遍存在的。这世上不乏有内裤开局单挑Boss的高手存在。这个过程极其痛苦,历经无数磨难,可能性并不为零,但十分渺茫。
因为贫困线以下的群体多在发展中国家,所以作者分析的案例集中在非洲、印度、印尼等国。作者Abhijit在印度出生,他关于印度习俗的分析让我觉得地方虽然不同,但管理国家的毕竟都是人类。比如印度不同邦的人对于发烧的看法:马哈拉施特邦的人觉得大米可以帮助患者快速退烧,而孟加拉邦的人认为发烧的时候不可以吃大米。这让我想到小时候老家关于感冒的人能不能洗澡、洗头、这个能吃那个不能吃的各种禁忌,现在看来有些哭笑不得。
这个世界上有各种各样的组织在试图改善穷人的生活,抗击全球贫困。牵涉全球多个不同的国家,不同的制度,不同的风俗,不同的习惯。尽管在抗击贫困这件事情上,有些地区做得比较好,另一些地区比较糟糕,但即使是最糟糕的地区,也有改善的空间。作者把这些可以改善穷人生活的事情总结为五个方面:
1. 穷人通常缺少信息来源,相信那些错误的事情。
这一点不通过科学手段无法获取信息的网民们恐怕深有体会。但除了这种外部的限制以外,本人是否有足够的自我意识,是否有形成正向循环的信息渠道也是非常重要的一环。书中提到至少要让小孩子们学会阅读,这样可以通过阅读学习其他知识。我想到李笑来写过一本书──关于他的争议我们暂且不论──标题为《学习学习再学习》。就是要先学会如何学习,然后再去学习。有点文字游戏是意思,但颇有道理。
经历过高考的读者对此可能有所体会。对于理科考试而言,通过无脑刷题来提升考试分数是一种方法,但是学会从题目中找出设计规律,总结每个科目每种题型的解答方法也许更加高效。也就是学会方法,再做刷题训练。
2. 穷人肩负着生活中的多种责任。你越富有,越容易做“正确”的决定。
诚然,阅读本文的多数人可能不需要每天为喝井水还是喝河水而发愁。我在阅读本书的同时也在阅读中国作家虹影的自传体小说《饥饿的女儿》。虹影出生于1962年的重庆,家境贫寒,在母亲肚子里经历饥荒年代,随后是接踵而来的文化大革命。她童年的经历在很多细节上印证了《贫穷的本质》中提及的穷人案例。
穷与富是相对的。即便在温饱线以上,中产与1%的富人依然有极大差距。这些差距带来的做出“正确”决定的难易程度,也见诸其中。所以阅读本书,了解穷人的困境与改善方法,也是在提升自我的意识。比如给自己买保险,给家人买保险。
这种看似简单的,具有明显好处的,应该趁年轻的时候早点做的事情,我就需要在多年以后,通过学习才逐渐有此意识。亡羊补牢,为时未晚。很多事情不是穷人好吃懒做,不是目光短浅,而可能只是他不知道而已。
北大法学博士,B站有名的Up主罗翔老师说过类似的话:“一个农民去城市乱闯马路,你不能说这位农民蠢,他只是不理解为什么有交通规则。一位知识分子去乡下,分不清稻谷和麦子,他不是蠢,他只是不理解。所以不要带着知识的优越感。”
3. 一些服务于穷人的市场正在消失,或是在这些市场中,穷人处于不利地位。
这一点对大部分不处于贫困线以下的人来说算是比较幸运。因为目前大部分行业服务于人数最多的“普通人”(我也不知道有什么其他更好的词),通常只会给富人开设 VIP 通道,但不会拒绝普通人。
当然存在一些活动是需要一定经济实力才可能参与的。比如 F1 运动就需要小孩子自小参加卡丁车训练和比赛。家长要负担小孩的训练费,出场费,车费,油费,维修费等等。普通家庭出身的孩子即便有天赋也很难支撑他一路晋级直到进入 F1 围场。
4. 贫穷的国家不会因为贫穷或其不堪回首的历史而注定失败。
曾经贫穷的人亦如此。
我的老家属于“沿海城市”,改革开放几十年,我见过太多做生意起起落落的人。小时候没什么感觉,现在想来,各有各的幸运与不幸。回顾过去,我们总能给历史找出一堆原因,看似今天是过去的必然结果,但事实上,从来没有人能够预测未来。
上文提到的女作家虹影,她小时候的教育条件并不算好。但她写的小说文笔极佳,至少《饥饿的女儿》写得很好,我看不出来作者小时候的经历会是如此悲惨。
人生有太多东西无法选择,但始终我们可以选择乐观或悲观。而且别忘了,“无法选择”它也是一种选择。
5. 对于人们能做什么或不能做什么,最终常变为自我实现的预言。
一个人往往会对自己有一个预设。这种预设既来自自己的判断也来自外部的评价。很有趣的是,当你预设自己是一个怎样的人的时候,往往你会不自觉地,下意识地做出能够印证这个预设的行为。最后变成自我实现的预言。
所以当你对自己的某一方面很没有自信的时候,可以试着往“I Can Do It”的方向去想。只要学会了如何学习的方法,加上足够的训练,大部分人都可以胜任大部分工作。又不是去奥运会赛场,只有到这种级别的地方才真的到了拼天赋的时候,我们在学校里,在工作上做的大部分事情,都完全没有“不自信”的必要。
我喜欢《贫穷的本质》里涉及全球多个国家的实验与具体案例分析。作者作为经济学教授,除了分析经济学主流的“大理论”以外,会通过具体的案例与随机对照实验,用证据证明这些“大理论”到底适用还是不适用。这种讲求实证的方式让我非常佩服。
虽然我不是经济学方面的专家,也没有Bill Gates那么大的能量可以帮助全球抗击贫困。但至少通过阅读本书,我可以知道自己还存在哪些问题,可以提升自我。
就像盲区会被我们的大脑忽略一样,现实生活中有太多事情被我们忽略了。抬起头,多看看不一样的角度,不要让自己陷入缺少有效信息的屏障里。
22.04.24/夜
我挺喜欢村上春树的,读过他多部作品,但很少撰文评论。可能是因为我看不懂,不知该评论什么。
你可能会说:“看不懂也能谈得上喜欢吗?”
我不太确定。可能喜欢的感觉和是否“看懂”没有必然联系也未可知。总而言之,村上春树的小说,我“感觉”挺喜欢。
《没有女人的男人们》是村上2014年发行的短篇小说集,共收录了七个故事。大部份于2013年发表在《文艺春秋》之类的刊物。唯最末一篇同名小说《没有女人的男人们》是为本辑而作。这个标题取自海明威的短篇小说集:Men Without Women。
我在看了电影《驾驶我的车》之后买了本书。电影剧本改编自其中几个短篇,影片名则取自第一个短篇《Drive My Car》。影片故事有点杂糅缝合的意思,但氛围表现不错,我很喜欢。红色的萨博小车行驶在濑户内海蜿蜒的公路上,背景音是男主角的话剧台词。推开旧式旅馆的木窗,可以看到波光粼粼的景色。挺舒服。
这七个短篇延续了村上一贯的写作风格,各种必备元素:性、伦理边界、爵士乐或 The Beatles,威士忌,女人,男主角,神秘,见诸各个作品。其中第二第二篇的小说名《Drive My Car》与《Yesterday》均为 The Beatles 的经典曲目。村上春树果然很爱披头四啊。
七个短篇中我最喜欢的还是《木野》。这个小故事算是典型的“村上套路”:妻子出轨,男主角消沉之余寻找开启第二人生。有酒吧,有爵士乐,有猫,有美女,也有神秘力量。这些元素在村上笔下渲染出难以言喻的气氛,有点阴郁有点诡怖,有点怀旧又很有质感。
作为一个“看不懂”村上小说的读者,我大概还是更欣赏这种奇妙的空气吧。这种空气可以在阅读完之后绵延一段时间。像我在读完《恋爱的萨姆沙》这篇之后就做了个体验极为真实的梦,但毕竟那个梦的感受不算很好,所以没给此篇加分。
读完本辑,感觉有点像以前读《刺杀骑士团长》,余韵停留在免色那过于理想的形象,捷豹上山时的引擎声,以及纸片人傲慢的表情。对我来说,这就挺好了。
22.04.11/中午
于自居
P.S. 作为一个南方人,读村上的小说照例要推荐台湾赖明珠翻译的版本。相较之下,大陆林少华译本的用词较容易使我跳出小说氛围,更不用提由于简体出版标准导致的种种细节问题了。
F1 2021 赛季给我们带来十几年未见之精彩。今年(2022)随着 F1 规则大改,车队之间实力洗牌,又将给我们带来怎样的一个新赛季呢?非常值得期待。
本期节目我们邀请到老朋友:老黄(黄不了),跟我们一起畅谈 F1 这项激动人心的极限运动。
P.S. 节目中提到的老黄新挂上去的唱片是 Miles Davis 的名盘 Kind of Blue,本期片尾曲选择的也是 Chet Baker 的现场专辑 Chet Baker in New York 里演奏的,Miles Davis 所写的曲子:Solar
欢迎各位听众朋友们通过以下方式联系我们:
fyfyFM
进群推荐使用小宇宙等泛用型播客客户端搜索“枫言枫语”来订阅收听本节目。
荔枝FM,喜马拉雅,蜻蜓FM等平台亦有同步。
有个朋友很是口是心非,他高中时喜欢过一个女生,很是痴情,表白好几次,女生没有直接同意,但也没有狠心拒绝,就这么尴尬的相处着,当时在同个班,抬头低头都能见到。这个朋友也没有明确的态度,依旧会给女生带她爱吃的黄焖鸡米饭,厚着脸皮跟她有一句没一句的聊天。当时我们都觉得这样下去不是个办法,得帮帮他。
有人说追女生就要直接上手,不能拐弯磨脚,他信了。在最后一节晚自习下课后在教学楼下堵她,强行的要她跟他去小树林散步,当时很年少,大家喜欢一起行动,就四五个男生过去追着那女生,是帮兄弟得到爱情。那女生和她闺蜜一起走着,很无助的样子。
他追到了,但只是追到了,女生很不情愿的被他抱了起来,我们在那围观。他把女生报下了楼,女生在反抗,他一直不停的对女生说她是真的喜欢她,终于女生挣脱了,跑回了宿舍。
这样追女生当然是不行的,只会让女生反感,我只觉得按当时那个场景,好像大型犯罪现场。
最终他没有追到哪个女生,他放弃了,他又不甘心。
他开始让我们都删掉那个女生QQ,说这样的女生不好,我没删,我不太了解她,但我觉得他说的有点极端了。以后的很长一段时间里,他还会时不时的谈起她,我真心觉得他还没有放下那个女生,他对谁都说那女生不好,但他自己却会偷偷观察她,看她有没有和其他人谈恋爱。
没多久,那女生和一个低我们一级的男生恋爱了,我朋友看不下去了,他说想把那男生打一顿,我问他你为什么会这样想,他说和他没什么关系了,但他就是看着不爽。
我终于明了,他始终没有放下她,尽管知道这是段不可能有结果的感情,但在他心里也已生长了很久,就算连根拔起,那个位置留下的空洞不会消失。
说他口是心非一点也不假,但这完全没有嘲笑或者看不起他,我是同情他放不下,不想他一直在这痛苦中走不出来。他不让我们加那个女生,但他自己却是加了又删,好几次了。他说他只是想听听她会说些什么,我笑了,我直接一句“你就是想加她”让他没话可说。
我想有些事自己知道就好,毕竟他想干嘛也只有他自己知道,尽管我所看到的就是这样,那也没必要说的清楚。旁观者自清,但不是当居者,又怎能体会那份复杂与苦涩呢?
多一点理解,留一点尊严,才会是最好的结局吧。
有个朋友很是口是心非,他高中时喜欢过一个女生,很是痴情,表白好几次,女生没有直接同意,但也没有狠心拒绝,就这么尴尬的相处着,当时在同个班,抬头低头都能见到。这个朋友也没有明确的态度,依旧会给女生带她爱吃的黄焖鸡米饭,厚着脸皮跟她有一句没一句的聊天。当时我们都觉得这样下去不是个办法,得帮帮他。
有人说追女生就要直接上手,不能拐弯磨脚,他信了。在最后一节晚自习下课后在教学楼下堵她,强行的要她跟他去小树林散步,当时很年少,大家喜欢一起行动,就四五个男生过去追着那女生,是帮兄弟得到爱情。那女生和她闺蜜一起走着,很无助的样子。
他追到了,但只是追到了,女生很不情愿的被他抱了起来,我们在那围观。他把女生报下了楼,女生在反抗,他一直不停的对女生说她是真的喜欢她,终于女生挣脱了,跑回了宿舍。
这样追女生当然是不行的,只会让女生反感,我只觉得按当时那个场景,好像大型犯罪现场。
最终他没有追到哪个女生,他放弃了,他又不甘心。
他开始让我们都删掉那个女生QQ,说这样的女生不好,我没删,我不太了解她,但我觉得他说的有点极端了。以后的很长一段时间里,他还会时不时的谈起她,我真心觉得他还没有放下那个女生,他对谁都说那女生不好,但他自己却会偷偷观察她,看她有没有和其他人谈恋爱。
没多久,那女生和一个低我们一级的男生恋爱了,我朋友看不下去了,他说想把那男生打一顿,我问他你为什么会这样想,他说和他没什么关系了,但他就是看着不爽。
我终于明了,他始终没有放下她,尽管知道这是段不可能有结果的感情,但在他心里也已生长了很久,就算连根拔起,那个位置留下的空洞不会消失。
说他口是心非一点也不假,但这完全没有嘲笑或者看不起他,我是同情他放不下,不想他一直在这痛苦中走不出来。他不让我们加那个女生,但他自己却是加了又删,好几次了。他说他只是想听听她会说些什么,我笑了,我直接一句“你就是想加她”让他没话可说。
我想有些事自己知道就好,毕竟他想干嘛也只有他自己知道,尽管我所看到的就是这样,那也没必要说的清楚。旁观者自清,但不是当居者,又怎能体会那份复杂与苦涩呢?
多一点理解,留一点尊严,才会是最好的结局吧。
文/joomaen
我是基民,一个失败的大学生。再剩下两天我就要经历一个重要的考试,有多重要,大概就是如果挂科了就会留级,这简直不能接受。我狠心复习,但没有学会何谈复习?我悲痛、烦恼、苦闷,一堆负面情绪在我脑子里面起冲突,我还怎能好好学习?
就在昨晚,我做了个梦,也可能不是梦,或许是我的幻想。那是个漫长且复杂的梦,我梦到自己穿越了,在考试的前两天,充满焦虑的我突然带着记忆回到了初中,准确说是初一。因为我初中曾转过三个学校,这是第一个。
我印象中的好友都还在,奥林还是那么喜欢欺负别人,创还是不帅且自恋,若寒依旧帅。我这时候可能还不认识若寒,他和我不是同一个小学毕业,记忆中和他之后成了朋友,这个时间可能还不熟。这一切和我记忆中完全一样,我悄悄掐了自己大腿一下,这是真的(也不知道为什么梦中还会有痛觉)。
我依旧和他们玩耍,但在学习上,我很会。就算有的遗忘也稍微听下思考下就明白。在这个小小的只有两个班的七年级排名第一,家人很高兴。我和朋友们也玩的很正常,我比他们知道的多很多,经常给他们讲些奇奇怪怪知识,人缘相当好。至此还没人发觉我有异常,我也不说出来,他们肯定不会信的。
其实说实话我还有点后悔,虽然一切都可以重来,但我的记忆还在,那些麻烦的痛苦的事情都还得再经历一次,这次我想尽可能避免。
很快,快一年过去了,要到初二了。记忆中我是要离开外婆家,回到妈妈身边,去那个更小的初中读书。可这次不同的是,我成绩很好,妈妈也给了我选择的权力—其实之前也可以选,我喜新厌旧选了转学—在记忆中对比一番,我选择不转学。可只有我知道,这个初中也只能再上一年了。
初二时,开始和记忆中有了区别,这也是我想看到的改变。由于继续再这所学校读书,老师自然是没换。成功让这个班主任教了我两年。而且初二我的一位好朋友也转了回来,他本是我小学同学,初一去了他姑姑在的临县中学,或许是他妈妈觉得私立学校不好,就又给转了回来。我本想劝他不要转,一来麻烦,二来这学校明年就要倒闭。可我没有,我还是只顾自己就好,我怕弄巧成拙,从我穿越回来的时候,一切都不一样了,说不定它还能多挺一年。
再学校里,课间我就和创、若寒他们讲笑,对别人评头论足,这样很有趣,即使我已经有了二十岁的成熟,但还是乐此不疲。放学后我和奥林去山上玩,去挖别人的坟,奥林还吓唬我说,在月圆之夜秦始皇就会复活,让我跪下对着山洞磕头,上一次我唯唯诺诺,跪了,这次没有。哼,吓唬谁呢!
那时的时间过得很慢,我挑重点讲。
初二完了,学校没有像我预期的保留下来,这是政府的命令,我也改变不得。
记忆中初三我去了那个离家远远的私立中学,当时是说好免学费妈妈才让我去的。这次那个地中海的年纪主任依旧找到我家,我的成绩更好了,连住宿费也免了。
去了学校我完全不像当初般紧张内向,全是熟人,我轻车熟路地住进宿舍和他们聊天,就像本来就认识他们一样。
记忆中我是再初三学会了抽烟,导致我在大学三天一包,浪费钱还伤身体。还有我腰椎间盘突出,好像就是在初三体育考试训练时开始的。这些都得注意。我有着记忆,生活的很是轻松。唯一让我犯难的就是那个女生。
在我上一次初三时认识她,我数学学的好,她借我的作业抄,她很外向开朗,那时怪我太内向,不敢打招呼,只能到处打听她的名字,在班群中找到她,和她QQ聊天。当时我只会在QQ聊,聊熟了现实中也不敢打招呼。想到这我就生气,于是在正式开课第一天早读刚下,我就去找她。我喊她的名字,她很惊讶。唉,现在的我,依然不知如何开场。还好她活泼开朗主动,问我的名字,我才反应过来:我认识她她不认识我。聊的多了就不尴尬了,我还讲出许多关于她的事,她很喜欢和我聊天。我们成了好朋友。
到了要中考的时候,我丝毫不慌,还常常给她讲题,我俩都考得很好。
这时候依旧没有偏离剧本,反而更加符合。我俩考的很好,比上一次都好。顺理成章的被县里私立中学给看中,由于这段没有修改什么,都是按照记忆来的。她在我隔壁班,之前还很伤心,现在完全不,有了感情基础就是很开心。她的班主任是那个搔牛的中年男人,我的班主任我还比较喜欢,在他不发飙的时候。
这时候一些重要的人要出场了,那一次认识他们是在高二,他们总嫌我加入组织太晚了。得了,我现在就去,什么,现在还没有组织?那我就是织佬。我去和砍头子、邪神、黑鬼、丹斯这些人玩,这也是必然的,其他人我感觉不配和我做朋友。
高中都喜欢谈恋爱,可过来人的想法让我打消了这个念头,我觉得现在这样朋友之上的状态很不错,只是差个称谓。(这在我大学时被称为“朋上情下”)
现在的我不会顾别人的眼光和议论,我经常在晚自习下去找她,就和YY去找砍头子一样,一起回宿舍、一起逛超市。真希望可以一直这样。
高一时班里有个大好几岁的同学,当时很喜欢他的生活方式,他也很帅,感觉和我们不太一样。现在我懂了,这是不属于这个年纪的成熟。现在的我,也差不多这样,只是身体跟不上思想。我邀请他加入组织,成为另一个织佬。
出过一个意外,有天我和她吵架了,这可是从没有过的,可能是在一起太久了的缘故。她说我像个中年人,她喜欢小正太。我又在记忆中找到了她曾经的那个恋爱对象。思想斗争了好久,加上这么久的相处,我决定告诉她真相。我说我是穿越来的,我说上次我错过你了,我说我真的很喜欢你,我到大二都还没女朋友,我说你曾经谈过两个都分了,我说我就是为了你才来的……
我说了好多,她信了。她相信我是穿越的,也相信我是真的深爱她。
高中生活比初中快很多,转眼高考了。
我又开始担心起来,我不想和她分开,我想到大学让她做我女朋友,一起吃饭、一起上课、一起去学校附近的大酒店学习。
我一收懒散,开始学习,对我来说算是复习,这比高中补考都简单。我俩好好学习,我告诉她,曾经没在一个大学,这次一定要一样。成绩出来,我比她高3分,比我自己之前高十几分。可能我的上限就在这了。我让她报什么学校告诉我,我填一样的。甚至我还告诉砍头子也跟我一样,他曾说过。但我怕这三份之差会使我们不同,还好上天眷顾,我俩还在一起。
突然间,我感到一阵困意,是那种刚睡醒的不想睁眼的感觉。我以为是我的使命完成了,可以好好享受人生,从新来过。我的眼神渐渐模糊,耳边传来一个外地中年男人的口音:空调出什么问题了?我睁开眼,原来是昨天找的修空调师傅来了。过了几秒,我才意识到不对劲,他妈的刚才那是场梦,我做梦太过投入,连早八课都没去。操!!
John Doerr 2017年出版的这本 Measure What Matters 早有耳闻,简体由中信出版,书名为《这就是OKR》(简体出版社编辑的起名倾向总是令人惋惜)。英文版读下来十分流畅,生僻词不多,推荐阅读英文版。亚马逊中国有售,配合 Kindle Wordwise 阅读会更轻松一些。
John Doerr 1974年加入 Intel,当时 Intel 正在研发奠定后来 x86 架构地位的 8086 处理器。当时 Intel 与 Motorola 的竞争达到白热化阶段,Intel 面临生死存亡的危急关头。时任 Intel CEO 的 Andrew Grove 凭借优秀的管理方法成功将全公司上下统一,全员朝研发出超越时代的 CPU 发力,给 John Doerr 留下深刻印象。John 后来也成功在 Intel 成为最优秀销售。离职 Intel 后把 Andrew Grove 的方法总结为 OKR,作为 VC 带给当时还十分年轻的 Google。后来的故事大家都知道了,OKR 成为 Google 的管理基础,直至今日仍在发光发热。
理论上 OKR 不仅适用于大公司、大组织,它也适用于个人。我从去年(2021年)开始尝试把 OKR 用于我的人生目标,所以对 John 的“正统 OKR”实践很感兴趣。这本书也给我带来了不少启发。所以对 OKR 有兴趣的读者不妨也找来看看。
全书主要分为三个部分:
第一部分从作者把 OKR 带到 Google 写起。讲故事的部分居多,也算有趣,不过有时候我觉得还是比较啰嗦。最重要的是第一部分,作者引出 OKR 的四个 Superpower:
OKR 对大组织来说最重要的作用莫过于上下统一,全员聚焦于最重要的事情。同时也提供给公司老板一种更加合理的衡量方法:关注产出(Output)而不是动作(Activity)。比如一般认为只看工作时长是“管理懒政”,因为加班多并不代表产出多。
OKR 提供了另一种合理的视角:看组织成员对于组织方向的目标(Objective)有多大贡献,而不是看他加了多少班。
对我的个人 OKR 实践来说,这点尤为重要。在我的个人 OKR 中,健康目标非常难以衡量。过去我直接让这个 Objective 和我的 Habit Tracker 挂钩,比如这个月我一共去了 N 次健身房,做了 N 次不少于 5 分钟的 Meditation 等等。这些事实上都是对“行为”的衡量。作为习惯追踪(Habit Tracker)非常有用,因为习惯养成最重要的是频率(参阅 Atomic Habits 一书)。但我是否健康,是否自信,是否每天都很有精神其实无法被这些 KRs 衡量。
OKR 有个非常重要的点,就是 Objective 可以被 KRs 衡量,当 KRs 都完成的时候,Objective 就达成了。但是我完成了本月的健身房训练次数之后,Objective 达成了吗?不见得。所以更合理的 KRs 应该是我的体重、体脂率、睡眠质量(App 打分)等能被量化的数字的提升或维持。
除非我的 Objective 是“在这个月里,养成xx习惯”。
另外是优先级(Priorities),不管是大组织也好,个人也罢。资源总是有限,像大家耳熟能详的 Time, People, Money 三者不可兼得之说。这就是优先级存在的意义。我们一段时间内只能解决一个问题,不要试图解决所有问题。
"Real artists ship."
没有产出,一家公司就会倒闭;没有产出,一个团队再有创意也只是空谈。前段时间看了 Netflix 纪录片《通用魔术》(英文名 General Magic,推荐友台主播 @JJYing 翻译的字幕),虽然这家创业公司每个成员都很厉害,大家野心也很大,受到资本界的追捧,可以说要啥有啥。但是最终他们无法在合适的时间交付一款足够好用的产品,所以结局是个悲剧。虽然历史无法重来,但是如果当时他们有一位类似 Andrew Grove 这样的管理者,可能智能手机的历史会被改写也不一定。
对我个人的 OKR 实践来说。人生需要关注的方方面面实在太多。2022 年 2 月,我试着在我的 OKR 里加入更多目标(Goals),结果导致我大部分目标都无法达成。3 月份,我从我的目标中只挑选出最重要的三个。每个都从我的大 Objective 派生出来,以 KRs 为衡量目标,完成 KRs 即达成本月目标,最终结果只有达成✅与未达成❌两种,没有中间状态。
这一项是 OKR 对大组织最有效的地方。书中举了多个例子,也邀请了多位硅谷大公司的高管来讲述他们的故事。在一个大公司工作,因为体量的关系,很多人会感觉自己就是一个流水线上拧“螺丝钉”的人。互联网有个笑话,“面试造核弹,工作拧螺钉”说的便是此理。
OKR 理论上可以解决其中一部分问题。这部分书里举了 MyFitnessPal 这个例子。公司的目标是: Help more people around the world.
KRs 设定为新用户增长和总用户数。一线员工做用户增长时可以明白自己可以帮助到更多的人。
这也是我说为什么可以解决“一部分问题”。要想让一线员工觉得自己的工作的有意义,首先这家公司的产品或服务得令人觉得有意义。毕竟这世界上还存在许多除了赚钱以外没什么正面价值的产品和服务。
对于个人 OKR 来说,这点也至关重要。我希望在每个计划与回顾周期暂停脚步,看看我过去做的事情对我的人生都产生了哪些影响。我想要的目标是靠近了还疏远了。
有时候目标制定好了,大脑就体会到“我做完了”的感觉。“set them and forget them”十分常见。
所以一个能够被执行的计划一定是经常“追踪”(Track)的。前面讲到一个 KR 在周期结束时只会有“完成与否”的二元回答,但是在周期结束前呢?Google 的做法是采用 0-1.0 之间的数字做追踪记录。
而因为下面要提到的“大目标”(Stretch,Think Big)特性,通常一个 OKR 的目标都不容易 100% 被实现,所以 Google 认为进度 0.7-1.0 即可算作目标完成,他们称为“绿色”(Green),0.4-0.6 是“黄色”, 0.0-0.3 是红色。因为“通常无法100%完成的特性”,Google 还额外加入了“打分”(Score)机制。
假设我的销售任务是谈成 10 个交易额 100 万的订单,有两种做法。一种是我一直拖延到截止日期前一个礼拜才开始积极打电话销售,熬了好几个通宵想方法做渠道投放,最终谈了 170 个客户完成了 3 个订单。另一种是我合理分配到周期内的各个时间段,经常想办法拓展渠道,虽然只谈了 100 个客户,也不需要熬夜通宵,但是谈成 7 个订单。两者应该鼓励哪种一目了然。
周期内追踪时也会对每个 KR 做标记,红色进度的 KR 需要考虑是负责人本身的问题,还是目标设定的问题,情况严重的可以考虑放弃该 KR。黄色进度的可能需要盯紧项目环节,看是否需要调配资源等支持。绿色进度的表示状态良好,继续保持。
对我的个人 OKR 来说,中期回顾有助于我发现 KR 设定的不合理之处,也让我知道当前周期内我的个人目标被实现了多少。看到一些目标有进度是个好信号,看到一些目标毫无进展则给我警告:是不是我的目标设定太多了?是不是这个目标对我来说其实并没有那么重要?
对于组织 OKR 来说,“正统”的做法是不与绩效考核(Performance Review)挂钩,避免大家为了保险起见选择一定能完成的目标。对于个人 OKR 来说,对自己保持“绝对诚实”至关重要。因为自己是自己唯一的裁判,如果为了 OKR 结果好看,我完全可以在中期随意修改 KR,变更目标,多一些 Greens, 少一些 Reds。但这样做真的有用么?
跟组织 OKR 要保持公开、透明、负责一样,个人 OKR 也要对自己诚实、负责。
前面也提到 OKR 一个特点是需要 Think Big,目标制定需要有野心,令人感觉不舒服,不太可能 100% 达成的。
书中提了 Google Chrome 的例子。当一个目标足够大的时候,即使只完成了 70%,也已经是个非常了不起的成就。OKR 的百分比进度与打分机制给予这种富有野心的目标一种合理的衡量方法。
这也是我在本书中学到的一点,除了“把目标都变成绿色”,还可以“引入打分机制”。
不过我也想到一个问题:如果大家都知道 70% 即完成,那么我制定目标的时候就可以定一个 70% 可以被完成的目标,然后上报一个 100% 的数字。所以这些规则漏洞还是必须有“不与利益挂钩”加持才有可能规避啊。
传统的任务派发式工作方法让一线员工感觉像个“拧螺丝”的流水线工人,OKR 可以解决一部分上下统一的问题。OKR 应用到个人也可以让自己更清楚自己在朝什么方向前进。
如我在《个人 OKR 实践》系列中想表达的,OKR 也只是一种工具,跟 GTD 一样,需要自己去实践,去尝试,然后发现适合自己的部分,不适合自己的部分。找到有用的东西为我所用,对于不合适的部分抛弃就好了。
读这本书对我产生最大的启发是"As Measured by…"。所有的 Objectives 都应该问这个问题,它如何才能被衡量呢?如果这个 Objective 无法被衡量,那么是否设置的时候就已经有问题了呢?
回顾我的个人 OKR,可以改进的部分还有很多,挺好的。
22.03.21/中午
今天在中文世界我们处理文本文件一般都采用UTF-8编码,但这是1993年Unicode标准出来以后,才随着互联网兴起而流行起来。所以我们在处理一些“老旧”系统的时候难免还是会遇到不同编码的文本文件,比如从某银行下载的账单就经常以意想不到的编码方式出现。
这时候直接对裸数据进行读取会失败,为了让整个流程更自动化一些,我们需要针对这些文件进行转码处理。
除了Unicode以外,世界上还存在非常多种不同的编码,仅汉字就有BIG5, GB,GBK,GB 2312等等。Google提供的ICU(International Components for Unicode)项目可以很好地帮我们找出当前文本最可能的编码格式。ICU项目应用广泛,Apache也用了,不过这个库比较大,Google还有一个简化版的库: compact_enc_det 也做了类似的事情。
输入文本bytes,库内部会循环多次进行匹配,匹配出来分数高的就是最可能的文本编码。为了优化效率,compact_enc_det 会先扫描前 16KB 的bytes,然后针对接下来最多 256KB 的bytes,之检测高于 0x80 的编码,以提高检测效率。这个库一共能检测出75种不同的文本编码。
另外针对我们最常用的UTF-8编码,还需要对文件头进行BOM处理。
BOM是Byte order mark的缩写,在Unicode标准出来以前,大家会在一个文本文件的开头写入16位的数据,用来表示当前文本的编码和大小端。
比如上图就是UTF-8文件头的BOM。在Web浏览器中,HTML的BOM一般是必须的,但是更好的做法是我们在HTML的Meta标签中写明当前文件的Encoding。
所以遇到此类带BOM的文件,我们在解码的时候需要先去掉BOM,再编码时还要记得写回BOM。
NodeJS这个库bnoordhuis/node-iconv采用C语言实现了一个iconv方法。
index.js
部分只是接口封装,核心逻辑在 binding.c
里面。
//JS入口
const conv = bindings.make(fixEncoding(fromEncoding),
fixEncoding(toEncoding));
//对应C的make()函数
conv = iconv_open(to, from);
这里具体实现引入了 iconv_open1.h 和 iconv_open2.h,应该是使用了libconv里的代码,我们主要关注unicode的loope convert方法:
static size_t unicode_loop_convert (iconv_t icd,
const char* * inbuf, size_t *inbytesleft,
char* * outbuf, size_t *outbytesleft)
其中最关键的是 incount = cd->ifuncs.xxx_mbtowc(cd,&wc,inptr,inleft);
,因为UTF-8是一种可变宽度的编码,所以一次循环要读入多个bytes才能决定是否合成一个完整的Unicdoe字符。
作者把不同编码的转换函数都统一到mbtowc()
,我们可以从 encodings.def
里找到 UTF-8 的对应函数:
DEFENCODING(( "UTF-8", /* IANA, RFC 2279 */
/*"UTF8", JDK 1.1 */
/*"CP65001", Windows */
),
utf8,
{ utf8_mbtowc, NULL }, { utf8_wctomb, NULL })
其实现根据 RFC 3629 规范来:
static int
utf8_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n)
里面就有一大堆的if-else
实现了该规范。我们查表可知,UTF-8主要分为四个区域:
Char. number range | UTF-8 octet sequence
(hexadecimal) | (binary)
--------------------+---------------------------------------------
0000 0000-0000 007F | 0xxxxxxx
0000 0080-0000 07FF | 110xxxxx 10xxxxxx
0000 0800-0000 FFFF | 1110xxxx 10xxxxxx 10xxxxxx
0001 0000-0010 FFFF | 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
0x0000-0x007F
: ASCII字符0x0080-0x07FF
: 带符号的拉丁文、希腊文等字符0x0800-0xFFFF
: 大部份常用字,比如汉字。这也是为什么有些当前文本是否中文的正则判断会直接判断这个区间。utf8_mbtowc()
会根据该规范读入相应长度的字节,返回给上层解出来的字节长度。上述四个区间,每个区间只有一种编码方式,如第一个区间,0x0000-0x007F
以下就是 1 个 byte,对应ASCII。
如果落入第二区间0x0080-0x07FF
,就要看高位的bit,110
开头的就填入110xxxxx
,10
开头的就填入10xxxxxx
。每一个子区间都是固定的。
本文以UTF-8编码为例,简述了如何检测纯文本的编码以及如何做编码转换。可以看到UTF-8还是相对简单的编码规范,已经具备一定工作量。如果要自己写一个iconv
的话,支持75种以上的编码,工作量可想而知。
苹果的春季发布会如期而至,虽然没有 M2 芯片,但苹果带来了全新的 M1 Ultra,一个顶俩 M1 Max?
不知道各位听众朋友,有没有期待的产品没在发布会上看到的呢?
又或者你会买船新的 Mac Studio 吗?
欢迎在留言区跟我们交流哦
P.S. 感谢听友 @MatthewMa 指正,我们节目中关于Studio Display价格的部分说错了,显示器是11499元,纳米玻璃13499元,支架附赠,升级款支架多加3000元。
欢迎各位听众朋友们通过以下方式联系我们:
fyfyFM
进群推荐使用小宇宙等泛用型播客客户端搜索“枫言枫语”来订阅收听本节目。
荔枝FM,喜马拉雅,蜻蜓FM等平台亦有同步。
万众期待之下,宫崎英高的新作 Elden Ring (《艾尔登法环》,俗称老头环)终于在2月25日正式发售啦!
我(Justin)也第一时间开始了受虐之旅。节目录制时我还在被小兵狂虐,现在已经开始反杀宁姆格福区的Boss啦。
魂系列一直是硬核游戏玩家心中的神作,本作因为各种原因出圈,吸引了大批新玩家入坑。不知道听众朋友们开始玩环了吗?
来留言区跟我们讲讲你的受虐史吧🤓
“褪色者,出发吧!”
P.S. 不要忘了订阅我们“两周一会”的音乐分享newsletter哦👉🏻 https://replay.cafe
P.P.S. 感谢听友 @周叶舟 指正,黑魂2不是宫崎英高制作的,这一代也被玩家戏称为黑魂外传。
欢迎各位听众朋友们通过以下方式联系我们:
fyfyFM
进群推荐使用小宇宙等泛用型播客客户端搜索“枫言枫语”来订阅收听本节目。
荔枝FM,喜马拉雅,蜻蜓FM等平台亦有同步。
没想到我们黑胶俱乐部居然有第二期啦!而且由我们三个不专业音乐爱好者 @Justin, @Oscar 和 @Clu 发起的 Newsletter - Re:Play 也正式发布了!
欢迎大家到 RePlay.cafe 订阅我们的 Newsletter 哦!
以后每期 Newsletter 也可以在这里阅读: Re:Play Newsletter | Revue
One more thing…
好朋友 @61 的新 App 谜底黑胶 也上线了,配合 iPad 超大 Widget 使用风味绝佳,欢迎大家下载哦。
@61 也给我们带来 10 个会员福利,请大家踊跃在小宇宙评论区留言参与抽奖😘
节目中分享的音乐以及提到但未播出的音乐,我们也整理了 Playlists,欢迎大家收听,记得点赞哦👍🏻。
欢迎各位听众朋友们通过以下方式联系我们:
fyfyFM
进群推荐使用小宇宙等泛用型播客客户端搜索“枫言枫语”来订阅收听本节目。
荔枝FM,喜马拉雅,蜻蜓FM等平台亦有同步。
世!界!各!地!
大连篇!
本期节目我们邀请到在大连工作的伊洪和Kenshin来跟我们唠嗑。
Kenshin 还给我们送出 10 个简悦终生 VIP 会员大礼包哦!
欢迎大家在评论区留言抽奖~
欢迎各位听众朋友们通过以下方式联系我们:
fyfyFM
进群推荐使用小宇宙等泛用型播客客户端搜索“枫言枫语”来订阅收听本节目。
哈喽大家好!
这里是《枫言枫语》播客。就快过年啦!我(Justin)和自力在这里先祝大家新年快乐,虎年大吉!
本期节目非常特别,我们本来录了一个多小时的声音,但是最后我从录音机把文件导出的时候发现它居然只有几百 KB!当时已是凌晨两点多,这下打击实在有点沉重,让我完全失去睡意。
本来我们计划要做一期春节前的节目,跟大家分享我们去年看过的有意思的文化作品,希望可以给春节期间无法回家的小伙伴们带来一点陪伴。但是因为这次录音事故导致节目无法播出。
之前我的录音机已经出现过几次故障,第一次出现是在《Vol. 55 在成都工作和生活是什么体验》这一期,我为此独自重录了我的部分。第二次出现的节目还没播出,但是那次我完美抢救回来了,所以给了我一种蜜汁自信,录音前甚至连backup plan都没有准备,最终促成了这次节目的损失。
即便如此,我们也不希望这期节目完全地消失,所以想要以一种特别的方式给到大家。我们把节目中提及的作品全部收集起来,放在Show Notes里面,希望诸位听众朋友在假期有空的时候,可以从中获得欢乐,获得勇气,在新的一年可以充满热情地追求与探索自己的人生。
顺颂
时祺
科幻/言情
近期大热的腾讯视频独播剧,主演赵今麦曾出演过《巴拉巴拉小魔仙》,在本剧造型清甜可人,网络可见“金麦郎”之梗(金麦郎成最大赢家?)。
剧情设定的想法很好,时间循环概念,年轻演员的演技稍显青涩但胜在节奏不错,悬念十足,是一部可以一看的国产悬疑电视剧。
时间循环概念的影视作品:《明日边缘》、《源代码》、《意外空间》、《寒蝉鸣泣之时》
悬疑/犯罪
这是一部悬疑电视剧,第一集以鸟瞰的形式带观众粗略走过了整个故事将会发生的时空,并在结尾引发一个巨大的悬念。
接下来的剧集围绕初始悬念展开,几乎每个人物都可以自成一个分支,是一部非常不错的悬疑电视剧。
科幻/悬疑
以科幻为背景的悬疑电视剧,一共三季,第三季在 2020 年播出。制作精良,设计巧妙。故事的重点在与空间不大,人物不算太多的情况下如何设计出错综复杂的人物关系和道德抉择,每一集带来的反转令人咋舌。
因为有科幻元素的加持,人物关系比《无罪之最》更复杂,剧情也更烧脑。
剧情/稍微有点悬疑
四个心怀音乐梦想的“Loser”聚在一起组成一个四重奏,在梦想与现实之间反复拉扯。编剧坂元裕二也写过 1991 年经典日剧《东京爱情故事》的剧本,帮初出茅庐的铃木保奈美塑造了一个国民级别的莉香角色。《东爱》这部电视剧 Justin 非常喜欢,在博客也写过介绍。
在《四重奏》中,坂元裕二继续发挥他撕碎美好的“痛人”手法,四个小人物的故事在哭笑之间一一展开。女一号松隆子演技出色,女二号满岛光造型甜美,两位男性角色也是演技到位,细节之间见出日本文化中对极致的追求和令人脑洞大开的讨论。
P.S. 这部电视剧的 ED 非常用心,第一次看甚至分不清是剧情还是 ED。是少见的可以不跳 ED 的电视剧。
剧情/悬疑
石原里美出演的经典日剧。“UDI”是负责解剖非正常原因死亡的遗体,协助找出真实死因的民间组织。石原里美饰演解剖医师。这部电视剧的精彩之处在于每一集一个独立故事,表面看一个人可能是因为显而易见的原因死去的,比如溺水。但是尸检结果却往往道出一个惊天大秘密。
动画番剧/剧情
英雄王子成长复仇之路的类型动画番剧,2021 年不知道为什么火出圈的大热 IP。小王子波吉与 Loser 卡克的身形在作品中被塑造得极其弱小,相较之下,普通人的体型几乎是他们的五、六倍。
可能是因为波吉的弱小、善良、先天缺陷和可爱的造型,再加上他的英雄成长之路,给很多人以共鸣和勇气,所以这部番剧才会火起来吧。
动画番剧/热血
鬼灭 2019 年一经播出就是大热番,2021 年出了新的续集《游郭篇》。这部番剧的主题框架跟热血番类似,也是身负巨大潜能的少年英雄,被迫踏上成长之路。
几位主要角色个性鲜明,各有惹人喜爱的特点。动画经费很足,战斗场面十分炫酷,可以一追。
奇幻/冒险
非常奇特的异世界设定,每个人会有一句话描述的技能,之后全屏高智商的发挥,确实做到了见面就开打的热血,这部爽剧一度还因为尺度原因被禁播停播了,这就更引起人的好奇了。
悬疑/惊悚
去年现象级的出圈的韩剧,大逃杀题材,差点年会的 Cosplay 就要选剧里的服装了,还好某宝不让卖。据说今年会拍第二部,也很值得期待。
科幻/游戏/爆米花电影
制作精良的商业娱乐大片,节奏紧凑,结构清晰。娱乐大片该有的搞笑、对立、爱情、反转和特效大场面都齐备了。Justin写过一篇影评: 漫无目的 06 - 我看电影《失控玩家》
科幻
年度大戏,五星好评,无需多言。我们这期节目有详细讨论,传送门: Vol. 50 沙丘 2021
科幻/苹果
2021 年苹果制作了不少优秀的电影,这一部设定在末日废土背景,孤独的主角与基于 AI 的初生机器人共同逃难的遭遇。讨论的话题不新,还机器人于人性之类。背景设定有点像 Will Smith 2007 年出演的优秀电影《我是传奇》(I Am Legend)。
科幻/剧情
主演马赫沙拉·阿里曾出演过《绿皮书》里的黑人钢琴家唐雪莉,演技优秀。这部电影讨论的是死亡与亲情的话题,整体节奏比较缓慢,主角面临万难抉择时代入感很强。
剧情/传记
讲述了一位天才盲人钢琴家对抗不公命运的传奇故事。被命运几经捉弄,几乎毫无还手之力的弱者,唯一能够用来反抗的,便是他的音乐,音乐是他重新认识、沟通世界并且对抗不公命运的唯一途径……
科幻/悬疑/苹果
这里是后期的Justin: 纠正一下,其实这是一部电视剧,不是电影,当时讲错了,但是为了跟语音保持一致所以还是放在这里。
苹果 Apple TV 上映的一部形式上非常有创意的电影,全程没有出现一个真人画面。电影情节主体由声音对话构成,画面则采用多元的视觉化元素,有音频波形,有文本消息等等。根据情节的发展和节奏不同,视觉元素也会产生相应的诸多变化。
情节设定虽然算不上出彩,但也还蛮有趣,创意无敌,值得一看。
悬疑/犯罪
翻拍自印度电影《误杀瞒天记》,因为众所周知的原因,故事背景设定在泰国而非国内。剧情本身设计得比较优秀,悬念十足,整体节奏也把握得很好。再加上导演本身在剧中夹带私货,提及和致敬了前辈的优秀作品,算是一部值得一看的国产悬疑片。
剧情
安东尼·霍普金斯 (Anthony Hopkins)演技超神之作,看得人真的揪心。利用普通的拍摄手法代入阿兹海默症患者的视角的时空,感染力十足。
剧情/喜剧
改编自贾玲在《欢乐喜剧人》里的同名小品《你好,李焕英》,笑点密集,感情充沛,是贾玲先给母亲的礼物,也是非常适合全家观看的温情电影。
剧情
改编自村上春树短篇小说集《没有女人的男人们》的其中一篇。演员的演技,拍摄的画面,整体的氛围营造都非常精彩。当然主旨表达也跟村上一贯的小说一样:让人看得一头雾水。
看到主角推开日式传统旅馆的木窗,濑户内海映入眼帘那一幕,看到主角驾驶红色的萨博小车,在蜿蜒的岸边一面驾驶一面念话剧台词的那一幕,沉浸其中,听着话剧台词与故事发展娓娓,一时不知是话剧的情节还是电影的情节。
动画/音乐
2020 年 Pixar 制作,迪士尼发行的这部动画片在国内首映是 12 月 25 日,很多人应该都是 2021 年 1 月去看的。主角是一名中学音乐教师,乔伊·高纳,一直心怀爵士乐梦想而不得。一天突遭意外身亡,却心有不甘,千方百计要回到人世。
又是一部现实与梦想拉扯的作品,跟《四重奏》相比,这部电影的整体基调要柔和一些,也是一部非常动人的作品。配乐也是本作的一大特色。
剧情/犯罪
这是一部有点门槛的作品,时长接近 4 个小时。故事背景是国民党刚到台湾的时候。改编自当时的真实事件,导演以写实的手法,还原了那个年代的诸多细节。
剧情虽然有些看不懂,但是整体的写实风格非常有意思,男主角是年轻时的小男孩张震,他也在 2021 年的电影《沙丘》中出演岳医生一角。
剧情
一部拍摄手法颇具特色的作品。故事发生在一座虚构的 20 世纪法国城市,拍摄时很多场景是室内布景,打光,构图极具艺术性。故事情节多有诙谐和讽刺之感。蕾雅·赛杜 (Léa Seydoux)出演其中一个故事,美女非常好看。
战争/动作
T34是苏联于二战前研发的中型坦克,电影的背景是在二战时期苏联与德国对战的前线。主要还是一部热血爽片,看作为坦克长的主角如何带领几个人组成的坦克小团队,用一台 T34 冲出重围。
用坦克打架的场景是本作的一绝,现场张力非常强,主角和死对头之间的战术较量看得人血脉贲张,是一部非常不错的动作爽片,只不过不是用拳脚,而是用炮弹。
节目中提到基努里维斯的枪斗术电影:疾速追杀 John Wick
动作/犯罪
2021 年看的第一部爽片,适合喜欢汽车和爆米花爽片的朋友,看豪车,无脑爽就完了,结尾真的大为震撼,就不剧透了。
书的部分比较闷,我们就不说太多了,有兴趣的小伙伴可以看 Justin 写的 《枫影夜读 #24 - 2021 我的读书》
大家可以去听本台 2021 年第一期节目: Vol. 32 未来简史,当旧神遇上新科技
既然自力提到《上瘾》,那我(Justin)也提一下《上瘾五百年》。
《上瘾》这本书原名 * Hooked: How to Build Habit-Forming Products,是讲产品设计的。《上瘾五百年》原名是 * Forces of Habit: Drugs and the Making of the Modern World,讲的是烟、酒、咖啡之类的精神药物的历史。
既然自力分享《博弈论》,那我(Justin)就提一部跟他所提倡的观点完全相反的作品,塔勒布的《黑天鹅》。
换一个角度看世界。
另外丹尼尔·卡尼曼的《思考,快与慢》也是非常不错的作品。
我们播客也有微信红包封面啦!欢迎大家使用微信扫码领取哦
欢迎各位听众朋友们通过以下方式联系我们:
fyfyFM
进群推荐使用小宇宙等泛用型播客客户端搜索“枫言枫语”来订阅收听本节目。
荔枝FM,喜马拉雅,蜻蜓FM等平台亦有同步。
过去的 2021 年对于中国互联网行业来说可能是非常震荡的一年,各种负面新闻涌现,“内卷”这个词也从戏谑泛滥成消极。
身在江湖的打工人们都不容易。但是今天来到我们节目的小鱼(sofish)却选择在 35 岁时退休,来一次中场休息。
小鱼为什么会作出这个不同寻常的选择呢?
在休息的过程中又有怎样有趣的遭遇和思考呢?
让我们一起在节目中共同探索吧!
如果大家在收听过程中有任何启发或思考,也非常欢迎在评论区一起互动交流哦~
欢迎各位听众朋友们通过以下方式联系我们:
fyfyFM
进群推荐使用小宇宙等泛用型播客客户端搜索“枫言枫语”来订阅收听本节目。
荔枝FM,喜马拉雅,蜻蜓FM等平台亦有同步。
世界各地又一次来到日本东京。
本期嘉宾是我们的老朋友歌词经理 Lyric,他最近刚搬到东京不久,让我们一起听听看中国人在东京创业都有哪些有意思的故事吧!
欢迎各位听众朋友们通过以下方式联系我们:
fyfyFM
进群推荐使用小宇宙等泛用型播客客户端搜索“枫言枫语”来订阅收听本节目。
荔枝FM,喜马拉雅,蜻蜓FM等平台亦有同步。
亲爱的读者朋友:
你好,我是 Justin。
还有几天 2021 年就要结束了。十一年前大约这个时候,我开始写《每周读书》系列,把读过的有趣的书记录下来,后来又改为《枫影夜读》,以减少“每周”对我阅读习惯的束缚。多亏了这些文字,我后来总能回忆起这些作品中有趣的部分。
过去几年,我不知道为什么总在春天立下一年想要达成的目标。到了年底再回顾下一路跌跌撞撞磕得鼻青脸肿的自己,感叹一下今年好像没白过的样子。
为什么每年不管过得多么糟糕,一到年底总感觉还不错呢?今年读了丹尼尔·卡尼曼的《思考,快与慢》,他说这叫做峰终定律。大意是在一段时间里,如果我们体验到的高峰和结尾是比较愉悦的,那么“记忆自我”会认为整个过程都挺愉悦的,哪怕低谷阶段其实非常痛苦。
感谢人类神奇的大脑,年底我的“记忆自我”总还记得今年读过的有趣书,看过的优秀的影视作品,听过的美妙的音乐。现在我把今年体验到的这些美好记录下来,分享给未来的自己,也分享给你。
我读过的书都会在豆瓣上标记,所以接下来我将以豆瓣的星星表示我的评价。
非常轻松好读的一部艺术史,贡布里希的文笔流畅易读,措辞浅近而独特,以时间为主线也不至迷失,读起来毫不费力。书中包含大量插图,所以文字并没有书的厚度看上去那么多。书本的印刷质量很好,阅读过程中时不时停下来欣赏画作也是十分令人愉悦的。
我的书评:枫影夜读 #12——恩斯特·贡布里希《艺术的故事》
加缪的《局外人》是一部充满荒诞哲学思考的小说。小时候我不太喜欢读“名著”,总感觉累,所以读此书我也是抱着试一试的态度。没想到一拿起本书就手不释卷,被这个荒诞又现实,奇妙又赤裸的虚构故事深深吸引,读得津津有味。
《简·爱》是一部超越时代的作品。作者是天才作家勃朗特三姐妹的夏洛蒂·勃朗特(Charlotte Brontë)。小说主角的经历跟作者的人生息息相关。我喜欢小说中明明十分弱小却从不肯低头的简·爱。
人生的真相是残酷的,提到现实我们不是先想到美好而是想到屈服。什么时候才能像简·爱一样,面对现实毫无畏惧地反抗呢?
今年我读到角度最清奇的一部作品,之前无论在《我的个人 OKR 实践系列》还是在我的播客节目中均多次提及本书。
写作的是身为记者的古贺史健,记录的是跟岸见一郎的谈话,谈话的内容是跟弗洛伊德同期的心理学先驱阿尔弗雷德·阿德勒的学说。跟弗洛伊德从过去找原因的心理分析不同,阿德勒是 180 度的超级大转弯,读来令我大受冲击。
虽然读到最后关于“人类共同体”的部分我实在难以理解,但是前半部分已给了我许多帮助,非常棒的一部作品。
我的书评:枫影夜读 #17 - 岸见一郎、古贺史健《被讨厌的勇气》
豆瓣 | 小说 | 1965年
从 1965 年发表第一部开始,作者 Frank Herbert 一直写到 1985 年,整整 20 年时间,小说的体量跟它的写作时间跨度一样壮观。
今年由丹尼斯·维伦纽瓦执导的《沙丘》快上映之前,我觉得必须在看电影之前补习一下小说原著,于是一口气读到第三部,实在是巨著无疑。
电影上映后我也第一时间去看了,非常喜欢。当时写了一篇影评,还录了一期播客节目。
作者构筑的沙丘星球十分宏大,不知道怎样一颗头脑才能塞得下这样的世界。
接下来是读完觉得还不错,但我还没感觉特别惊喜的书。
豆瓣 | 科幻小说 | 1984年
威廉·吉布森(William Gibson)的这部《神经漫游者》(Neuromancer)我很早就想读了,几年前读了前面一点没觉得多有趣。但是去年底打通了《赛博朋克2077》之后对 Cyberpunk 的设定特别感兴趣,于是读了这部赛博朋克早期作品。"Cyberspace"这个词就来自于这部小说,《赛博朋克2077》里的千叶城,超梦之类的设定也能从这部作品中找到痕迹。
豆瓣 | 科幻小说 | 1968年
这是 Philip K. Dick 1968 年出版的作品,比《神经漫游者》早了近 20 年。赛博朋克是 1980 年代才开始在美国流行起来的。那是日本经济景气,科技爆炸的时代。所以后来的赛博朋克小说里都少不了日本高科技企业的身影。
但菲利普·迪克的这部小说却没有这些。小说主要讨论的是仿生人(以假乱真的机器人)与人类之间的冲突。主角作为赏金猎人,在追捕逃亡的仿生人的过程中看到的、体会到的诸多事件,扰动本来冷静沉着的内心。
我很喜欢小说开场能够改变人类情感的小机器,也很喜欢可爱的仿生人 Rachael。这部小说很早就被改编电影,名为《银翼杀手》(Blade Runner)。1982 年由雷德利·斯科特(Ridley Scott)导演,2017 年又由丹尼斯·维纶纽瓦(Denis Villeneuve)导演了新版《银翼杀手2049》。
第一次看这两部电影的时候我完全没看懂,读完小说再看,忽然觉得电影里很多令人迷惑的情节有了合理的解释。抛开电影不谈,这部小说我还是挺喜欢的。
这是一本形式上非常有趣的书,也是一本无法被电子化的书。
书本身分为小说、笔记和道具三个部分。小说设定为一本在学校图书馆存放多年的旧书,由虚构的作家 V.M. 石察卡所写,这是整部作品的第一条线。这位作家的身份扑朔迷离,珍和埃里克两位主人公是这位作家的粉丝,他们在书页空白处留下了大量的对话,构成了这部作品的第二条故事线。第三条则是书页间夹着的各种餐巾纸、复印件、明信片之类的小道具。
刚拿到这本书的时候我感觉挺兴奋的,真的有手捧旧书,窥视前人故事的感觉。
不过可惜故事本身比较一般,所以我没给五星好评。
我的书评:枫影夜读 #13——《S. 忒修斯之船》。
这本书的中文名叫《人体简史 : 你的身体30亿岁了》,营销意味太强,书的内容跟“简史”没有任何关系,副标题是 A Guide for Occupants,意思是“写给居住在这副身体里的人(就是我们)的指南”。编辑改这个名字应该是为了跟 Bill Bryson 的上一部畅销作品《万物简史》挂上号,总之我不喜欢这种做法。
但是书本身挺有趣的,延续了 Bill Bryson 一贯的写作风格,既硬核又幽默。
我的书评:枫影夜读 #15 - Bill Bryson "The Body" (《人体简史》)。
读完《局外人》之后我又读了《鼠疫》。这部小说发表于 1947 年,讲述了发生在前法国殖民地阿尔及尔的奥兰市因一场鼠疫而封城,民众与疫病斗争直到退散的故事。2020 年初突如其来的 COVID-19 迅速席卷全球,把全世界打得措手不及。于是这部 74 年前发表的作品也因此契机再次流行起来。
我的书评:枫影夜读 #21 ——阿尔贝·加缪《鼠疫》。
这本书是 Robert Board 于 1983 年出版的心理学作品,英文名是 Counselling for Toads: A Psychological Adventure。书里主要讲述陷入抑郁的蛤蟆先生,在朋友河鼠与鼹鼠的鼓励下——或者说要求下——去见心理咨询师苍鹭,在经过一系列谈话治疗后重获新生的过程。
我的书评:枫影夜读 #18 蛤蟆先生去看心理医生。
豆瓣 | 历史 | 2019年
日本讲坛社出的这套全球史──《兴亡的世界史》──我很早就想读了。本来在亚马逊买了简体中文的电子版和实体版,结果推友 @songma 告知简体版删减严重,原作 21 卷硬生生被删剩 9 卷,实在荒谬至极。
也因此我开始在Readmoo讀墨上充值买书。一套繁体版的《興亡的世界史》价格不菲,但物有所值。
《人類文明的黎明與黃昏》是这套丛书的第一卷。书中多次讲到令文明繁榮之主因往往亦成為文明衰亡之主因。一個文明之衰亡,往往與其興起之時期雷同,時間漫長。但經歷成長期的人們與經歷衰退期的人所經受之體驗,卻大不相同。
豆瓣 | 历史 | 2019年
这是《兴亡的世界史》丛书第二卷,讲述了传奇帝王亚历山大的一生。
亚历山大的个人魅力毋庸置疑,但也无需将其视为神明,过分夸大希腊化世界的“巨变”。阅读过程中我总是不自觉要把大帝的所作所为映射回我们这个世界遇到的大人物们,颇有穿越时空之感。
每个人都有自己对待人生的方式。影响无论大小,总之自己的人生只有自己才能把握。
1985 年美国 Neil Postman 所著《娱乐至死》(Amusing Ourselves to Death: Public Discourse in the Age of Show Business),距今三十六年依然畅销,个中缘由,大约不管书中所提及之“电视”也好,现今互联网之“长视频”、“短视频”,甚或“电子游戏”也罢,多有相通之处。
我的书评:枫影夜读 #20 - Neil Postman 《娱乐至死》 。
豆瓣 | 小说 | 1992年
今年“元宇宙”(Metaverse)这个词因为扎克伯格把 Facebook 改名为 Meta 再次被炒得火热。这个单词本身从《雪崩》(Snow Crash)这部小说里来,但是小说跟现在被炒上天的所谓“元宇宙”其实没多大关系。
小说挺好看的,我很喜欢开场时踩着电子滑轮鞋送快递的小姑娘潇洒的身姿,也喜欢看主角穿梭于虚拟和现实之间,在落差巨大的两个平行世界展转腾挪,逢凶化吉时的勇气与坚持。虽然故事主线的推进有赖一个非常古怪的设定,但是总体来说还是比较有趣的。
七月读完 Bill Bryson 的 The Body 之后就觉得他的写作风格不错,于是顺理成章地也把他的畅销作品《万物简史》(A Short History of Nearly Everything)读了,同样是一部很有趣的作品。写作风格上两本书一脉相承,作者擅长以风趣幽默、浅显易懂的文本讲述深奥玄妙的科学原理。大到宏观天体,小到微观粒子,远及宇宙起源,近临人类发展,一场时空远超人类想象力之旅展开,读来酣畅淋漓,令人大呼过瘾。
我的书评:枫影夜读 #22 - Bill Bryson《万物简史》 。
豆瓣 | 投资、经济学、概率、随机、黑天鹅 | 1992年
塔勒布有一本畅销书叫做《黑天鹅》,大意为:你可以说你见过的天鹅都是白色,但你不可以说世界上所有的天鹅都是白色。这时候只要出现一只黑色的天鹅,你的理论就被推翻了。
这位作者研究的是概率,随机性,曾经从事过市场金融投资行业。他的写作风格十分风趣幽默,虽然总觉得一整本书好像翻来覆去都在讲同一件事情。
这是我第一次接触塔勒布的书,感觉还是满有趣的。
豆瓣 | 哲学 | 2005年
“幸福到底是不是正确的?”
通常人们觉得希望获得幸福快乐是理所当然的事情,却很少有人会问为什么。
丹尼尔·列托(Daniel Nettle)是英国纽卡斯尔大学(Newcastle University)的行为科学教授(Professor of Behavioural Science),《追究幸福:微笑中的科学》(Happiness: The Science Behind Your Smile)是他 2005 年由牛津大学出版社出版的关于心理学、哲学的一部作品。
我的书评:枫影夜读 #23 丹尼尔·列托-《追究幸福》 | 枫言枫语。
豆瓣 | 小说 | 2021年
村上春树今年的新书《第一人稱單數》。这是一部短篇小说集。
我其实很喜欢村上春树的小说,几乎读完了他所有的作品,却从来没写过他的书评。原因很简单:我没看懂。
虽然我没看懂,但阅读的过程却很享受。这也是让我感到惊奇的地方。虽然川端康成和三岛由纪夫的文字也同样令人心醉,但他们的作品好歹我能读明白主人公在做些什么。哪怕是青山七惠写的小说,我即使无法清晰地还原角色的心理状态,也还是能从朦胧中获得人物的情感体验。
但是村上的书非常奇特。看不懂就是看不懂。
《第一人稱單數》跟他写的长篇有很大不同,一个个小短篇大体还是能读懂人物在做些什么。故事内容真假参半,不知是写虚构人物还是写村上自己。
读村上的书我总能收获一些新的音乐,比如 The Beatles,比如 Arthur Rubinstein 演奏的 Schumann 的 Carnaval。
豆瓣 | 小说 | 2011年
丹尼尔·卡尼曼(Daniel Kahneman)写的《思考,快与慢》(Thinking, Fast and Slow)真是越往后读越精彩。
一开始我对这本书的书名抱有偏见以为是鸡汤畅销书差点错过一部好作品。
希望后面可以写一篇文章记录一下对本作的学习。
还有一些看过但不推荐的书,也在下文一一列出,以供读者参考。
印刷术在民间普及以前,人们如何传授知识与信息呢?大约是口口相传吧。电报发明以后,电话、传真、电视、互联网等信息传播手段爆炸式发展。现在人们盯着电子屏幕看短视频娱乐,跟以前人们捧着纸书娱乐的区别在哪里呢?
有人相信 Neil Postman 在《娱乐至死》中的论述,也有人觉得未来总有一种新的信息传播手段要替代书本阅读。
不管怎样,至少在 2021 年,我庆幸依然有这么多伟大的文字作品,能以文本的形式被读到。
不知道读者朋友,你 2021 年读了什么有趣的书呢?不妨在留言区分享下吧。
读有趣的书,真是令人愉悦的事情啊。
顺颂时祺
枫影 Justin Yan
2021年12月28日
于自居
科技快乐星球更新啦,有点久没更新了,差点变成凹凸曼星球了。
欢迎各位听众朋友们通过以下方式联系我们:
fyfyFM
进群推荐使用小宇宙等泛用型播客客户端搜索“枫言枫语”来订阅收听本节目。
荔枝FM,喜马拉雅,蜻蜓FM等平台亦有同步。