-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsearch.xml
More file actions
476 lines (225 loc) · 236 KB
/
search.xml
File metadata and controls
476 lines (225 loc) · 236 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
<?xml version="1.0" encoding="utf-8"?>
<search>
<entry>
<title>如何本地实现快速高质量的语音转文本</title>
<link href="/2026/04/22/%E5%A6%82%E4%BD%95%E6%9C%AC%E5%9C%B0%E5%AE%9E%E7%8E%B0%E5%BF%AB%E9%80%9F%E9%AB%98%E8%B4%A8%E9%87%8F%E7%9A%84%E8%AF%AD%E9%9F%B3%E8%BD%AC%E6%96%87%E6%9C%AC/"/>
<url>/2026/04/22/%E5%A6%82%E4%BD%95%E6%9C%AC%E5%9C%B0%E5%AE%9E%E7%8E%B0%E5%BF%AB%E9%80%9F%E9%AB%98%E8%B4%A8%E9%87%8F%E7%9A%84%E8%AF%AD%E9%9F%B3%E8%BD%AC%E6%96%87%E6%9C%AC/</url>
<content type="html"><![CDATA[<h3 id="起因"><a href="#起因" class="headerlink" title="起因"></a>起因</h3><p>最近发现很多好信息都在播客里,但我实在不愿意浪费时间去慢慢听播客,想要看文字版。但我并没有发现一个足够稳定的语音转多语言文本的服务,特别是针对各种奇怪任务线上插件无法做批处理。我想要处理一个系列的播客一共一百多集,数据也要自己写api获取。干脆自己做个工具吧。</p><h3 id="Solution"><a href="#Solution" class="headerlink" title="Solution"></a>Solution</h3><p>因此我上课摸鱼时vibe code了个工具<a href="https://github.com/SimonXiangD/GetTranscript">GetTranscript</a>,它是完全开源的。它通过使用openai的whisper语音转文字大模型,可以在本地实现媲美商业服务的中文语音识别,有 N 卡的话速度非常快,并且会经过LLM润色来处理句读不足的问题。 </p><p>如果使用LLM润色,会需要付token费。不过Deepseek api几乎等于免费了,我处理了0.5m input + 0.5m output汉字(不是token),只花了0.2$。</p><p>英文还没尝试,不过估计和中文效果差不多。</p><h3 id="一些奇葩的问题"><a href="#一些奇葩的问题" class="headerlink" title="一些奇葩的问题"></a>一些奇葩的问题</h3><p>本地识别有一些无伤大雅的小问题,比如说话人有口音时,语音中的人名可能无法识别,比如鹿晗吴亦凡。具体见孙割播客第十集。。。。</p>]]></content>
<tags>
<tag> 技术分享 </tag>
</tags>
</entry>
<entry>
<title>如何自定义你的无限制AI Chat Agent</title>
<link href="/2026/04/18/%E5%A6%82%E4%BD%95%E8%87%AA%E5%AE%9A%E4%B9%89%E4%BD%A0%E7%9A%84%E6%97%A0%E9%99%90%E5%88%B6AI%20chat%20agent/"/>
<url>/2026/04/18/%E5%A6%82%E4%BD%95%E8%87%AA%E5%AE%9A%E4%B9%89%E4%BD%A0%E7%9A%84%E6%97%A0%E9%99%90%E5%88%B6AI%20chat%20agent/</url>
<content type="html"><![CDATA[<h3 id="简介"><a href="#简介" class="headerlink" title="简介"></a>简介</h3><p>我们现在每天都会使用LLM,学习、生活、工作、娱乐。Gemini, Claude, ChatGPT本身都会有不错的表现。但是,有一些事情它们无法解决,或者太过人机。</p><h3 id="为什么不直接使用chatgpt之类的原生app-网页"><a href="#为什么不直接使用chatgpt之类的原生app-网页" class="headerlink" title="为什么不直接使用chatgpt之类的原生app/网页"></a>为什么不直接使用chatgpt之类的原生app/网页</h3><p>比如,对无限制内容的生成。和Gemini聊天,偶尔聊着聊着就会忽然跳出来说”I cannot fulfill this request”。虽然情况很少,但是其他模型比如Claude, Deepseek会有更多的这种道德或政治审查。虽然影响不大,但是莫名奇妙来一次还是挺烦的。</p><p>其次,系统内置prompt写的太死,自己的prompt影响甚微。比如我用Gemini优化ai绘画的prompt,大部分情况除非特殊说明,它都呆呆地调用nano banana和super intelligence帮我画图而不是帮我优化prompt,这让我很无语。</p><p>还有,它们不支持多个模式多种自定义prompt的chat agent。比如我想在chat 1里快速读书,需要助手有批判性思维和很高总结能力,但是我在chat 2里只是需要写一篇很短的文章,那么我写的系统prompt里的批判性思维就会在chat 2里用力过猛。或者我在chat 3里只是单纯吐槽一下,结果还要非常严肃地给我扯一大堆,很无趣。我没法一个chat写一个系统prompt,哪怕开头写了一堆,之后还可能会忘记,并且开新的chat就会要重新抄一次。</p><p>所以,在这片文章里,我将介绍如何自定义你的无限制AI chat agent。没有道德审查,没有写死的内置prompt,没有限制颇多无法轻易切换的自定义总体prompt。</p><h3 id="为什么不用Skills等技术"><a href="#为什么不用Skills等技术" class="headerlink" title="为什么不用Skills等技术"></a>为什么不用Skills等技术</h3><p>如果说MCP是一个提升agent广度的协议,那么Skills就是提升agent深度的技术。它们的用处更多是给全自动agent流提供新的工具接入让agent能自动化做一些事,而我分享的是ai chat agent的体验优化,是对chat agent做提升,而不是做新的工具。我这个适合需要很多互动和用户输入的纯对话场景,比如改善绘画prompt。</p><h3 id="需要什么"><a href="#需要什么" class="headerlink" title="需要什么"></a>需要什么</h3><p>必须:<br>一台电脑,能访问世界互联网的网络。</p><p>可选:<br>llm api key(推荐deepseek,便宜好用,方便获取)</p><h3 id="技术框架"><a href="#技术框架" class="headerlink" title="技术框架"></a>技术框架</h3><p>使用到的技术很简单,酒馆。酒馆有点类似character.ai的开源版,但是它有很多的自定义功能,也有一些很好的社区提供很强的相关数据资料。核心思想就是,先把酒馆在本地部署了,然后搞一个好的破限预设。</p><p>它更多是用来玩文字角色扮演游戏的;但是我发现它也适合当一个无限制,可高度自定义的ai chat agent。</p><h3 id="酒馆下载"><a href="#酒馆下载" class="headerlink" title="酒馆下载"></a>酒馆下载</h3><p>参考<a href="https://github.com/SillyTavern/SillyTavern">酒馆Github</a>。按照里面的下载指南走,本地部署就行。</p><h3 id="预设获取"><a href="#预设获取" class="headerlink" title="预设获取"></a>预设获取</h3><p>如果你没有破除道德审查的需求,可以忽略这一步。</p><p>加入<a href="https://discord.com/invite/odysseia">discord的类脑社区</a>,可以读一遍里面的新手指南,然后在资源区找一个对应你使用的llm api的破限预设。</p><h3 id="自定义agent"><a href="#自定义agent" class="headerlink" title="自定义agent"></a>自定义agent</h3><p>在酒馆里创建新角色并分配它的功能。比如,我创建了一个助手,它的功能就是帮我优化绘画prompt。</p><h3 id="设置api-key"><a href="#设置api-key" class="headerlink" title="设置api key"></a>设置api key</h3><p>在酒馆里设置你使用的api key。比如Deepseek,可以参考<a href="https://www.bilibili.com/video/BV1guNWeXERg">视频</a></p><h3 id="总结"><a href="#总结" class="headerlink" title="总结"></a>总结</h3><p>如果你有问题可以通过邮箱联系我。</p>]]></content>
<tags>
<tag> 技术分享 </tag>
</tags>
</entry>
<entry>
<title>他们都是如何起家的?孙宇晨</title>
<link href="/2026/04/18/%E4%BB%96%E4%BB%AC%E9%83%BD%E6%98%AF%E5%A6%82%E4%BD%95%E8%B5%B7%E5%AE%B6%E7%9A%84%EF%BC%9F%E5%AD%99%E5%AE%87%E6%99%A8/"/>
<url>/2026/04/18/%E4%BB%96%E4%BB%AC%E9%83%BD%E6%98%AF%E5%A6%82%E4%BD%95%E8%B5%B7%E5%AE%B6%E7%9A%84%EF%BC%9F%E5%AD%99%E5%AE%87%E6%99%A8/</url>
<content type="html"><![CDATA[<h3 id="简介"><a href="#简介" class="headerlink" title="简介"></a>简介</h3><p><a href="https://zh.wikipedia.org/zh-cn/%E5%AD%99%E5%AE%87%E6%99%A8">Wiki</a></p><p>上一篇写了马云,感觉之前写的几篇都是好几代前的企业家了,很多时候要对当时的环境去调研,写的有点麻。干脆写一个比较近的,大名鼎鼎的孙割孙宇晨。</p><p>同时,上一篇写的有一些问题。比如,试图解释太多,不管是一些无关紧要的小问题还是别的。我认为我的解释的正确率大概在60-80%,但是这些更多像是写嗨了,除了让自己高兴一下以为找到了答案以外,实际上没啥直接的意义。这一次我尽量只写事实而不写一堆自嗨的推测,除非那个推测对应很重要的节点。</p>]]></content>
<tags>
<tag> 路径分析 </tag>
</tags>
</entry>
<entry>
<title>清醒梦</title>
<link href="/2026/04/14/%E6%B8%85%E9%86%92%E6%A2%A6/"/>
<url>/2026/04/14/%E6%B8%85%E9%86%92%E6%A2%A6/</url>
<content type="html"><![CDATA[<h2 id="清醒梦"><a href="#清醒梦" class="headerlink" title="清醒梦"></a>清醒梦</h2><p>刚刚做了一个多重梦,梦到自己坐在电脑前睡着了。没错,我现实里就坐在电脑前,做梦内容也是我本来正在读文章,然后睡着了,还多次醒来再睡去。</p><p>以下的讨论都是在梦中,也就是第一层梦的场景。括号里的是现实真实想法。 </p><h3 id="梦中故事"><a href="#梦中故事" class="headerlink" title="梦中故事"></a>梦中故事</h3><p>我控制节奏让自己能做到清醒梦,自以为浅层睡眠可以让我操控自己的意识。我发现,在自我操纵的梦中,我可以看到我眼前的电脑,但是轮廓模糊,然后我故意空一段时间再看,过一段时间就黑了,所以我意识到这个清醒梦(这个清醒梦就是二层梦了)。我还做了一些操作比如清醒梦中控制手臂拍拍自己的头顶来感到触感,醒来时看一个网站的名字,清醒梦中点进去看内容并让自己醒来再点进去验证。甚至我还发现了许多触发词,比如LLM,当我在清醒梦中想到这个词后我就会意识到我在做梦,然后醒来(实际上是回到第一层梦)</p><h3 id="回到现实"><a href="#回到现实" class="headerlink" title="回到现实"></a>回到现实</h3><p>在我自以为得意发现开启掌控梦境的门后,我忽然真的醒了。之前的一切都是幻觉,不管是第一层梦还是第二层梦。触发词,头顶被拍的触感,梦中编造的网页… 全都是假的。如果不是我现实里的身体因为吹风或者别的因素醒来,我还会沉浸在梦中,并以为自己掌控了做清醒梦的能力。</p><p>那么我们的世界是第一层的梦境吗?我认为,极大概率是的。</p><h3 id="周公梦蝶的理论证明"><a href="#周公梦蝶的理论证明" class="headerlink" title="周公梦蝶的理论证明"></a>周公梦蝶的理论证明</h3><p>尽管周公梦蝶的故事已经很老套,但我想换个角度,不从玄学,而从讲讲我为什么从统计学角度认为我们的世界大概率是虚拟和人造的。我认为,人类很可能面临的一个未来便是完全沉浸在虚拟世界的天堂中。虽然现在元宇宙是炒概念,但是只要脑机接口进一步发展(可能过个三十年?但肯定是百年以内),以假乱真或许是完全可行的。未来大部分的人类会享受并真的活在那个世界中。而新的人类小孩也可以活在这样的世界里,哪怕从没见过真实的世界,他也会把第二层世界当成真实的世界。</p><p>但是,人类从拥有文明(部落结构和文字)到现在,才多久?宇宙存在的时间这么久(大爆炸理论很可能是人类现有物理理论的井底之蛙之见,但假设它有一定的准确性,那么也至少有一百亿年),而人类从有信史到今天,再到不久的陷入虚幻的未来,这段时间里,“人类诞生、存在并不陷入梦境”这件事的概率,算在整个时间线上,是自然发生的概率很低。1e5 / 1e10。</p><p>不过很可能也是瞎想,因为没有其他的外星人数据采样。而且我说的陷入梦境的假设也未必成立,只要新技术不是突然的,总会有许多讨论和辩论,肯定不会忽然某一天全人类直接进入梦境。</p><h3 id="感慨"><a href="#感慨" class="headerlink" title="感慨"></a>感慨</h3><p>我只是发现,如果没有外界干扰,人或许是无法逃离梦境的。不管是哲学上的现实与虚幻之辩,还是现实里的生理梦境,抑或社会学角度的更多具体场景,都是如此。那么真实又是什么呢?事实并不是真实;数学定理倒是绝对真实的。</p><p>或许,除了形式化的理论,真实的只有我们追求的信仰。</p>]]></content>
<tags>
<tag> 哲学 </tag>
</tags>
</entry>
<entry>
<title>他们都是如何起家的?马云</title>
<link href="/2026/04/13/%E4%BB%96%E4%BB%AC%E9%83%BD%E6%98%AF%E5%A6%82%E4%BD%95%E8%B5%B7%E5%AE%B6%E7%9A%84%EF%BC%9F%E9%A9%AC%E4%BA%91/"/>
<url>/2026/04/13/%E4%BB%96%E4%BB%AC%E9%83%BD%E6%98%AF%E5%A6%82%E4%BD%95%E8%B5%B7%E5%AE%B6%E7%9A%84%EF%BC%9F%E9%A9%AC%E4%BA%91/</url>
<content type="html"><![CDATA[<h2 id="简介"><a href="#简介" class="headerlink" title="简介"></a>简介</h2><p><a href="https://zh.wikipedia.org/zh-cn/%E9%A9%AC%E4%BA%91">马云 - 维基百科</a></p><p>马云也是中国经济和时代变化中的一个巨大象征了。从平民家庭出身,走到中国首富,再被舆论和监管斩杀退休,比较有趣的是我看的他的传记都没有中文翻译版。然后写马云的一个直接原因是,我还没写完黄峥的经历,因为黄峥的欧酷经历资料较少,我对当时的中国电商行业完全不理解,不管是竞争生态、还是电商行业本身的商业模型。所以干脆写一下马云、刘强东的经历(因为他们的经历相对独立,比如说马云的第一次创业不依赖另一个前辈,有点像DAG做拓扑排序算法的感觉了。另外写到这里我想到其实黄峥因为博客被丁磊找上其实中间也应该有一些故事,比如丁磊是做BBS发家的,当时黄峥是否是在这个BBS上写的博客呢?值得之后再探索。)</p><h3 id="早年经历-求学"><a href="#早年经历-求学" class="headerlink" title="早年经历 - 求学"></a>早年经历 - 求学</h3><p>马云1964年出生在一个戏曲家庭,但是比较倒霉,他2岁时,毛泽东发起文革,他母亲丢掉了工作,家里成分不好所以并没享受到所谓的书香门第家庭的待遇。估计也是因为成分的影响,他的小学不是当地很好的学校,小学时学生们考了一年都没考上;因为没有中学要他们,所以小学直接变成了中学(是否也有成分牵连的考虑?),不过一年后解散打乱重分了。不管是学生氛围还是师资比较一般(前者从他四年级打架打倒伤口露骨推测;后者从化学老师不喜欢贬低他推测)。不过他班主任孙老师,以及之后的数学兼英语老师都鼓励他给了他自信,导致他产生了对英语的兴趣。</p><p>马云家里虽然成分不好,但还是有些资产,在1976年买了一个可以听英语的收音机。每天清晨都会骑车去西湖练英语,通过自己背+当外国游客的向导让外国游客帮忙练,持续了九年。他在1980年时遇到了来自澳大利亚的一家人并和他们形成了友谊(据当事人回忆,当时他家7/1在公园闲逛,马云看到后主动reach out讲一些pleasantaries并约定再见,然后7/4离开前他们又在公园玩飞盘,不过短短时间内,他们已经决定成为笔友通过信件联系)。这家人未来给马云提供了极多的帮助。当时的马云虽然只有15、6岁,但是能在几天内成为笔友,他的人际交往能力是非常强的,以及每天的坚持骑车去西湖练习让他抓住了改革初期那些少有的能与外部世界产生联系的机会,而不是简单运气好遇到一家就爱发钱的大慈善家。英语不是一个简单的技能;对于马云,它一开始是被所有人轻视环境下依然能构成自尊与兴趣的明灯,随后是连接外部世界产生有利联系的桥梁。另外,英语好并不是指听说读写的具体能力那么简单;我认为更多是背后的思考能力。我看了马云的一些英语视频,感觉英语水平并不是像外国人那样流利口吻。具体的语法只是表达方式,而通过方式表达出的内容才重要。</p><p>1982年中学毕业后,马云第一次高考,数学只考了一分。(以马云的智商显然不是正常水平;但是我推测,原因是马云根本没有复习资料的渠道。我看了一遍1980年的高考卷,和今天的高考难度也半斤八两了,还有归纳法算递推式、行列式、立体几何等。我推测其他一次或者两次就考上的人都有更容易获取复习资料的渠道,而不是单纯的更聪明之类。说到底还是个context或者说训练数据的问题,就像清华的一些考试,你更加聪明对成绩的影响其实远远低于拿到前两年的试题来过拟合的影响,更多是个社交和资源问题而不是简单的学习问题)他第一次失败后,先是去找工作,失败了三十多次,许多次都是一堆人里唯一的失败者,比如kfc面试24人就他没过。这是因为他长得独特,人话就是在他人眼里丑。于是他在父亲关系下找到了一个蹬三轮的苦力工作。他说自己收到了路遥《人生》的影响决定要继续考大学(顺口吐槽,我看了下人生的百科简介没什么感觉,但是看英文传记的极端概要才发现这不是翻版红与黑吗。。。。),于是他就白天工作,夜班学习,并每周末去浙大图书馆。他的第二次和第三次高考数学分别是13与89分,进步巨大(我推测是因为补上了基础,然后市场上也有更多的资料,他也有更多的经验),第三次高考擦边进了杭师大。</p><p>1984年进入大学后,马云的专业是英语。他大二便当选为校学生会主席,举办了许多活动并且帮助了同学。1985年,在之前认识的澳大利亚朋友的邀请下,他准备去澳大利亚,但是被拒签七次。当时他在北京住地下室,虽然被拒绝了这么多次,却依然去大使馆,遇到一个老外然后直接和他说自己被拒了七次并完整讲了他如何遇到Ken的故事,才拿到签证。(这里其实也比较模糊和sus,我估计是当时的规章制度本身也比较卡,但是马云靠着自己的说服能力让自己最后绕过了死的规矩拿到了签证。只能说沟通能力确实很重要;我之前去办ssn时也是被拒绝说材料不够,然后我回家用ai辅助翻出了具体的法律条约说明某个材料不需要的那一行然后再去ssa,和保安说明我的来意并且重新取号,然后换了窗口躲过karen遇到了正常的拉丁女才重新办理成了ssn,如果沟通能力不行,被那种基层滥用权力的心理阴暗人士卡一下就直接失败了。我如果办不成ssn会导致我要去加州办损失时间和金钱,而马云则是失去出国的机会。)在澳大利亚的一个月彻底改变了马云对世界的看法,就像现在随便拉一个朝鲜普通人到美国转一圈,他会学到独立思考的能力。马云自己说“我出生在中国,100%是中国制造,也从未离开过中国。但来澳大利亚改变了太多过去的认知,我开始觉得必须得用自己的头脑去判断去思考。” 当时的中国依然沉浸在我们最幸福要解救水深火热的美国人民叙事中;他第一次看到了真实的世界是怎样的。</p><p>还有一个小细节,就是马云从澳大利亚回来后,那家人也来杭州玩,这时马云租到了皮卡,学校里搞到了宿舍接待他们,并成功安排宴会和当地官员、贵宾一起吃饭。我不知道他是怎么做到的;但我推测,硬条件有他学生会主席的的身份、他爸的背景、澳洲友人的国际身份、国际共产主义友人的政治身份,软条件有他通过学院老师或者其他渠道认识到市政府相关领导、自身口才说服领导能从举办宴会获得利益等。看似是简单的一顿饭,实则可以看出马云的人际交往能力、组织与权力机构的分析评判能力、对恩人的感谢态度。那家人回澳洲后,也决定资助马云住宿费,后来甚至给马云两万多澳元买了套房。(我认为,一半出于友谊,一半出于投资。或许现在的中国成功人士也可以去非洲,东南亚,古巴做类似的旅行在游玩同时找这样的人肉投资机会)</p><p>1988年,马云毕业了,这也是他学生生涯的终点。</p><h4 id="资产解析"><a href="#资产解析" class="headerlink" title="资产解析"></a>资产解析</h4><ul><li>杭师大的学历</li><li>杭师大学生会主席的身份</li><li>英语</li><li>极强的沟通能力</li><li>独立思考能力</li><li>坚毅、勇敢、上进的心</li><li>房产(时间点未确定)</li></ul><p>可以看出,马云的起点和其他大佬很不一样,一开始的敲门砖资产不是理工科的硬技能,而是英语和沟通能力。他的出身、外貌、家境、成绩都一般,但是在老师的鼓励下喜欢上了英语,并通过不懈的坚持努力与练习,磨练出了很强的英语与交际能力。我本人其实是不信“智商”这个说法的(除非真的是有生理性疾病);我觉得99.9%都是后天的努力和兴趣。而马云的沟通能力的培养,就是他九年里每天早上跑到西湖找外国人,当导游、练英语练出来的,而不是什么天赋。而他的坚毅、勇敢、上进的品质,也是在白眼和挫折中培养出来的。我认为他并没有主动的意识去培养这些天赋;更多是天生的内驱力导致的,因为他做别的都不行,但是班主任鼓励他英语学习,所以他能从学英语中获得其他手段难以获得的成就感,这才是驱动他每天练习的原因。说起这个,我也要感谢我初中的班主任黄老师,她教会了我和我的同学什么是努力奋斗,而不是当一个整天乱玩的小孩。</p><p>我觉得很多人会神话成功人士,但实际上大家都是两个眼睛一个鼻子,都是环境的产物。只不过,环境有太多的变量,大部分人没有能力、精力、渠道去了解成功人士生长的环境。所有情况下,人都是跟着本能走的。只是环境有太多种形态塑造出不一样的本能;人与人不同,不正是因为动力、本能、目标的不同导致最后变成不同的模样吗?</p><p>然后我搜集资料时看到一些人说马云背景是他爸,这个我觉得应该是不实的,因为当时文革,戏曲家的身份显然是debuff,如果真有背景找关系找到一个蹬三轮的工作可能也不算啥有用背景。不过平反后他爸的背景可能起到了作用,这个之后会留心。</p><p>关于学生会主席的身份,我本科期间从来没想过进学生会因为当时的想法是孤立主义自己岁月静好过自己的开心生活,现在想了想学生会身份的tradeoff。首先,进学生会是要消耗精力的,包括参加各种活动,这个是学生会的代价;而收益则比较独特,不一样的场景有不一样的结果。比如被更高层次的教授、领导看到和接触的机会,权力套利(有其他学校强制跑操和自习,朋友在学生会就可以互相py交易勾掉彼此然后不跑),更多资源的优先知情权等。马云选择加入学生会,一方面是因为他喜欢建立影响力和帮助他人,一方面可能也是因为他知道资源来之不易需要用所有的机会去主动争取。我不加入学生会也是因为看不到直接的收益(因为之前没有功利的规划,自然细节上不会看到学生会身份的利益(当然,我现在也没看到…))却要求直接的付出。但如果未来我进入了新的环境,有类似的权力架构比如有xx组织,而且我预期的功利规划可能能从中受益,那我也要学习这个思路,去主动加入和争取。或者只是最简单的社交手段,比如给同事带点小礼物、每天讲点幽默话、下班约一起运动之类。我之前从来没干过这些事,感觉确实社交意识与能力堪忧。。。</p><h4 id="操作攻略"><a href="#操作攻略" class="headerlink" title="操作攻略"></a>操作攻略</h4><ul><li>提高沟通能力(想清楚沟通的why和方法)并结识人脉</li><li>不畏惧挫折,坚持不断改错提升</li></ul><h3 id="初入职场-大学英语老师"><a href="#初入职场-大学英语老师" class="headerlink" title="初入职场 - 大学英语老师"></a>初入职场 - 大学英语老师</h3><p>毕业后,马云被分配到杭州电子工业学院当英语老师,需要当满5年(其他同学都是去中学;他因为能力强被校长分到了大学。学生会主席的经历看来还是很有用的)。于是马云就在学校里好好当了六年的教师。</p><p>我看到这其实有些诧异和好奇,他真的可以安分当这么久老师?不过我看到一个比较搞笑的事,就是1995年的一段录像,马云去阻止别人偷井盖的。(顺口一提,可惜的是,b站17年的视频,当时的评论都是赞扬、学习,现在都是怀疑、辱骂。可悲的不是他一人名声的转变;而是中国新一代人对那些美好普世价值观的态度从认同到质疑。)我觉得,可能真的是因为马云要信守对老校长的承诺。一个能冒着风险去阻止他人偷井盖的人,或许真的这么质朴。马云多次在采访中说他最快乐的时光是每月拿91块(也就是当大学老师的这段时光),可能表述准确性上和抗两百斤麦子走山路一样略有夸张,不过应该是真情表述。(我想,或许大部分中国人最快乐的时光都不是赚最多钱的时候,而是自己最努力拼搏、最拥有希望的时候。就像段永平说自己最开心的时光是高三备考,我之前看到另一个硅谷研究科学家说是高中体育课时一样。我自己最开心的时光也是高三寒假疫情在家学习的时光,而不是考上清华时)。另外从功利的角度讲,可能马云也没看到跳槽后创业一定成功的可能或者存在性(当时还没到92南巡),所以就享受当一个大学老师的工作和生活(这个则是从马云在大学干了六年推测的,他不是干了五年就立马退出)。</p><p>马云当老师期间没有轰轰烈烈的事迹或者明确数值的财富收入,更多是进一步提高了他领导、激励他人的能力,并且通过自己的影响力收获了一群信任他的同学和同事。他的教学方式比较新颖,很有活力、激励与push教学。1994年,他获得了学校的优秀青年骨干教师荣誉。</p><p>同时,他还在杭州基督教会教英语、也在公园参与着英语角,认识了许多朋友,而且当时教学时并不收费,不交费也可以进去听。(我想,或许有时,领导力就是这么建立起来的——不需要绝对过人的能力,只需要能给其他人提供他们真的需要的价值,并且和更多的人互动、组成固定可再次访问的社群,保持贡献,一个人的名望就是这样慢慢被建立起来。身边的一个例子便是有个同学,一直水群,但是真的会在群里发一些提醒、找工心得、吐槽等,最后大家都认识他并有给他起了个外号了。我也找过他帮忙内推和问一些事情。或许领导力就是能高效率利用技能和知识给其他人提供不可替代的价值?当然,马云那个环境并不一样,当时想去学英语的多少都带点素质和能力,没钱则是物质上的限制。一群有能力的人和暂时的物质缺失,潜力是很大的。今天的情况又不太一样了)这些朋友未来也会帮到他。比如他未来中国黄页的合伙创始人何一兵(英文名都是马云起的),帮忙免费拉横幅打广告、拉客户生意等。(结合人脉看似虚伪,实则是双赢的资源配置,我感觉我潜意识里对社交的看法还有那种类似以前道德批判经商的落后和偏见)</p><h4 id="资产解析-1"><a href="#资产解析-1" class="headerlink" title="资产解析"></a>资产解析</h4><ul><li>社会各界的人脉</li><li>激励、培养、影响他人的能力</li><li>英语能力</li><li>优秀老师的社会身份与信用</li><li>英语专家的名声</li></ul><p>说实话,马云这一段的经历比较plain,属于是积累期,不管是未来创业的本金、同事人脉、客户关系、社会身份信用、激励培养员工能力,都是这段时期培养的,就是量化起来看上去没啥大成就。</p><h4 id="操作攻略-1"><a href="#操作攻略-1" class="headerlink" title="操作攻略"></a>操作攻略</h4><ul><li>认真做有意义的工作</li><li>不求直接付出地高效帮助、联结他人</li></ul><h3 id="初次创业-海博翻译社与见到互联网"><a href="#初次创业-海博翻译社与见到互联网" class="headerlink" title="初次创业 - 海博翻译社与见到互联网"></a>初次创业 - 海博翻译社与见到互联网</h3><p>1994年,马云创立了海博翻译社,社员除了他,剩下的几个是退休英语老师和同事。他创立翻译社的原因是认为各行业有翻译的需求、帮退休老同事补贴家用、提高他的名声和影响力、做有意义的事开心。海博是Hope的音译,在一段当年的<a href="https://www.bilibili.com/video/BV1kV411u7Ri/">采访视频</a>中也可以看出当时一群人的精神状态。不过,万事开头难,翻译社一开始是亏损的,收入无法补上房租。于是马云会在周末去义务进货鲜花礼品袜子,还当了一年的医疗器械销售,扭亏为盈。有一个比较有趣的故事,就是当时马云英语版的一个八十多岁的老奶奶还主动去帮助做推广。马云通过自己的自信、乐观、演说能力,也鼓舞带动了周围人,而周围人也因此帮他获得更多的关系。 </p><p>在1995年,海博翻译社正式开始盈利,可能是因为搞到了更多的客户。不过马云并没有继续投入,而是有了新的事业。当时他在翻译界已经小有名气,杭州桐庐县政府和一个美国公司有投资协议却卡住,就让马云去调查(具体经过:马云 - 商界/政界客户 - 政界客户是合同参与者 - 推荐与领导见面 - 获得赴美机会)。马云第一次去美国,结果对面是骗子逼迫他一起诈骗,软禁、用枪威胁,最后马云成功逃走到西雅图。(这里的逃跑过程也很sus,有些报道说他是老虎机25美分玩到600刀,但是如果真,他为什么不继续玩?他自己也不愿向记者透露细节防止报复。另有版本说他带上了四千刀的积蓄,不过也存疑因为这笔钱很大)</p><p>总之,马云在西雅图和之前的外交同事的女婿Bill见面了。一年前他第一次听到互联网,而这次他自己亲眼见识到了,发现中国相关的信息几乎没有。他写了一个网页Hope Translation,并收到了几个他不知道是什么的电子邮件,内容是第一次看到中国相关的网站想要联系。而马云就想到一个业务,在线帮中国公司找出口渠道,而Bill创立了VBN公司。不过他没钱付定金,于是搞到一台电脑后回国(据说也是向美国杭州留学生借的钱…),随后他辞职并开始第二次创业。</p><h4 id="资产解析-2"><a href="#资产解析-2" class="headerlink" title="资产解析"></a>资产解析</h4><ul><li>见到互联网和获得电脑</li><li>更高的英语翻译专家声望</li><li>更多的人脉</li><li>经营小企业的经验</li><li>销售各种商品的经验</li><li>希望,乐观,永不放弃的精神</li></ul><p>说实话,不得不服,马云的社交能力。他目前的所有机会都是人脉或者间接人脉获得的,太牛逼了。而且不同于那种通过欺诈或者煽动仇恨的方式,他和人社交是一个双赢的过程,给我比较触动的就是那个老奶奶的例子。或许马云确实是一个天生的领袖。</p><p>优秀的领袖往往带出优秀的下属,就像小小的沛县,为何出那么多开国功臣?因为刘邦的领导能力。我现在虽然只写了两篇,但是之前黄峥和段永平,早期创业时的手下也都是他们之前工作时的手下和同事。当然,也有优秀的人更喜欢聚在一起,能看到利用新机会的原因。</p><p>当然,或许他的经历有一些被美化的嫌疑,但我觉得,大部分都是非常励志的。深度阅读的好处就在于可以看到表象背后的事实,并且不让自己的情绪被混杂的社会意识怪物影响。用土一点的话说,就是正能量。</p><p>另外,我还是忍不住吐槽那些把他人成功全都归结于运气的人。不过我们最终会成为我们的信仰和目标;信这种的当一辈子屌丝也是纯活该。(虽然确实有人运气很好,我也羡慕,不过我觉得好坏运气的长期期望是0,我自己运气不好也不坏属于正常水平)</p><h4 id="操作攻略-2"><a href="#操作攻略-2" class="headerlink" title="操作攻略"></a>操作攻略</h4><ul><li>创造价值帮助他人,结交更多样和有价值的人脉</li><li>坚持不放弃</li><li>运用商业思维利用新技术</li></ul><h3 id="二次创业-中国黄页"><a href="#二次创业-中国黄页" class="headerlink" title="二次创业 - 中国黄页"></a>二次创业 - 中国黄页</h3><p>马云回国后就辞职了,因为他在其他的老教师上看到了自己不辞职的未来,和其他企业家一模一样的转行原因,哈哈。他一开始找了二十几个学生告诉他们自己想要创业做互联网,结果其他人都反对,只有一个说干失败了早点回来。于是,马云在1995年4月(2月开始筹办)创立了中国黄页。他筹款了5万块,把家里的家具都放到办公室了,而大部分的钱被用在美国当注册费,现金流紧张。</p><p>不闲扯,中国黄页的商业逻辑是什么?中国黄页就是一个静态网站,上面有各种超链接,点进去可以看到某个公司或者组织的信息,联系方式等。业务收入就是企业,企业出钱让他们做黄页。而企业得到的是静态网站与可能的其他订单,也算是广告生意了。马云要做的就是把公司信息资料发到美国那边,然后美国那边的技术合伙人做成网站。 </p><p>但是,一开始这并不是容易的事。向一个没见过互联网的人讲互联网,就像骗子。(因为很长一段时间,杭州都没法上网,马云演示demo时只能展示打印出来的网站却要预付两万r)。我家人在几十年前也见过公开宣讲的马云,当时周围的人也都觉得他是骗子。事实上,马云周围的很相信他的人都觉得他是骗子,因为他1995年4月成立的公司,1995年8月马云才能在杭州用自己的486,花3.5h给其他人看到一个网站主页。除了技术上的困难,替他拍摄的导演樊馨蔓(通过拍摄英语班的故事认识)也说,“(马云)看起来像是一个坏人,虽然言语滔滔不绝,但是表情却鬼鬼祟祟,人家根本不知道他说的是什么。” 我找到了他<a href="https://www.youtube.com/watch?v=fmpokYZOMzQ">当时的视频</a>与<a href="https://www.bilibili.com/video/BV1oP411i7Nj">另一个视频</a>,感觉确实,尤其是马云长得比较独特。技术的不便+马云的外表,导致初期推广困难。</p><p>马云的第一批客户是谁?我没有找到确定的答案,不过大概率是望湖宾馆,是他当时英语班的学生周岚(宾馆经理)。而宾馆后来也订单增加,因为1995年9月,世界第四次妇女大会在北京召开,一些参会代表来杭州玩选了它,因为是互联网上唯一一个杭州宾馆。除此外,还有一些客户,但是都在杭州,一部分是马云之前在学校和夜校当老师的人脉带来的,一部分是马云自己挨家挨户上门推销的。(这里说是挨家挨户,但我觉得应该是马云通过人脉和对政府组织的了解去针对性上门那些企业老板和政府特定部门比如宣传部的人家里)。除此之外,他也在报纸(钱江晚报)上打过广告。</p><p>马云也用过一些trick,比如打印一堆岗位名牌放公司,来电时先让老婆接再自己接来pretend公司人多和专业(事实上,Larry Page,Bill Gates, Buffett早期创业时都用过类似狐假虎威的手段)。又比如接受采访时说世界首富Bill Gates说互联网怎么怎么样,实际上是他编的,但是借用影响力。(高中作文这一块;下次也上马斯克,或者某个多么多么有钱有名望的人说过blahblahblah,因为这样符合传播学的天性,媒体愿意推广因为有人看,用户愿意点进去试图学到东西)。</p><p>马云也去了北京宣传中国黄页试图拉到更多的客户,同时目的也是模仿雅虎,让中国黄页上的内容更diverse,比如新闻、文化、体育等行业信息。但是在北京,他不是很顺利,一开始他找朋友的朋友(在北京青年报工作的司机,当时的司机和今天的司机不是一个阶级),花了500找了唯一一个媒体愿意放到头版(1995年10月,中国贸易报),然后去和这个编辑(中国贸易报副总编孙燕君)聊,聊的很好找到了一群别的媒体聊,聊完本来准备宣传,但是上面一纸文件下来GG了(当时的中国处于朝鲜和美国的制度叠加态,上面对于信息高速公路也有不同派系,反对派认为是西方新殖民主义阴谋,实则是怕言论垄断被打破乃至自身被清算,不过支持派认为苏联就是因为科技太垃倒下的,要优先发展经济和科技。其实有些类似洋务运动;但是新中国因为赶走了满人都是汉人当政,所以态度更加开放,毕竟不用防“汉贼”)。同时聊天时其他人也提出一些他没法回答的问题,比如“这样的好东西,国家会让你一个民营企业来搞吗?”。媒体告诉他如果能让人民日报上网就可以继续宣传,然后他再次通过二阶人脉(这次的中转是上次媒体开会认识到的一个人民日报报社工作者)认识到人民日报事业发展部局长并说服一起做,然后经历了许多波折(比如来人民日报讲课、设计等等等等),最后在1997年初上线。马云在北京的消费也是人民日报报销的。不过1995年本身在北京的经历,马云并不是很成功,他拜访的其他部门比如文化部,国家体委,国家信息中心等,马云甚至提出送出中国体育这个域名,结果还是被拒绝了。</p><p>马云在北京其实没有待很久。马云自己在一次采访中说因为在北京浪费了几个月导致搜狐和其他外资企业出现竞争不过所以离开了,但其实这里他讲的不太准确,因为他是把两次北京经历混串了,一次是1995的经验,一次是1998的经验。我推测,95年虽然被上面一纸文件干了,但是他和人民日报的合作其实是在进行的,但是马云中途做到一半又推延出差去美国、回杭州了等。比如说,1996年初,马云带着技术员工李琪去美国出差并停止和VBN合作来节省成本。(何一兵是马云学校同事被拉着去一起干是马云除了老婆以外的第一个员工,而何一兵在杭州招聘会招人,李琪回杭州探亲被招募,一开始并没被马云关注不过靠着好好干技术被马云一起拉到美国学习)</p><p>96年初,中国黄页虽然已经做了许多网页,杭州、上海、无锡、北京都有客户,包括给浙江省外宣部做了一个网站宣传浙江的经济文化,叫金鸽工程。但是,公司的现金流紧张,同时浙江电信子公司Dife干了一件不太厚道的事,模仿马云,做了一个叫<a href="https://www.chinesepages.com/">www.chinesepages.com</a>的网站。对面有政府国企的名声背书,雄厚的资金,而静态网站的技术门槛和护城河并不高。1996年3月,马云决定接受并购,占30%的股份和2/7的董事会席位,而对面出140万现金占70%股份。并且在之后的一年里,马云把营业额做到七百万。不过马云在许多公司决策中会被对面联合针对,理由其实和段永平当年的经历差不多,一个想发展,一个想立马赚钱。</p><p>于是,1997年11月,马云决定离开中国黄页,把股份半卖半送给手下,和几个愿意追随他的人再次去北京。</p><h4 id="资产解析-3"><a href="#资产解析-3" class="headerlink" title="资产解析"></a>资产解析</h4><ul><li>创业成功的收入</li><li>互联网商业模式的经验</li><li>成功创业者的名声</li><li>互联网技术人才的人脉</li><li>媒体人脉</li><li>政府官员人脉</li><li>商业人脉</li></ul><p>我感觉马云的创业经历实在是太不容易了,永不放弃的很好诠释。技术上,一开始被美国合伙人收走大头、后来换成本土人才;营销上,靠着前期人脉、媒体、各种尝试、tricks。以前的创业环境不好,真的是拿自己的钱创业的,不像今天有各种风投和yc。</p><p>马云自己并不知道怎么搞互联网的底层技术,那么他的护城河是什么?我觉得答案可能就是没有护城河,因为这个阶段的马云就像是一个非常负责的销售。不管是媒体聚会面对他人的质疑,还是最终接受和杭州电信的并购,都表明他自己也意识到这一点。</p><p>但是没有护城河,为什么其他人没有创立中国黄页,而他却搞出了一番事业呢?首先,他抓住了时代风口的那一瞬间,互联网刚刚起步的阶段。当时雅虎在美国已经成立了公司,但是尚未进入中国。其次,他的人脉、推销能力、永不放弃的做事方式起到了用处。他的第一个客户是人脉推荐的望湖宾馆,第二个是雅士达,然后是律师所、电视厂等,或多或少都有马云的朋友影响。有一次,一个老板尽管听了他很多次说网站效果要比传统电视等好很多,但还是将信将疑,直到马云把网站做好给他看才最终支付。而之后的大客户比如政府官网,部分是之前和政府合作的人脉积累,部分(比如北京的)是朋友介绍然后再次循环bfs一样。</p><p>说到这里,我忽然想了想,马云是怎么积累人脉的?提供价值?我是否可以模仿他?然后我想了想,教英语,我也行啊,好歹托福117,然后也可以像马云一样,选一个话题然后开始和学生聊,把vibe搞起来。当导游呢?也行啊,我刚刚直接试着毫无准备地假想对一个没去过中国的人用英语宣传我家乡的某个景点,结果发现根本不需要腹稿,直接各种有点都可以扯,景观、建筑、旅行便利设施、不同季节和时间的景色变化、中西现代设计的结合、美女帅哥coser、廉价礼物美食交通门票等,我自己都没想到我这么能侃。</p><p>当然,上面一段更多是调侃,毕竟马云靠的不止是教英语和当导游。但我认为,他的经历可以体现出哲学上人脉是怎么积累的——主动、低成本提供价值给需要价值的人,然后再索取对方力所能及甚至轻而易举的帮助,然后循环。因为许多人脉真的能有用,比如说有几个记者朋友,创业如果需要流量是可以获得帮助的。</p><p>不过怎么提供价值呢?我想,专业技能可以是直接价值,但是一些隐形的也同样有意义。比如激励、乐观等情绪,一个很好的例子就是马云英语班的那个老奶奶。说实话,人不管多么理性,大部分都是需要情绪价值的。而提供情绪价值本身也未必是贬义的欺诈行为,尽管类似的一本书《人性的弱点》被人诟病如此,但是我觉得,相比于那种编造谎言然后故意操纵他人情绪的,更有力、高效、也完全褒义的情绪价值提供方式其实是存在的:那就是感染。马云并没有故意去奉承那个老奶奶,而是调动课堂情绪和氛围,让大家能够畅所欲言。呃,当然,情绪类似武器的附魔,没有武器这个实际价值,那也只是无用的一本附魔书。</p><p>然后除了提供价值外,可能线下参加活动也很重要。这个可以参考马云的中文传记中的细节;我自己体验也如此。</p><p>当然,今天的世界和当时的中国完全不同了。所以不能抄马云的方法而是抄结交人脉的逻辑。</p><p>同时,说实话,这个中国黄页的商业模式确实比较奇葩,对许多客户来说真的和骗子没区别… 因为大部分客户其实没法回本他们交的两万块。如果是我,分析一番后觉得这个商业模式不可行就不干了。但是马云还是坚持下去,说是忽悠也好,说是看到了远大愿景也好。虽然我决定要学习他的推销和坚持,但是对于这种商业模式,我还是持保留意见。我之前也和其他人合伙一起做过项目,对面吸引我的点是他虽然不懂技术,但是他非常坚持,而且也会激励(或者说画饼)。不过最后我还是退出了,因为感觉我技术能力还不够,同时他对数学和计算机一窍不通,坚持认为PI是可以算尽的,而且我和他解释还不愿意相信。当时给我整无语了,后悔没有早点问这个问题。</p><p>还有一个故事,就是马云被深圳商人空嘴套来了商业模式,当时马云还去帮忙安装系统,这个是被坑惨了。不过最后马云还是成功了,而对面销声匿迹。</p><h4 id="操作攻略-3"><a href="#操作攻略-3" class="headerlink" title="操作攻略"></a>操作攻略</h4><ul><li>抓住新的技术</li><li>结交人脉帮助推广、获取各种帮助</li><li>永不放弃</li></ul><h3 id="三次创业-中国国际电子商务中心的合作"><a href="#三次创业-中国国际电子商务中心的合作" class="headerlink" title="三次创业 - 中国国际电子商务中心的合作"></a>三次创业 - 中国国际电子商务中心的合作</h3><p>离开中国黄页时,马云其实已经受到了中国国际电子商务中心的邀请。他进入了国富通信息技术有限公司,这个机构是是商务部官网,和中国几大专用网之一的外经贸专用网的技术实施单位,是商务部的直属企业。领导开发了外贸部的官网(1998年3月上线),随后更多的前中国黄页员工来到北京,他又做了一个网站<a href="http://www.chinamarket.com.cn./">www.chinamarket.com.cn。</a></p><p>这段时间里,马云收获了很多,包括B2B电子商务模式、全国各地商业公司的具体数据、搜狐,雅虎和新浪的人脉、如何用技术突破B2B的物理限制。他成功推出了许多网站;不过,还有一些工作上的不顺,比如马云和领导的经营理念分歧。后者希望为大型国企服务、内网,前者希望为中小企业服务;同时,企业注册的手续繁琐、价格中等(三千,低于自建的一万但是比之后阿里巴巴的八百要高),马云编外人员身份的无话语权,以及30%的股份无法兑现,让马云萌生了离开的念头。</p><p>走之前,他也告诉下属其他的出路,但是其他人都选择跟着他走。</p><p>这段经历的细节不多,不过我认为马云获得了最关键的一些东西:技术团队,商业模式,商家数据,人脉。其实有些像段永平在小霸王的经历;只是马云的经历更加坎坷和波折。</p><h4 id="资产解析-4"><a href="#资产解析-4" class="headerlink" title="资产解析"></a>资产解析</h4><ul><li>B2B技术</li><li>B2B商业模式</li><li>端到端团队</li><li>商家数据</li><li>商业人脉</li></ul><h4 id="操作攻略-4"><a href="#操作攻略-4" class="headerlink" title="操作攻略"></a>操作攻略</h4><ul><li>学习工作背后的商业模式</li><li>进入更大的平台获取自己无法获取的独特资源</li></ul><h3 id="四次创业-阿里巴巴与第一笔融资"><a href="#四次创业-阿里巴巴与第一笔融资" class="headerlink" title="四次创业 - 阿里巴巴与第一笔融资"></a>四次创业 - 阿里巴巴与第一笔融资</h3><p>在1999年2月,马云和知名的十八罗汉一起创立了阿里巴巴。初始资金五十万,是所有人一起掏出的;工资一个月五百块,工作比996更累——10个月里没有假期,每天工作16-18h。相比之下996,甚至007都真是福报了。</p><p>初始的办公室是马云家中,当时大家甚至都睡在马云家里,十二张床。为了节省开支,马云出行都是踩自行车。然后阿里巴巴一开始对会员也是免费注册的,6月就发展了三万会员,帮助中小企业打开了渠道。</p><p>为了拉投资,马云飞到美国,东西海岸都跑了一趟。但是以他的能力都没有拉到,因为当时分析师说纳斯达克都没有阿里的模式,认为B2B都是垃圾。呃,实际上他们说的似乎挺有道理的,但是马云确实异于常人,做生意靠感觉直觉、人脉关系、坚持不懈,而不是极度理性的商业计划书。在国内拉了三十多次投资也失败了。</p><p>我不知道马云还去了多少地方,不过还有一个记录就是1999年3月他去了新加坡宣讲并获得了未来的第一个外国员工David Oliver。当时他是唯一一个去和马云交换名片的人;而6月他被马云邀请过去参观团队,被团队的干劲和办公室的形态震惊了。虽然因为马云没融到资,但他还是给阿里巴巴当免费的顾问。比如10月,他去广交会,任务是给外国人发传单,发了几天外国人来的少了,然后他就开始发阿里巴巴logo的帽子,然后这个月也是阿里巴巴拿到融资的月份,最后David在11月加入了阿里巴巴,负责中国以外市场的业务拓展。说实话看到这个我都觉得像编的了,啥玩意啊?自带魅魔体质?</p><p>不过事情发生了转机,马云的一个台湾商人朋友Jerry Wu希望阿里巴巴可以接管他陷入困境的startup,就找了Joseph,也就是蔡崇信。当时的蔡崇信本来当着Investor的董事会成员,但是和管理层之间有隔阂,就想亲自去运营。蔡崇信飞到杭州见了马云,被马云的团队、办公室、马云的愿景打动。他虽然当时年薪七十万刀,但还是辞职加入了马云团队。(这个可能是因为觉得自己到职业天花板,加上之前遇到的都是理性人而不是马云这样的天才演说家,同时失败了还可以回去,所以就加入了)另一方面,当时的互联网热潮比今天的ai热潮还要火,一个没啥业务的China.com可以在纳斯达克上市,1999年7月融到8600万刀。蔡崇信以前是律师,知道如何开公司、拉投资,对阿里正是燃眉之急。</p><p>蔡崇信帮忙建立了公司,因为当时除了网站什么都没注册(估计是从中国黄页的经历觉得注册费都是消费而不是必要的支出,完全可以拿到融资后再花钱注册,节省成本小妙招这一块),做了一些数据处理比如股东录入、注册离岸公司等。随后他和马云一起去旧金山,在Palo Alto见VC投资人。然后被问题比如商业模式,做的东西是什么问到了,因为他们甚至都没有商业计划书。而马云“I just want to go and meet people, and talk to them about it.” ,这更加是他的优势区间。</p><p>当时还有一个有趣的故事,就是1994年4月17日,经济学人发了一篇文章,第一句话是美国有Jeff Bezos,中国有马云。作者是Chris Anderson,年初的时候见过马云。当时他觉得生意不错名字糟糕,不过马云并没有改变。但是他们维持了朋友关系,而Chris把马云比作Bezos,因为他们都是精明的企业家且通过挖掘互联网的潜力致富,但是相似之处也仅此为止。Chris也是被马云的infectious enthusiasm打动,所以在报纸里提到。说到这里我想了想,假如我搞了一个startup,然后联系投资人或者媒体人,那么对方如果觉得我的生意不行,我依然可以给对方留下深刻印象甚至打动对方吗?呃,似乎是不行的,因为我感觉如果现在的我真的和他们聊天,肯定是心平气和地告诉他们为什么我的项目可以成功,有哪些数据和其他证据支持,而不是用热情打动,被拒了就礼貌离开而不在乎之后的交往。感觉还是和马云差太太太多了,用激情、愿景、理想、自信触动和感染他人这方面真的要学习。</p><p>1999年7月,China.com的爆火引爆了中国的互联网投资氛围。蔡崇信和新加坡的Transpac基金谈判,对方估值700万刀但是因为条款严苛,蔡崇信没有接受。随后,他联系了高盛的林夏如。当时高盛其实也收到了一大堆来自中国的商业计划书(亚洲资金有限),而中国很多人不知道高盛是啥还以为她是高盛先生的夫人,大部分计划书都是复制黏贴的,不被通过。而蔡崇信亲自加入阿里巴巴,让她产生了兴趣。去杭州后,她被阿里巴巴的团队打动,包括马云的妻子,“他们就像革命同志一样辛勤工作”。最终,高盛出资五百万刀,获取了阿里巴巴的一半股权。虽然马云当时也觉得一半太多,但是别无选择了。然后五百万刀的投资还有小插曲,就是高盛不愿意出那么多,所以林夏如把股权降低到33%后,还差170万刀,又找了Venture TDF的Thomas Ng(之前马云和蔡崇信在Palo Alto和他吃过饭)拉了五十万刀,Fidelity Growth Partners Asia投了五十万刀,蔡崇信的老东家Investor AB知道蔡崇信的事迹后也投了一些,最后Transpac补足了剩下的投资。</p><p>1999年10月27日,这笔投资终于完成。</p><h4 id="资产解析-5"><a href="#资产解析-5" class="headerlink" title="资产解析"></a>资产解析</h4><ul><li>多样人才的团队</li><li>媒体,投资等行业的人脉朋友</li><li>五百万的启动资金</li><li>网站和数万网站会员</li><li>更多的商业信息数据</li></ul><p>不得不感慨,马云真的是像商业魅魔一样,把各种人拉过来。他自己对技术懂得不多,在一场18年和马斯克的公开会谈上可以看出。但是他就像刘邦,能让各种很有能力的人为他工作,哪怕不为他工作也会被他感染、吸引。不管是手下团队,还是投资人,媒体报道,全都是被他感染吸引拉过来的。。。。。。。哪怕商业模式并不明确。不是魅魔是啥?</p><p>严肃一点分析,他能感染和吸引这么多人,肯定是因为他给其他人提供了不一样的价值。那是什么价值可以让他人像被催眠一样了呢?或许是理想和信念。</p><p>之后的经历就不写了,因为更多是做大而不是起家。马云的经历堪称传奇。</p><h3 id="总结"><a href="#总结" class="headerlink" title="总结"></a>总结</h3><p>马云通过自身的努力,先通过英语专业技能和人际交往能力,成为了学生会主席、获得了外国人脉涨见识和初始资金、创业屡战屡败,从海博翻译社到中国黄页到阿里巴巴,每次尽管遇到很多困难和问题,却从不放弃,并用自己的理念、愿景、演说能力鼓动感染无数身边的人,通过积累的各界技术、投资、媒体、商业人脉最终创立了阿里巴巴并获得第一笔融资。这段时间内,他解决了他人对宏大未来期望的追求。 </p><h3 id="一些其他随想"><a href="#一些其他随想" class="headerlink" title="一些其他随想"></a>一些其他随想</h3><p>我在想,如果当时的马云创业失败,他去考研结果会如何?比如也考研然后进大公司当厂长,像段永平那样?但是时代不同机遇不同,每个人都有适合自己的道路。</p><p>当然,这篇文章里有一些地方可能低估了他爸的影响,特别是平反后。比如浙江政府给他的业务等。</p>]]></content>
<tags>
<tag> 路径分析 </tag>
</tags>
</entry>
<entry>
<title>他们都是如何起家的?段永平</title>
<link href="/2026/04/11/%E4%BB%96%E4%BB%AC%E9%83%BD%E6%98%AF%E5%A6%82%E4%BD%95%E8%B5%B7%E5%AE%B6%E7%9A%84%EF%BC%9F%E6%AE%B5%E6%B0%B8%E5%B9%B3/"/>
<url>/2026/04/11/%E4%BB%96%E4%BB%AC%E9%83%BD%E6%98%AF%E5%A6%82%E4%BD%95%E8%B5%B7%E5%AE%B6%E7%9A%84%EF%BC%9F%E6%AE%B5%E6%B0%B8%E5%B9%B3/</url>
<content type="html"><![CDATA[<h3 id="简介"><a href="#简介" class="headerlink" title="简介"></a>简介</h3><p>直接上链接</p><p><a href="https://zh.wikipedia.org/zh-cn/%E6%AE%B5%E6%B0%B8%E5%B9%B3">段永平 - 维基百科</a></p><p>第二篇写段永平,因为在写第一篇的时候发现一些故事需要他的背景,而他也是白手起家、还很愿意分享、启发后辈的一个企业家,资料更多一些。另外看他的各种采访,感觉真是实诚啊,各种选择的动机说的非常清晰,感谢采访者和他本人。</p><h3 id="早期经历-求学与分配工作"><a href="#早期经历-求学与分配工作" class="headerlink" title="早期经历 - 求学与分配工作"></a>早期经历 - 求学与分配工作</h3><p>段永平生于1961年,出生在一个知识分子家庭,父母都是高校老师。上山下乡期间,他小学除了学习还干了很多劳动比如种田砍柴,好听点是生活贴近自然,难听点就是挺苦的。他读完高中时,文革结束、高考恢复,他在1977年尝试第一次高考,结果总分考了八十多。第二年经过准备后考了四百多分,因为觉得清北在江西招的专业不感兴趣就报了浙大的无线电系(因为听上去很时髦)。</p><p>进入浙大后,前两年段永平觉得有些茫然,因为感觉学的东西不很感兴趣也玩的不是很开心。然后大三的某天,他悟了,发现乐趣是在过程中,往一个目标前进的过程非常充实(他的高考经历也给了他启发)。成绩在中等水平,属于比较chill的那种学习方式。毕业后,他暑假里准备了一段时间考研,但是报名时发现没有他想考的专业,因为专业与职业相连,不是考上就行,所以哪怕复习了很久,三天后他就放弃考研了。</p><p>然后他被分配到北京一个电子管厂工作,干了三年后觉得没意思(20岁躺平的不愿,产业前途堪忧,北京拼爹拼不过 ,工作内容无趣一开始是干部科后来是成人教育教数学,听上去确实挺无聊的。。。。。),于是就考了人大的计量经济学硕士。选择经济学的原因,是他对工科不太感兴趣,想着探索找自己喜欢的东西。</p><p>最后,他读完了硕士,但是并没有拿到学位,因为认为自己不会写毕业论文就没有写。我认为实际的原因确实有这个,不过另一个原因也可能是毕业论文不写拿不到文凭也无人在意,当时没有学信网没有啥别的验证,企业想要做背调最多找学校里的人验证,那么学校里的人肯定认识他…. (但是为什么其他人都写了论文呢?可能是觉得写一下无伤大雅,不写有风险。我个人也有类似经历,硕士期间一个课,TA和我说只要补上某一次的作业就能拿A,但我并没有补,情愿和朋友出去玩和自己做别的事情,因为我认为拿A拿B对我未来发展毫无影响,拿个A看似好听,实则毫无用处并会浪费我几小时的人生。 估计段永平也是知道有没有论文都不影响他未来发展,甚至可能内心认为写论文是浪费时间,所以才会公开自曝,别人觉得他谦虚,实际上我觉得是他比较聪明)(写到后面发现段永平博客里自己承认过是这个原因,推测没毛病)</p><h4 id="资产解析"><a href="#资产解析" class="headerlink" title="资产解析"></a>资产解析</h4><ul><li>顶级学历</li><li>对行业发展和经济形势的判断</li><li>上进心</li></ul><p>我觉得段永平的早期求学环境和现代的很不一样,但是一些核心道理是一样的:知道自己的兴趣并不断探索、知道自己水平与身处环境的未来发展、发现走错路后就直接换新路。</p><p>一个有趣的观察是,人很多情况下是环境的产物,而在一个环境中感到不满后,才会被推着前进。就比如段永平,刚刚毕业的时候也是按分配走而没有特别独特的想法;一开始也会迷茫,不管是本科还是第一次考研,他其实也并不知道正确的路是哪一条。但是他知道要选时髦的行业、自己感兴趣的专业、不在一个毫无生气的环境重复每一天的稳定生活,等等。段永平在采访中也说到,“我有一个习惯,就是我如果遇到不合适的东西要赶紧离开 … 实际上,中间很多决策都是因为我觉得当时的环境不舒服,必须要离开”。</p><p>我自己也是如此,高中考大学的一个目标就是赶紧离开高中,有自己的电脑可以做动画和游戏,当时梦想还是考上交计算机系(因为米哈游创始人都是交大的…),后来去清华读了数学,发现数学行业不感兴趣还是转码了,然后想出国也是觉得想换一种环境体验,研一想做reverse aging研究因为怕死,等等。之前的很多决策,都是被痛苦驱动的。可能不是肉体上的痛苦,但是确实精神上会有些折磨。但不管什么决策,本质其实都是规避痛苦、追求兴趣,包括我现在写这个文章,目标是为了给自己找到一条未来的路,追求超出自己物欲的物质并不是因为无脑的贪婪,而是对潜在生存机会的准备(规避痛苦)与打地球ol高玩流派本身的乐趣(追求兴趣)。</p><p>人是追求安全的动物,不追求安全的原始人已经和野兽同归于尽了。这可能是刻在基因里的本能。不管是今天的考公大军,还是我抽工签前把头像换成chickfila试图抽到工签然后躺平,其实都是在追求安全。但是,这种安全真的存在吗?</p><p>东北会有下岗潮,未来的养老金会发不出,特朗普会搞出新的骚操作… 即使一切顺利,普通过完一生,结果也不过是死亡。或许,我们不会拥有绝对的安全。这或许是一个显然的事实,但是大部分人没有勇气去面对,思考解药的成本不如沉浸在虚幻的安全感和醉生梦死的娱乐中。我自己也会这样… </p><h4 id="操作攻略"><a href="#操作攻略" class="headerlink" title="操作攻略"></a>操作攻略</h4><ul><li>做正确的专业和职业判断、选择</li><li>规避痛苦,追求兴趣</li></ul><h3 id="初入职场-小霸王"><a href="#初入职场-小霸王" class="headerlink" title="初入职场 - 小霸王"></a>初入职场 - 小霸王</h3><p>读完经济学硕士后,段永平准备去广东找机会。当时海南成省,他先去了解了下,发现只有房地产炒得火热没啥实业,更多是一眼丁真纯炒概念那种,就还是去了广东。</p><p>但是他没有去深圳而是去佛山。为什么呢?段永平传的作者说他担心深圳和海南一样泡沫,但我认为真实的理由其实是,当时他在中关村找工作(career fair这一块,之后我在硅谷也可以多参加活动方便了解各种机会。。。。),虽然有北京的两个offer,同时也有一家广东的企业offer。北京不行,那就去广东吧,反正没有其他offer了(他在采访中说过别无选择)。这家企业是位于佛山的无线电八厂,段永平去了以后,发现这是个容了上百尊大佛的中庙。人才会被浪费很多,自己没活干,虽然chill但其实是浪费人生。</p><p>呆了三个月后,段永平觉得自己走对了路但进错了门(采访原话),然后就去中山,开始了未来的小霸王传奇。他经过同学介绍,和怡华集团总经理陈建仁面试了一番后,被赏识,直接被安排去日华电子厂做厂长了。当时的日华电子厂亏损严重,债务两百万现金三千块,难说是巨坑还是机会。不过一个面试直接当厂长,说明他还是很有个人能力的。我自己过去一年面了也有五十场面试,但我感觉我准备面试都是纯八股一样。。。。刷算法题,把简历上的每个项目讲清楚,课程学习内容,计算机知识,然后就这样。但是我更多像是为了面试而学习,而不是学习后在面试中自然展现自己的能力了,有点倒反天罡的感觉。或许因为我的初始目标就有些功利和错误。应该面向能力而不是面向面试学习,过拟合出来的技能未必多有用… 总之不扯别的,这里可以看出,段永平对电子行业产品、企业管理有比较全面的了解,不然总经理也不会让他当厂长了。自身实力永远是好用的敲门砖,但是被大大低估。</p><p>1989年3月,接到烂摊子后,段永平是如何扭亏为盈的?首先,分析亏损的原因。当时日华电子厂主要做代工,但是利润被压的很低。至于怎么亏到两百万的,我没有查到具体的原因,但我推测是高通胀下的高额银行贷款利息、工人工资福利、资产维修费、坏账等。可能把各种杂七杂八的坏账加一起了所以数字比较夸张,现金流没那么严重。</p><p>所以,当时的段永平有一个基础设施还行的厂子(实业资产),但是工厂没有产品和生意。段永平带领团队进行了市场调研,发现中国的游戏机市场潜力巨大,当时1990年销量三百万,市场饱和前预估可以有四千万的总销量。这里问题又来了,销量数据和预估数据都是怎么来的呢?前者可能是各种渠道汇总统计,后者可能是市场调研里自上而下或者自下而上算出来的。我觉得这两个数字背后是很多的努力和计算,看上去轻飘飘的,但是它们是决定工厂转型的最重要的因素之一。所以各种新闻不写怎么得出这个数字的,我觉得挺无语的,不过估计想写也拿不到具体资料,或许是商业机密。我还读了几篇讲市场容量计算的<a href="https://www.woshipm.com/marketing/5835708.html">文章</a>,发现真的是很难的活,不管是自上而下还是自下而上,难点都存在,比如精细数据的获取与逻辑的证明。不知道段永平做市场调研的方法,和需要做市场调研本身的这个决策,和他在人大读经济学硕士期间学的东西有没有关系呢?我猜是有的,毕竟是计量经济学。</p><p>话说回来,游戏机是一个很好的市场,现有产品比如国外进口的红白机和水货的售价高昂。那么理论上,是不是搞出一个功能与红白机类似,同时售价更低的产品,就能大卖呢?于是开干,工厂很快就做出了盗版红白机,并极大降低成本,导致售价是正版红白机四分之一的同时还能赚钱。技术上,核心芯片是从台湾联华电子进的,联电山寨并提供了更便宜的芯片(为什么联电不自己搞产品?子公司敦煌科技搞过Super A’Can但是产品和芯片设计不是一回事)。然后在产品组装,成本优化上,小霸王的技术团队做出了一些成果。</p><p>产品有了,销售方面,段永平先是改名小霸王公司创立了小霸王这个品牌(相比于其他人一直代工),并引进质量检查(目标0.3%实际达到2%)、售后退还。随后便是最重要的营销——1991年,小霸王花了四十万在中央电视台打广告(这次广告不是成龙,而是“拥有一台小霸王,打出一个万元户”的有奖销售活动与“小霸王大赛”,我找了半天没找到影像记录)。当然,打广告也不是乱打的,段永平在采访中说过,在央视打广告,分配到每个看到广告的人上的成本,要比在地方电视台上打便宜一半。他的研究生经历还在发力,哈哈。</p><p>广告获得了成功。(为什么?这是我不太理解的一个地方,就像是社媒上转发动态抽奖的行为,我以前都觉得是蠢货才干的,但是彩票行业能存在,说明确实有很多人的心理会有这样的需求,是我没有理解他们。我觉得现在先不太深入这个话题,但是之后自己做生意搞营销时需要好好把这些问题想明白。)大量的订单出现,但是总经销制度带来了混乱。于是段永平改成了分销制,省级代理总经销。 </p><p>随后便是大获成功。在1993年,游戏机市场略微饱和,而电脑和学习机出现,段永平知道电脑一定会取代游戏机,但是小霸王没能力自研电脑。不过可以在小霸王游戏机外接键盘和电脑学习卡,让它起到学习机的作用。这样,同时满足购买者(家长)和使用者(孩子)的需求:家长希望孩子开开心心、很有前途;孩子希望开开心心。但是如果只是游戏机,家长会有concern,担心对孩子不好。学习机一方面确实可以用来学习,另一方面也可以说是家长的心理安慰,哪怕知道小孩会用来一直玩,但是说不定能学点东西呢?同时,营销方面,段永平使用了儿歌营销(还是不明白为什么拍手歌广告能work。。。),与请到了成龙,打出了望子成龙的广告。小霸王再创辉煌。</p><p>可以看出,段永平与小霸王的成功,从转型选择、产品制造、营销、销售方式、产品创新多个方面,每个方面其实都有不少细节。我觉得,假如让一个人,哪怕知道之后的发展,回到当时取代段永平当厂长,他能自己搞出小霸王吗?未必,至少我不行。中间具体的决策和判断太多了,而且要结合特殊场景和环境。</p><p>小霸王的成功思路是一个好的教科书。做人们真正喜欢的产品(有实际需求的产品)、让消费者知道有这个产品可以满足他们的需求(营销)、降低成本(技术创新与山寨、销售制度)、系统维护(质量管控与售后)。</p><p>随后,段永平离开了小霸王,因为股份制度没有兑现。在采访中,他说小霸王的问题不是没有股份制,而是没有兑现承诺,没有契约。从七三到八二到九一,他认为谢谢惠顾看到谢就不用继续了。我觉得,当初小霸王不转型股份制的原因,一个是市政府不敢,一个是集团高层不愿意觉得企业没你一样赚钱。段永平离开的原因是信任,不过最后是和平分手的;毕竟,公司高层的目标是坐守其成。而段永平的目标… 我其实没太搞懂他的目标是什么,不过在小霸王继续待下去确实不让他感到开心,“钱对我来说并不重要,(继续在这里做)违背了我本分的东西,然后我觉得我不快乐,我不快乐你给我多少钱我依然是不快乐”。</p><h4 id="资产解析-1"><a href="#资产解析-1" class="headerlink" title="资产解析"></a>资产解析</h4><ul><li>巨额现金收入</li><li>企业管理经验</li><li>职业经理人名望</li><li>团队班底</li></ul><p>可以看出,段永平在小霸王的成功,主要来自他做出的许多正确选择与大胆却有效的营销策略。不管是判断出南海、无线电八厂不适合,还是做市场调研决定山寨红白机,还是打广告做儿歌改学习机,都是非常正确的选择。有人说,时势造英雄,我认为,英雄是那些能认清时势并做出正确选择的人。人会在不同的选择上有不同的判断,最后走向不同的分叉,导致不同的结果,而判断上的成功失败也会积累滚雪球。总体而言,可以清晰看到,企业管理是一门难、综合但是可以带来大收益的学问。</p><h4 id="操作攻略-1"><a href="#操作攻略-1" class="headerlink" title="操作攻略"></a>操作攻略</h4><ul><li>学习成功的企业管理案例</li><li>选择正确的平台做正确的事</li></ul><h3 id="自创基业-步步高"><a href="#自创基业-步步高" class="headerlink" title="自创基业 - 步步高"></a>自创基业 - 步步高</h3><p>段永平在1995年8月离开小霸王后,已经财富自由。不过他还是继续创业,9月在东莞创立了力高。我有一个疑问,既然已经财富自由了,为什么他不直接隐退而是要继续创业呢?我调查了不少资料后也没有找到答案(被ai幻觉固定格式与各种营销号文章气晕)。不过我认为,答案应该是混合的——兄弟们的期望与责任,对开创基业的自信,女朋友还在美国上学不急着退休,创业赚钱的过程有趣能带来快乐,多搞钱无错。</p><p>因为有竞业协议,步步高(力高通过征集名字改了)一开始做的是游戏机外销俄罗斯的生意,但是生意并不好做,原因有生产力不够、国际物流不便、中国制造在俄罗斯的信誉一般、现金流等。总之就是没赚到钱。步步高也在开启新的产品线,比如电话机。步步高建立新产线的过程也是很有趣的:段永平在小霸王时向学校要人要到了陈明永,陈明永和好兄弟贺向阳一起南下,而贺向阳和他的老领导一起跳到了亿利达,干了几个月被华为挖走前被陈明永挖走了。然后贺向阳在亿利达的人脉又挖来几个人,几个工程师分别负责电子设计和工艺,山寨一个台湾产品迅速完成了电话机研发。</p><p>随后则是优化,拿证,竞争,营销等。电话机是有些苦的生意,不是何时都能有小霸王那样好的市场。然后步步高也试图搞了一些其他产品比如电子小鸡,但是因为门槛低、市场有限、政策批评并没有进展。虽然还有员工盗窃的因素,但我觉得这个更像是事后搞一个靶子斗用来凝聚人心。(几个月前也有类似的电子产品,哈基米曼波小狗,看上去还挺好玩的,但是并不是好生意,比如up主发了视频有流量后卖一两百一个,过几天拼多多直接九十一个了,然后看着好玩但是也容易腻,哈基米文化的爱好者并没有那么高的消费意愿,不过写到这我想到一个打法就是长得还行的女up买一个然后模仿这个,肯定可以收获一堆喜欢抽象的用户的关注,但是这活有点狠,所以这个小巧思实际意义不大)。总之,不是所有产品都能成功,因为事物的客观发展规律。</p><p>除了游戏机和电话,步步高的下一个产品是VCD。此时的VCD市场混乱,国外大公司看不上鸡肋的利润,外国人用着更好的产品,国内公司有了机会。而VCD的商业模式其实和之前的小霸王、电话机差不多了,都是产品研发、销售、营销等。值得一提的是此时的竞争对手胡志标的爱多VCD,后者在1997成了标王。我查了一下爱多的发家史,认为胡志标的打法和段永平类似,但是更加激进。(胡志标草莽出身,最强的能力除了发现行业趋势、技术、执行、营销以外,我认为其实是说服与融资能力,包括一开始一穷二白时说服代理商先款后付,我不管怎么查都查不到他是怎么说服代理商的。。。。以及之后的资本运作,各种操作很秀,但是玩的太大导致最后资金链断裂,就像同样是竞争标王打广告,段永平会计算广告值不值,但胡志标更多像是上头了丢掉脑子争个高低。成也贷款败也贷款。不过如果像段永平那样更加谨慎理智的打法,草莽出身又能如何获取一开始的贷款?或许普通人是输在更少的试错机会上了,空留后人一声叹息。)不过步步高VCD具体成功还有很多细节,小到一个广告中的打光、明星代言的具体人选、销售渠道的资金留存策略、售后服务、股份制激励与员工股权兑换等。不过都没什么范式上的大创新,加上现在的生意逻辑有很多不同,就不细探了。</p><p>1998年,段永平和刘昕领了结婚证,并答应后者未来去美国和她生活。1999年他的孩子出生。</p><p>1999年,段永平把步步高拆成独立的不同公司。可能他此时也开始觉得无聊了——或许步步高的生意背后的商业模型都是固定的那一套:新技术出现,快速研发和针对中国消费者优化产品,营销宣传,分销,质量管控、售后与产品优化。把同样的方法论教给手下,手下再去完善那些具体的细节和解决不同产品遇到的独特问题。他或许觉得应该放手了,也实现了之前自己开创基业的想法。</p><p>随后,在1999-2000年期间,段永平攻读了中欧国际工商管理学院的MBA。为什么要读这个mba?段永平在01年的采访中给出了答案,为了学习,不是文凭,而是切实的知识,比如外国的先进管理知识,英文等。选择mba是因为他认为进学校效率高一些,同时有压力防止摆烂,从理论上研究管理而不是随心情。他还提到一句比较幽默的他学到的话,“如果你觉得培训贵的话,那就试试不培训的成本吧”。</p><h4 id="资产解析-2"><a href="#资产解析-2" class="headerlink" title="资产解析"></a>资产解析</h4><ul><li>步步高和子公司的股份</li><li>成熟的企业管理经验</li><li>成功的声望</li></ul><p>此时的段永平已经成为大佬了。步步高的成功,和小霸王的成功,背后的过程与逻辑其实有些异曲同工的感觉。但是看着简单,成功的人也只是少数,可能有的地方犯错,就失败了。如果我去做类似的生意,我肯定得钻研下那些能有具体数据的案例的细节,因为现在只是了解个大概。</p><p>步步高也经历过失败,比如电子小鸡的例子。也做过苦生意比如电话机。罗马不是一天建成的,成功的人有承受失败与改进的能力。对我的投资也应有一些启发。</p><p>我看了步步高的同名主题宣传曲,感觉它其实可以贴合当时中国年轻人的心理状态,是一个励志小曲。以及步步高其他广告和未来的宣传曲等,我忽然想到,我对这些广告可能是因为我并不活在这个时代,但如果我是当时时代的人,可以感受到当时那个时代的变化、氛围等等,可能真的就可以和广告中的人物场景共鸣。</p><p>另外一个想法是关于抄袭和创新的。我在想,到底什么是抄袭和创新的边界呢?抄袭到底不好在哪里呢?感觉除了恶意竞争与劣币驱逐良币外,似乎商业抄袭对抄袭者、消费者、社会都不是坏事啊。就像廉价仿制药,模仿红白机的小霸王,王心凌的翻译歌,这些算是针对本土市场做创新还是抄袭呢?很难说。而第一部版权法案安妮女王法令,也更多是利益的平衡,而不是神圣化知识版权。或许在网上能看到很多非理性批判抄袭的,但是因为当道德警察没有损失还能爽一波。我在想,如果抄袭影响不到被抄袭者的利益,那么对所有人都提供了好处,是否就是一件完完全全的大好事呢?Win! 感觉有点奇怪。</p><p>或许该抄就抄,没啥好犹豫的。人类社会或许就是在互相抄袭和改进中发展的,远到原始人复刻隔壁部落的棒子做法,近到各家llm公司互相蒸馏,哈哈。</p><h4 id="操作攻略-2"><a href="#操作攻略-2" class="headerlink" title="操作攻略"></a>操作攻略</h4><ul><li>不怕失败,做正确的事然后把事做好</li><li>做生意的具体细节</li><li>跟进潮流做最创新的产品而非最新的底层技术</li></ul><h3 id="赴美生活与投资"><a href="#赴美生活与投资" class="headerlink" title="赴美生活与投资"></a>赴美生活与投资</h3><p>2001年,段永平拿到了绿卡,为了实现对老婆的承诺,同时觉得已经不缺钱、对影响力没兴趣、享受过做企业而且未来没有新套路(顺口一题,当我看到他在采访中亲口说出这个我还挺开心的,因为上一小节我发现步步高的成长逻辑和小霸王差不多,然后他拆分公司放权的时候就推测他可能觉得无聊了,现在他的话验证了我的推测),于是就去美国,在Palo Alto陪着老婆孩子一起生活。这是有大智慧的。</p><p>因为在美国的生活比较无聊,段永平想着找些事干,就开始研究投资。从01年开始,投资网易等,然后在10年开了网易博客。他的博客收集整合成pdf有四千多页,里面有很多值得研究和学习的思考细节。不过,关于段永平怎么靠投资成功的,就是做大做强而不是起家的故事了,所以现在暂且不研究。</p><h3 id="总结"><a href="#总结" class="headerlink" title="总结"></a>总结</h3><p>段永平一开始通过学历、人脉、自身判断选择能力、自身商业和工业知识,进入电子厂成为厂长,随后靠着商业头脑和管理能力敏锐地发现了混乱市场中的商机,解决了孩子娱乐、家长望子成龙追赶科技新潮的需求。初始资产是自己的能力,背后有着工厂的硬资产支撑。</p>]]></content>
<tags>
<tag> 路径分析 </tag>
</tags>
</entry>
<entry>
<title>人生的快乐在于完成下一个目标.?</title>
<link href="/2026/04/11/%E4%BA%BA%E7%94%9F%E7%9A%84%E5%BF%AB%E4%B9%90%E5%9C%A8%E4%BA%8E%E5%AE%8C%E6%88%90%E4%B8%8B%E4%B8%80%E4%B8%AA%E7%9B%AE%E6%A0%87/"/>
<url>/2026/04/11/%E4%BA%BA%E7%94%9F%E7%9A%84%E5%BF%AB%E4%B9%90%E5%9C%A8%E4%BA%8E%E5%AE%8C%E6%88%90%E4%B8%8B%E4%B8%80%E4%B8%AA%E7%9B%AE%E6%A0%87/</url>
<content type="html"><![CDATA[<p>最近在看段永平的人生经历,发现他讲的一个观点很有趣。他在访谈中说自己最快乐的时光是高三准备高考时,拿到录取通知书后却感觉很没意思。然后他觉得人生的快乐就在于完成一个个不同的目标,不管是游戏还是现实。</p><p>我觉得很有道理。人生的快乐有很多种——不管是基础的食欲性欲,还是更高级的精神需求,非常多样,但是完成目标的过程,不管目标的形式,只要是可实现的目标,大多都是愉快的。以我个人为例,我同时享受一天工作学习写代码十小时,也享受一天打十小时文明6,因为都是在实现一个个具体的目标。</p><p>我也在想,是否有可能,把这个机制构建成应用,放到电子设备上去潜移默化影响人的行为呢?比如刷短视频刷一定数量后慢慢推送目标相关的话题让人能快乐地结束之前的娱乐而投入新的走向目标的娱乐(或者直接退出然后干正事),亦或者做成一个职业规划app,一个人说出自己的梦想后ai辅助慢慢变成一个相对清晰的目标,然后再拆成一个一个小目标,指导用户。就像老滚5不会上来什么任务不给直接让玩家去杀奥杜因而是一个个秘境引导,而不同人的梦想不同,ai起到昂贵的个人职业发展辅导的作用。不过我觉得可行度也就那样,因为大部分人的问题不在于没有执行力而在于没有足够的志向与动力。现在的我也是这样的。。。</p><p>说回正题,这个目标带来快乐的机制,用在一些具体的执行规划上或许会有用。也顺便说下我的下一个目标吧,就是调研完5个大佬的人生经历。(本来想写10个,但是感觉单独调研一个其实已经很费力了,甚至一个人的一段经历中都需要花时间去了解很多背景知识,比如A是B帮助的,那么又要去看B,然后CDE等。看完大佬的经历,再看看同辈或者十年前的人的。)</p>]]></content>
<tags>
<tag> 随笔 </tag>
</tags>
</entry>
<entry>
<title>他们都是如何起家的?黄峥</title>
<link href="/2026/04/06/%E4%BB%96%E4%BB%AC%E9%83%BD%E6%98%AF%E5%A6%82%E4%BD%95%E8%B5%B7%E5%AE%B6%E7%9A%84%EF%BC%9F%E9%BB%84%E5%B3%A5/"/>
<url>/2026/04/06/%E4%BB%96%E4%BB%AC%E9%83%BD%E6%98%AF%E5%A6%82%E4%BD%95%E8%B5%B7%E5%AE%B6%E7%9A%84%EF%BC%9F%E9%BB%84%E5%B3%A5/</url>
<content type="html"><![CDATA[<h2 id="简介"><a href="#简介" class="headerlink" title="简介"></a>简介</h2><p>直接上链接</p><p><a href="https://zh.wikipedia.org/zh-cn/%E9%BB%84%E5%B3%A5">黄峥 - 维基百科</a></p><p>第一篇写黄峥,单纯是最近刷到了讲他帖子,我又觉得我现在的经历和他早期的经历有相似之处,都是陆本然后美国读计算机硕士,毕业进科技大厂。当然,二十年前和现在还是差距挺大的… </p><h3 id="早期经历-求学与实习"><a href="#早期经历-求学与实习" class="headerlink" title="早期经历 - 求学与实习"></a>早期经历 - 求学与实习</h3><p>黄峥出生在杭州一个普通家庭,父母在丝绸厂工作,家里谈不上贫穷,但比较拮据。他上了杭州的一个普通小学,因为奥数得奖被老师让去考杭州外国语学校,然后就考上了。在杭外,他接受了偏现代和西化的教育,同学都有不错的家境。他也形成了更加liberal的价值观。他的成绩一直都是第一名。</p><p>随后,他被报送到浙大混合班学计算机。大一时,他被选入了学校的一个计划,这个计划会为入选人提供电脑和一年的免费上网,以及出国和其他不同国家学生交流的机会。 </p><p>他保持着第一名的成绩,并会在网上发表技术博文。他在大四时(2001)被网易老总丁磊在msn(在icq,qq创立后微软推出的实时通讯巨头,虽然后来因为功能简洁等被qq赶超了)上找上,求助他一个分布式技术问题。(当时分布式还是很前沿的技术;还记得mapreduce是04年才发表的文章)丁磊当时有想招他进网易。黄峥帮他把问题轻松解决了,然后和丁磊也有了很多技术以外的交流(比如创业,借机房,被人欺负等)。</p><p>随后,黄峥去UW-Madison读cs硕。读硕期间,丁磊把段永平介绍给他(丁磊和段永平是通过名片和电话认识的,丁磊想要请教营销,段永平想要了解互联网,后来段永平投资救了网易也获得了很好的回报)。很多文章都说段永平给黄峥推荐了谷歌而非微软,但段永平本人回应过 <a href="https://finance.sina.com.cn/tech/digi/2025-09-26/doc-infrurfm7799897.shtml">“我是黄峥进入谷歌以后才认识的”</a>。我也没找到段永平和黄峥第一次联系的缘由,这个有待考证。</p><p>黄峥读书期间,在微软的北京研究院与美国Redmond总部都实习过。实习的工作内容.. 我没查到,不过应该是一些普通的开发工作,因为他在自己的博客中说能一眼看到十年后的未来。这很微软,有wlb适合躺平,我在微软苏州的体验也是如此。而黄峥04年毕业,他没有选择微软而是选择了谷歌。当时的谷歌还是startup而不是今天的世界科技巨头,ipo也是04年8月举行的,而mountain view办公室是03年才租下的。所以他的这个选择,在同学看来有些冒进。不过黄峥的“人生导师”告诉他去谷歌对他未来创业也是有好处的。可想,当时的黄峥就有野心,而不是满足于硅谷码农躺平的人生叙事(也可能当时还没这种叙事)。</p><h4 id="资产解析"><a href="#资产解析" class="headerlink" title="资产解析"></a>资产解析</h4><p>黄峥在早年的求学生涯,主要积累了这些资产:</p><ul><li>学历</li><li>扎实且前沿的计算机技术知识</li><li>顶级科技公司的实习经历</li><li>优质的人脉</li><li>独立思考的能力(对人生有自己的规划,不随大流)</li></ul><p>我认为,许多讲他成功路的文章,其实都低估了他的技术实力。实际上,他的人脉、实习、进入谷歌的机会,都是他的技术能力带来的。现在看可能都是一些古老的基础技术,但是为什么会同样技术的人,现在不会得到这些机会而当年的他可以?主要有两个原因。</p><ol><li>他有其他人亟需的价值:解决前沿问题的能力</li></ol><p>在日新月异科技行业,技术并不是核心,能解决问题的技术,与最新潮的技术才是核心。前者自不必多说;后者则是因为公司管理(或者独立开发者)无法预测未来,因此从上到下需要追求前沿技术防止落后,哪怕这个技术最后变成依托答辩。</p><p>两者多数时候一致,但是底层是不同的:一个是遇到钉子找锤子,一个是拿着锤子找钉子。 我个人认为,发现好的钉子更难。</p><p>不过这里的一个启示就是,时刻保持着对前沿科技的了解,以及有一个扎实的基础。前者可以每天看HN和TLDR tech板块;后者,美国大学公开网课自学把作业好好写完就行。</p><ol start="2"><li>他的能力能被他人看到:技术分享与曝光</li></ol><p>我不知道是不是我个人的问题,就是我潜意识里一直认为营销、宣传是个贬义词。可能是因为一直被教导要谦虚内敛,并会因为在现实社交中因为内敛谦虚而收到他人的赞扬,而看到那些大肆宣传但略有夸张的措辞就感到反感。或许不止是我,其他很多背景相似的同学也会有这样的感受。</p><p>背后的原因很复杂。不过,我觉得技术分享也有两种,第一种便是认真做技术和写技术分析,受众是自己(没错,归纳总结,把模糊的思想写成确凿的文本)与同样的技术人员;第二种是写科普新闻,受众是吃瓜群众。实际表现时两者可以混合。但仔细想想,其实不管怎么看,这都是好事啊。前者可以提高自己和吸引同好、帮他人解决实际问题,后者可以让非技术人员了解一些可能对他们有用的科技,哪怕措辞不准确,但是实际上能给自己带来流量、给他人带来启发和生产力,是双赢的事,为什么要排斥呢?</p><p>所以我觉得,这里的启发就是,我之前的潜意识其实并不准确,或许更多是文化幽灵的惯性遗留。写技术博客是一个百利无害的事;至于写科普新闻,现在阶段还不是我准备做或者研究的事。它会是其他流派中很重要的一环,不过之后再研究了。(或许我应该逼自己每天一篇?呃,写完这个再说吧)</p><h4 id="操作攻略"><a href="#操作攻略" class="headerlink" title="操作攻略"></a>操作攻略</h4><ul><li>打好cs基础</li><li>跟进前沿科技</li><li>写博客并曝光</li></ul><h3 id="初入职场-谷歌"><a href="#初入职场-谷歌" class="headerlink" title="初入职场 - 谷歌"></a>初入职场 - 谷歌</h3><p>随着学生生涯的结束,黄峥04年加入谷歌工作。他一开始负责广告后台系统开发,随后06李开复创办谷歌中国,黄峥被派到中国拓展业务,负责处理本地化,与百度竞争。据他自己说,在谷歌时做了码农和产品经理。(我有些好奇,为什么才2yoe就能当pm?我猜测,一方面是因为他技术实力足够强,另一方面是谷歌要在中国拓展业务加上他足够聪明知道如何在一个体系中成为第一名,因此也获得了这个机会)。</p><p>04-06的时间里,谷歌股票暴涨,黄峥直接实现了财富自由(是运气碰到了有准备的人)。同时,他也收获了许多认知上的成长。人脉上,和段永平network,以及参与巴菲特午餐;内心上,他没有讲过他具体做了什么,但我推测,他在这段时间里读了很多商业相关的书籍。比如我考古考到一篇他在<a href="https://china.googleblog.com/2006/02/">谷歌中国写的博客</a>。以及他在谷歌的工作经验也教给了他许多综合性的东西。比如企业文化、招聘团队、钱与个人生涯观念等。他能被段永平赏识并给出“少数悟性高、很快看到本质的人”,我认为也和他自己的读书思考不无关系。</p><p>07年,尽管没有拿到全部的股票,他还是离开了谷歌。没有直接说明原因,但应该是因为他在谷歌负责的工作都是一些太过琐碎的事物,比如一直在中美来回飞,向Sergey Brin和Larry Page报告修改谷歌中国搜索出来的字体颜色之类的事。我想,当时的黄峥在飞机上,一定会觉得这种事很荒谬。或许是有利于谷歌总部的管理的,但是限制了他大展手脚。我估计他觉得在谷歌学不到什么新东西了,加上初步财富自由不需要为了钱工作,就离开了谷歌准备自己创业。</p><h4 id="资产解析-1"><a href="#资产解析-1" class="headerlink" title="资产解析"></a>资产解析</h4><ul><li>名企title</li><li>上百万美元的工资和股票</li><li>商业认知</li><li>人脉</li></ul><p>如果说上一段经历中最重要的是技术,那么这一段经历中最重要的便是商业认知。很多文章都会强调巴菲特午餐,为了噱头和流量;但是,在黄峥<a href="https://web.archive.org/web/20180827131901/https://colinhuang.com/">自己个人的博客网站</a>(虽然已经封闭了,但是孩子们别怕我们有牢webarchive)中,他自己写谷歌工作经历的博客,介绍的summary就是:</p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">Google has enabled me to see and understand its model, business in general and foreign tech companies in China.</span><br></pre></td></tr></table></figure><p>大部分人,在谷歌干了两三年后,或许会在linkedin上写,”I built a fancyblabla system that improved blabla efficiency by 30%”,以一种技术视角。但是黄峥整个文章都没有谈到特别具体的技术,而是讨论谷歌的企业文化、管理理念、自己的得失与观察体悟。他不止是在想我的工作内容要怎么快速搞完工程实现然后就不管工作了,而是在以业务角度,观察思考谷歌的商业模型,从一个商人而不只是码农的角度思考。我在Bytedance实习时,manager也和我说过,如果想要更快地成长,要思考做的事情背后的why而不只是提高技术。</p><p>我觉得很多码农是不会思考这个的。当然,这并非是因为他们能力不足,而是因为码农的生活已经够爽了,大部分人的梦想恐怕都是财富自由后岁月静好有美满的家庭吧?既然当码农可以实现,那么就没必要再去浪费脑力做风险大回报不确定的生意,哪怕后者上限高。黄峥在个人博客里写到他观察周围的朋友有的财富自由之后就去干一些未必擅长和感兴趣的事,也说明了这个道理。或许黄峥本人才是异类,毕竟很多人会觉得钱够用就行,人总是要死的不是吗?我以前也是这么想的。</p><h4 id="操作攻略-1"><a href="#操作攻略-1" class="headerlink" title="操作攻略"></a>操作攻略</h4><ul><li>多思考业务背后的商业模型</li><li>做正确的职业选择</li><li>与合适的人交流</li></ul><h3 id="初次创业-欧酷"><a href="#初次创业-欧酷" class="headerlink" title="初次创业 - 欧酷"></a>初次创业 - 欧酷</h3><p>离开谷歌后,黄峥创立了欧酷。这里拆分出两个问题:为什么创业?为什么做电商?前者的答案相当容易,黄峥在自己采访中说过他享受创业的快乐并可以释放能量(再次创业博客中写的,不过初次估计也差不多);后者的答案可能是因为段永平的支持,因为段永平和黄峥的关系很好,前者把步步高的电商业务交给了黄峥做。不过为什么黄峥会选择电商,而不是自己创立基业选一个其他方向呢?我觉得,可能是段永平和黄峥讨论过,认为电商是市场很大而且还处于发展早期,做这个是有前途的方向,段永平放心黄峥,而黄峥也不用浪费资产去配置硬资产,而是可以直接在步步高的支持下开始当职业经理人而非自己出资。传闻欧酷是步步高控股,虽然没有直接证据,但是因为早期更多是内部孵化而不是公开财报,同时欧酷的域名联系人是oppo总机,所以应该是没问题的。总之,我推测的原因总结:这是一个段出资产黄出才智的双赢局面(类似当年段永平与怡华集团),同时理论上限足够高却也适合黄峥初次练手。</p><p>不过暂时先写到这里;因为黄峥的起家,在之前部分已经结束了。当然,他多次创业以及把创业阶段划分为小学中学大学的看法也很有趣,可以适当缓解焦虑——设计师一开始没经验时,做的东西不会直接是摩天大厦。</p><h3 id="总结"><a href="#总结" class="headerlink" title="总结"></a>总结</h3><p>黄峥的起家看似是运气的成分,但背后是他读书多年,把技术做到ng sota的原因,比如他能进入微软研究院实习、进入谷歌工作、博客吸引丁磊、被丁磊推荐给段永平等,都是因为他的技术和思考能力很厉害。解决了新技术涌现对人才的需求。</p>]]></content>
<tags>
<tag> 路径分析 </tag>
</tags>
</entry>
<entry>
<title>新系列——他们都是如何起家的?序</title>
<link href="/2026/04/06/%E6%96%B0%E7%B3%BB%E5%88%97%E2%80%94%E2%80%94%E4%BB%96%E4%BB%AC%E9%83%BD%E6%98%AF%E5%A6%82%E4%BD%95%E8%B5%B7%E5%AE%B6%E7%9A%84%EF%BC%9F/"/>
<url>/2026/04/06/%E6%96%B0%E7%B3%BB%E5%88%97%E2%80%94%E2%80%94%E4%BB%96%E4%BB%AC%E9%83%BD%E6%98%AF%E5%A6%82%E4%BD%95%E8%B5%B7%E5%AE%B6%E7%9A%84%EF%BC%9F/</url>
<content type="html"><![CDATA[<h2 id="准备开新系列了"><a href="#准备开新系列了" class="headerlink" title="准备开新系列了"></a>准备开新系列了</h2><p>之前我写完了我的转码之路,做完了对我过去经历的回顾。现在,我打算开启一个新的系列,深入分析大佬们都是如何起家的。大佬的定义是不同领域的杰出人士,我更感兴趣的是那些企业家。</p><h3 id="我要送钱了!!!"><a href="#我要送钱了!!!" class="headerlink" title="我要送钱了!!!"></a>我要送钱了!!!</h3><p>如果有人能指出我这个系列中任意一篇文章的资料错误,请加我的邮箱(参见第一篇博客),我会给你转10$,支付宝、zelle、crypto都可以。(语法或错别字不算)因为我相信,知识无价,而愿意认真调研的人,哪怕我只是加上你的联系方式,未来给彼此带来的可能收益都不是这一点。</p><h3 id="为什么要写这个系列"><a href="#为什么要写这个系列" class="headerlink" title="为什么要写这个系列"></a>为什么要写这个系列</h3><h4 id="学习他们"><a href="#学习他们" class="headerlink" title="学习他们"></a>学习他们</h4><p>因为我想成为他们,而且我觉得,刘邦和项羽对秦始皇的评价都很有道理。但是我现在不知道要怎么做才能实现这个目标。众所周知,遇到不会的事,第一件事就是抄作业。可惜的是,大佬的路径基本都很独特,不像来美国转码那样固定流派的一套小连招就能搞定。</p><p>但我认为,他们能成功绝对不是靠纯粹的运气或者背景,而是有独特的思考方式。其中一定有可以学习的东西,至于能不能复现——这个我不太确定,因为时代不一样。但是有一些逻辑是不随时代改变的,hopefully。</p><p>而我自己打游戏,遇到一些地方查不到攻略(哪怕是作者写的模组介绍)时,我就会去找已经通关的游戏录播看其中的细节片段。地球OL或许也可以遵循类似的逻辑。</p><h4 id="重复造轮子的原因"><a href="#重复造轮子的原因" class="headerlink" title="重复造轮子的原因"></a>重复造轮子的原因</h4><p>当然,网上已经有足够多的资料了,但比如说Alice成功的一段经历,大部分资料都只是提到经历前后的数据变化,而没有提到这段经历中的具体细节。我希望能复盘具体细节。</p><p>(写了一篇后再补充:因为探寻一个人的成功经历本身就是非常有趣的事,能让我看到新的东西。我接触的其他物品很多都毫无新意,不管是游戏还是现实,而探究更远的路径让我看到了地球OL的被隐藏的许多角落,这个过程是如此有趣!)</p><h3 id="怎么写这个系列"><a href="#怎么写这个系列" class="headerlink" title="怎么写这个系列"></a>怎么写这个系列</h3><p>每篇文章中,我准备选一人做详细的分析,深挖他的成长路径,职业生涯中的关键节点,不同关键节点是如何被达到的,他们做了那些决策,以及许多的细节。核心方式就是不停问问题,因为确实也没有一个统一的模板… 最终,通过详细的分析,知道他是如何走到这一步的。</p><p>这个过程并不轻松,会需要调查很多资料。资料本身的真实性就会遇到问题,其中的噪音有很多来源,从写作者为了流量手动加入大量情绪化描写、竞争对手抹黑、为了自身形象做美化、单纯记载错误、信息来源不足从而被幻觉填充,等等。每次做分析,有点像写一本小型传记了。真正写传记的作者需要花很多功夫,但我的目标不是当一个记者,而是快速了解学习他们成功的逻辑。(这话听起来挺嘉豪的。。。。)</p><p>所以我也要明确,不知为不知。一些空白的地方就留白,不乱猜。即使没有记者的时间和素养去采访当事人,也要基于事实,而不扯淡。 </p><h3 id="备注"><a href="#备注" class="headerlink" title="备注"></a>备注</h3><ul><li>我本来想任何信息都加个引用来源,但是会很麻烦,几个字来一个引用,看着难受写着累… 所以不写了。但是我不会为了偷懒而人云亦云,哪怕一个信息被网上95%的媒体报道,我也会去查证(比如段永平指导黄峥选offer的谣言)。</li><li>实在找不到信息的部分,我会留白或者写我的合理推测,从事件中不同人的个体动机视角出发,毕竟个人动机可以看作逻辑原子了。我估计许多传记作家也是这么干的。</li></ul>]]></content>
<tags>
<tag> 思考 </tag>
</tags>
</entry>
<entry>
<title>我的转码之路-05-实习是如此之爽</title>
<link href="/2026/03/31/%E6%88%91%E7%9A%84%E8%BD%AC%E7%A0%81%E4%B9%8B%E8%B7%AF-05-%E5%AE%9E%E4%B9%A0%E6%98%AF%E5%A6%82%E6%AD%A4%E4%B9%8B%E7%88%BD/"/>
<url>/2026/03/31/%E6%88%91%E7%9A%84%E8%BD%AC%E7%A0%81%E4%B9%8B%E8%B7%AF-05-%E5%AE%9E%E4%B9%A0%E6%98%AF%E5%A6%82%E6%AD%A4%E4%B9%8B%E7%88%BD/</url>
<content type="html"><![CDATA[<h2 id="我的转码之路-05"><a href="#我的转码之路-05" class="headerlink" title="我的转码之路 - 05"></a>我的转码之路 - 05</h2><h3 id="全栈项目"><a href="#全栈项目" class="headerlink" title="全栈项目"></a>全栈项目</h3><p>虽然我是面的前端组,但是进快手后,我做的事情和前端其实没什么关系。我的mentor给我分配了一个有些研究性质的项目——复刻一个数据分析平台的某个feature。没有现成的算法,我需要和mentor讨论确定具体的算法,并自己实现整个pipeline。然后也给了我很高的自由度,让我自己选择tech stack。</p><p>我当时的情况是几种语言都写过一点,但是literally一点点。比如c++做了一百多题,python写过小脚本和复现代码,javascript学过八股和toy project。不过我思考了整个pipeline的不同部分分别需要什么内容,并自己去查阅blog、文档、github,并和mentor确认过后再具体执行。当时虽然有llm,但是我不知道用,另外水平确实堪忧。</p><p>算法部分,则是做实验测试不同模型,最后发现正确的,其实大方向我mentor已经给我了,我做的更多是验证和执行,所以难度一般。但是对当时的我,确实是很不错的工程任务,让我第一次做一个不是toy project的工业项目,还是从零开始,对每个部分都要有所把控。</p><p>当时也是很快乐的时光——快手的食堂其实还挺好吃的,特别是有个土豆牛肉拌面,我吃过的最好吃的拌面没有之一,有时候甚至能中午点三份。然后每天早上到公司,晚上离开,中间就稳定地思考不同部分的执行、查阅资料、实现,我能意识到我每天在学习和提升自己的工程能力,很有充实感和成就感。中午还可以摸摸鱼读书。而且和数学课对比之下,写代码也太chill了——我一周里遇到的所有难题加起来,不如泛函分析课程随便一道作业题。工程实现代码就是很简单的事,就像赛博板砖一样,有手就行。当然,这也是因为我做的不是那种非常复杂的系统比如高性能或者高并发的分布式系统。而且每天可以拿350块,虽然不多,但是能让我不向家里要生活费,让我有一种自食其力的自豪感,并且自己的钱想怎么花就怎么花。五百多的自助直接不眨眼去吃,每个月所有的工资都花光,恩格尔系数0.9这一块。</p><h3 id="其他项目与刷题"><a href="#其他项目与刷题" class="headerlink" title="其他项目与刷题"></a>其他项目与刷题</h3><p>实习了两个月后我基本完成了那个项目,跑出来的结果很好,然后我就主动要求做一些别的事情。然后也一边做一边学了SQL,React,还有LLM调prompt生成直播脚本等。都不难,更多是看一看其他的业务都在做什么。其实当时每天空闲时间挺多的,因为有时候需要等合作的同事。空下来时我就刷题,一般我会每天上下班坐地铁时看思路,然后上班摸鱼时写代码。六个月的实习中,我用新账号从零开始刷题,刷了七百题。我能清晰感受到自己的进步,从写不出medium,到能稳定理解并最终写出medium,到可以看懂hard题思路,到能不看题解手写hard题与瞬秒medium,再到可以秒一些hard题。中间还打了几次周赛,发现打周赛很适合突破瓶颈,因为周赛的环境下我无法放弃或者想五分钟后直接看题解,而是要想几十分钟最后想出题解。就是周赛时间是晚上,所以打的少。</p><p>我当时对自己的要求是每天三道题。可以一天不做,但是之后要补上。有时候,我会在公司一天刷个二十题,然后之后几天就干点别的比如看些计算机课程。我记得还有一次半夜睡不着,就去宿舍负一层刷题,然后四个小时刷了快三十题。做题这块属实是我的舒适区了。</p><p>现在看,不知道未来是否面试还会看刷题。不过如果想要练习刷题,就力扣150,然后每个专题对应刷,然后再打周赛,每天练习,基本是一个稳定的学习路径。</p><h3 id="总结"><a href="#总结" class="headerlink" title="总结"></a>总结</h3><p>在快手的实习经历总体是愉快的,我遇到了nice的mentor,做了有挑战但是在我能力范围的项目,提高了工程能力,也刷够了题学了课。发现写代码相比学数学要简单和爽太多了,是我的理想职业:我擅长干这个;我喜欢干这个;我能靠这个养活自己。我觉得,我转码的决定没有错。</p><p>我的转码之路其实也到此为止了。之后我在微软和美国字节实习过,也都是我觉得很美好的经历,但是和快手实习没有本质上的区别,更多是从1到100而不是从0到1,而之后的我也算不上是转码了。所以这个系列到此完结。</p><p>现在回看,我做了很多愚蠢的决定,转码也不是最优解,但这条路总体还算是适合我的。</p>]]></content>
<tags>
<tag> 经历分享 </tag>
</tags>
</entry>
<entry>
<title>我的转码之路-04-被现实拷打</title>
<link href="/2026/03/31/%E6%88%91%E7%9A%84%E8%BD%AC%E7%A0%81%E4%B9%8B%E8%B7%AF-04-%E8%A2%AB%E7%8E%B0%E5%AE%9E%E6%8B%B7%E6%89%93/"/>
<url>/2026/03/31/%E6%88%91%E7%9A%84%E8%BD%AC%E7%A0%81%E4%B9%8B%E8%B7%AF-04-%E8%A2%AB%E7%8E%B0%E5%AE%9E%E6%8B%B7%E6%89%93/</url>
<content type="html"><![CDATA[<h2 id="我的转码之路-04"><a href="#我的转码之路-04" class="headerlink" title="我的转码之路 - 04"></a>我的转码之路 - 04</h2><h3 id="继续上课"><a href="#继续上课" class="headerlink" title="继续上课"></a>继续上课</h3><p>到了大三下学期,我考完了gre,然后上了学校给非贵系开的数据结构课,数学专业课选了数学系的离散数学。两个课的老师都很nice,我后来也找他们写了推荐信。数据结构课上我正经学了各种数据结构,算是弥补了基础。不过虽然课程和老师都很好,我还是要吐槽一下,数据结构课的作业有点fly bitch。第一次作业ddl前,课程内容已经学了数组和链表,但仅此为止。然后作业最后一题,我死活做不出来,时间复杂度太高,然后我尝试发明了一个新的数据结构但还是过不了,就找舍友求助。然后他告诉我这玩意叫并查集需要路径压缩,我写的数据结构没问题,但是没有做路径压缩,加上路径压缩就过了。我当时觉得属实难绷,真就学个数组然后写并查集?当时也没讲什么算法比如快排之类的。不过我能自己想出这样稍微复杂的数据结构,我还是挺开心的。</p><p>然后之后的作业也写过一些愚蠢的bug,比如有一次一个dfs,我没有做memorization,但是我以为问题是常数优化,我就把从1个byte存一个bool,优化到自己每次手动从1个byte里取8个bit,手动操作位移来节省内存,还是过不了后找答疑坊然后把对面的兄弟逗乐了。我自己也觉得很幽默。</p><p>不过除去这些小插曲,这个课的综合难度还行,最后考试也不难轻松拿了A,是非贵系转码的绝对好课。</p><p>离散数学课程不太难,有点像高中竞赛的组合数学。不过期末考试说实话有点难,我好好复习了,所以虽然考试的题没见过,但还是自己证明了出来拿到了A。这个课对我找工作也是有帮助的,比如我面一家公司时,炫技用欧拉定理把算法优化到O1反向震惊面试官,以及面另一家时,当场用归纳法和某次作业中类似的思路证明了一个定理,然后写成了构造型算法把复杂度从阶乘优化到平方。虽然最后因为别的原因没拿到这两家的offer。。。不过那是对面的问题了。</p><h3 id="找实习——先是认清现实"><a href="#找实习——先是认清现实" class="headerlink" title="找实习——先是认清现实"></a>找实习——先是认清现实</h3><p>我3月考完gre后就开始找实习。我当时比较天真没有经历过社会拷打,以为自己简历不错,随便找就能上岸。我简历写的很烂,还是那种花里胡哨带自拍的,然后项目就写一两行。我自信满满只投了五家的暑期实习,字节,百度,美团,阿里,腾讯,岗位都是随机选的,后端或者cpp客户端。不过清华的title确实有帮助,哪怕我的简历一坨,还是全都收到了面试。</p><p>然后我就稍微看了看八股,开始面。我的第一场面试是腾讯,运气很差,遇到一个态度不太行的面试官。先拷打我cpp八股,比如红黑树和B树的区别,我直接傻眼了。然后我八股不会就让我做题,是一个套路题2n-1个数里有一个只出现一次其他都两次,我没见过然后就不会,只会写On内存算法但是不会O1内存算法。。。。然后面试官直接说为什么我什么都不会,我反问也直接让我自己去查。当时面完差点掉小珍珠了,现在看来其实很弱智和搞笑。一方面,问的这些确实都是基础,我当时对自己太过自信,基础其实很差;另一方面,这个面试官是我所有面试里遇到的态度最差的面试官,不知道是太过倒霉还是命运的安排给我上个下马威。我记得当时在清芬旁边的职业发展中心,面试完后呆坐着,状态有点像那个马戏团meme。</p><p>随后我继续面了美团,百度,阿里。我和美团的面试官相谈甚欢,不过搞笑的是这个岗位是java岗但我没学过java,对面太nice了还一直和我好好说话,然后面完把我挂了,我当时还有点困惑,现在想自己都感觉很难绷。百度的岗也是先拷打一堆八股我不会,然后做题我依然写不出,我当场自闭了说自己水平不行,但面试官还是鼓励我,面试结束后也试图给我换一个岗位继续面,但我感觉自己确实水平不够加上不想做mobile就拒绝了。阿里面的是游戏客户端开发岗,我之前的图形学项目经验有一些帮助,但是没有足够硬的。面完一轮后hr问我是否考虑转正说不考虑就不推进了,我因为要出国,也不想骗人就说不考虑,然后就结束了。字节的面试比较晚,我当时因为四场面试意识到自己的问题,知道哪怕面试也是自取其辱就没有推进。</p><p>我是三月下投的岗位,面试都是四月初面的。面完我才发现,我实在是水平不行,得真的好好学一些东西。然后四月份我的事比较多,课程,考试,科研(这个之后提),托福,我觉得我先得把这堆事情处理好,然后五月份好好学一学项目和刷题再战实习。所以找实习就先暂停了。</p><h3 id="科研的小插曲"><a href="#科研的小插曲" class="headerlink" title="科研的小插曲"></a>科研的小插曲</h3><p>我当时其实还是干了两段科研,一段是srt,一段是进组打工。srt啥都没干。。。。进组是一个课程的要求,就是那个课会给所有人安排进组的机会,至于怎么进好的、适合自己的组就要看自己了。我当时啥都不懂,只知道需要积攒一段科研经历,不知道要评判不同项目的价值,就随便找了个组进。然后进去也是干杂活写前端d3。不过当时我没干过这种杂活,所以写的还是挺开心的,也学到了新东西,第一次写javascript。然后也体验到了组里的氛围,不同人的状态。比如带我们的快毕业的博士师兄就是一个很精明的人,和我们说最和善友好的话的同时给我们安排最杂的活,哈哈。然后大老板就对我们完全不在意,不过我们的价值确实也不值得他在意。已经保研的大我一届的学长就一样青涩,亲自带我帮我写代码。我也是在这个过程中学到了多人协作,学会了git commit之类的。然后当时另外的两个teammate一个似乎已经意识到项目是横向杂活所以就基本跑路了,另一个还是正常干着。</p><p>对比下来,我读硕时,上课时有大一的学生,他能清晰知道自己做的项目的意义,也知道蹭热点,真的差距太大了。</p><h3 id="回归找实习"><a href="#回归找实习" class="headerlink" title="回归找实习"></a>回归找实习</h3><p>我四月结束了全部的任务,托福是月底在江苏考的,考完当场笔试出分全部满分,开开心心回家,过了一个非常开心的五一,打了一周游戏,玩火系法术爆燃各种妖兽然后飞升。回校后我就开始认真找实习。我当时目标是暑期实习,所以时间很紧凑,只有两个月不到。我想了想,感觉后端可能不太行,就转向了前端。其实这并不是一个明智的选择,毕竟前端属实有些naive了… 但对当时的我是一个比较谨慎务实的选择。如果我真的找后端,难说两个月能否找到合适的岗位,因为当时我的水平实在不太行,不止是专业上的,更是综合能力与学习速度。</p><p>确定转到前端方向后,我就开始找项目学习。我看了一亩三分地和知乎的相关资料,找到了经典的udemy yelp camp项目。 非常基础的项目——讲html, css, javascript, 最后做一个web网站。我通过这个课了解了前端三件套。然后又学了vue,做了一个toy project。随后背了各种前端八股,然后投简历,这次投了很多,接近一百份,但是收到面试的比例少了很多。</p><p>第一个新的面试是某个中厂,我当时回答出了所有的八股也通过了,很开心,收到了第一个offer。我估计对面心里认为我不会去,但当时我没有这么想,我真的很开心,不止是拿来练手的。然后继续面,美团一面后被莫名ghost了,字节面了一面后因为端午节reschedule,但是排的太晚。我面了快手两面技术面,都回答出来几乎所有的问题,虽然二面时一个简单题没跑通因为javascript的逆天变量机制,但是逻辑没问题,就通过了。我当时就签了快手,然后字节虽然给了我二面机会,但我当时比较老实,觉得签了就不要毁约,就没有继续面。现在想想,也确实很天真,被hr话术轻易拿捏了,哈哈。不过我并不后悔去快手,因为我在快手也学到了很多,遇到的mentor也很nice。下一次我会讲讲细节。</p><h3 id="愚蠢又热血"><a href="#愚蠢又热血" class="headerlink" title="愚蠢又热血"></a>愚蠢又热血</h3><p>我是五月第一周结束后开始学习,然后六月中拿到了offer。其中的过程其实没我说的那么简单——哪怕前端确实不难,我的bg title很好,但我当时也很卷,每天在邺架轩熬夜背八股。现在看来,这并不是正确的做法,但是当时我以为这是最好的路,就全力以赴,有的时候甚至一天只睡4个小时,其他时间都在邺架轩。我还记得,我当时会晚上十二点宿舍停电后去南区篮球场旁边的小卖部买两根烤肠,一边骑自行车一边吃,然后在邺架轩开始整理笔记。累了就看看Yes Prime minister或者mc视频,或者半夜点KFC,坐在邺家璇外的长椅上,看着漫天的星空,吃完回去继续学。直到清晨,出门见到早上六点的清华,然后去听涛吃早饭比如嗯造三份炒饭,然后回宿舍睡两三小时再去上课或者继续学习。</p><p>我觉得,理智上,现在来看,这样的操作其实没必要,甚至是歪路,因为更好的选择是做更好的方向然后找日常实习;但是感情上,是我生涯中很珍贵的一段时光。因为经历过后,我知道,未来我依然可以这么拼,只要我撑过了这段时光,未来我将无所畏惧。或许这也是我的青春吧。理智会让激情消弭一部分,我也认为没问题,但是那些并不正确的激情,还是如此美好。就像飞天中苗毅在东来洞大喊谁敢战我的场景一样,愚蠢又热血。</p><h3 id="总结"><a href="#总结" class="headerlink" title="总结"></a>总结</h3><p>找到快手实习,客观上,其实完全不是值得高兴的成就;毕竟我身边的许多同学,比如贵系的,暑假里还要被强制安排实习,腾讯字节快手等随便选一个,不然没法毕业,很多人甚至吐槽这个制度。我这种努力一个月才找到前端实习的,和他们嫌弃吐槽送到手的llm实习机会的,确实有些讽刺。不过我觉得他们的吐槽也没什么问题,因为规划和路径不同,做暑研被实习干扰也挺烦的。何况他们是unpaid实习,哈哈。现在回看,我第一次找到带薪实习的这段经历,重要的是让我第一次走上自己选择的人生路,认清自己的实际水平和外部世界的要求,并通过努力实现自己定下的目标。哪怕目标普通,但对我有不一样的意义。</p><p>下一次,我会讲讲我在快手,第一次正经、带薪实习的经历。</p>]]></content>
<tags>
<tag> 经历分享 </tag>
</tags>
</entry>
<entry>
<title>我的转码之路-03-打无薪黑工</title>
<link href="/2026/03/31/%E6%88%91%E7%9A%84%E8%BD%AC%E7%A0%81%E4%B9%8B%E8%B7%AF-03-%E6%89%93%E6%97%A0%E8%96%AA%E9%BB%91%E5%B7%A5/"/>
<url>/2026/03/31/%E6%88%91%E7%9A%84%E8%BD%AC%E7%A0%81%E4%B9%8B%E8%B7%AF-03-%E6%89%93%E6%97%A0%E8%96%AA%E9%BB%91%E5%B7%A5/</url>
<content type="html"><![CDATA[<h2 id="我的转码之路-03"><a href="#我的转码之路-03" class="headerlink" title="我的转码之路 - 03"></a>我的转码之路 - 03</h2><h3 id="规划"><a href="#规划" class="headerlink" title="规划"></a>规划</h3><p>上一回说到,我准备转码了。定下来明确的目标:去美国读cs硕士,并在美国找到工作。我当时其实并不太懂如何规划,更多是自己找网上,比如一亩三分地,知乎,清华树洞的信息人云亦云。这并不是最佳的规划方式,但是对当时的我确实提供了不少的帮助。我知道我需要做什么:为了申请,需要托福,gre,gpa,科研,实习,课程;为了工作,需要课程,科研,大厂和外企实习。而我这样的做题家,路径清晰后,具体的执行就有动力了。比如gre和托福,我都是一次考过,gre是330+,托福甚至只自学了两周就考了117,不过这些和转码关系不大不多说。不过为了找工作,我的目标是课程,科研与实习。</p><p>于是我想找个实习。当时是大三上学期。但是我啥都不会,于是我就想,我干脆看看别人的路吧。然后我知道了——我需要刷题,我需要做项目,才能找到实习。那就开始呗。</p><h3 id="刷题"><a href="#刷题" class="headerlink" title="刷题"></a>刷题</h3><p>我注册了力扣账号,然后开始2sum。然后我发现,我连2sum都不会,哈希表是啥啊?不过反正是这么写的,一个写读kv O1的数据结构,我照抄语法就行。但是当时刚开始刷的时候,真的挺难的,比如力扣第七题还是第六题,zigzag,一个很简单的format题,我写了两个多小时都没写出来,各种错误,真的心态崩溃了。但是想了想我转码的目标,咬咬牙,继续写吧。然后上课也刷题,比如我记得数值分析课是在六教C那种大教室,我有时候就早早到教室然后开始刷题。上课时,老师的语速比较慢,我就一般自己过一遍ppt,搞懂课程内容后开始刷题。我当时觉得,这些力扣easy题都比什么Steffensen迭代法要难啊(当然现在看还是后者要难。。。)。<br>总之一个学期刷了一两百题,结果学期结束后,再次写nsum,其实还是不会写。不过我发现,我其实是有提升的,估计之后继续刷也能慢慢提升直到能独立写出nsum,所以不太急。算是从零基础转变到noob。</p><h3 id="课程与项目:学会git和2sum"><a href="#课程与项目:学会git和2sum" class="headerlink" title="课程与项目:学会git和2sum"></a>课程与项目:学会git和2sum</h3><p>我junior时曾经尝试过跑一些github上的项目,因为被它们的营销宣传所吸引,但是github都不太会用,更不要说更加复杂的配conda环境之类的了。当时也没有gpt,我也不知道我是可以找人求助或者自己看课的。现在看非常搞笑——不会用git也不知道求人。因为我学数学时基本都是靠自己思考或者看书就能解决我遇到的问题,但是计算机不一样,底层逻辑不同,只是当时没意识到。然后我找那些从零转码的路径看,发现要先学git。然后我就上coursera看了一个被一些人推荐的git课,知道了git bash是什么,怎么用。当时的理解不深,但是git clone还是学会了(虽然git commit还不太会lol),能clone项目。顺口议题,这个课的授课人是个很帅的年轻白男,虽然我不是gay,但我也觉得他挺帅的。</p><p>项目部分,学会用git后,我就找自己感兴趣的话题 —— tts。当时VITS比较火,我找了一些开源项目,然后自己收集喜欢的游戏角色的数据用AU做处理和标注,然后自己训练。当然,训练遇到了不少问莪媞比如各种跑不起来,不过最后通过那种别人预设好的ipynb脚本,以及colab,还是跑通了。这个操作实际上非常简单,但我当时还是非常自豪。</p><h3 id="第一次实习:学会debug"><a href="#第一次实习:学会debug" class="headerlink" title="第一次实习:学会debug"></a>第一次实习:学会debug</h3><p>我做着项目刷着题,正好也到学期末了。我家里也知道我想走的路径,知道我需要实习,正好朋友里有人需要招实习生,就帮我获取了一个电话面试的机会。我自己做了一个简单的简历,上面写了我自己训练语音合成模型的那个项目和上过的数学与计算机课。电话面试很简单,就聊了聊他们做的,我做的。对方是一个北京的startup,有一个组做tts,觉得我学历和项目都比较match,然后我也需要实习,我就成功去了。虽然对面没和我说薪资的事,但我觉得我主要是学习为主,有没有钱都不重要,何况我没做出啥前要钱自己也不好意思,所以其实是unpaid internship,算小黑工了。</p><p>当时好像还是疫情,我12月就回家了,一开始是remote实习,对方先让我复现一个开源项目。这个项目是用tensorflow实现的。听到这里我估计已经有人绷不住了——tf项目复现起来很痛苦,哪怕是现在的我都不敢说几分钟解决,因为tf小版本的变更都可能导致很多不适配和bug让项目跑不起来,如果requirements里少写几个,复现起来很折磨。我当时单纯复现这个项目,还没到训练部分,单纯跑通都用了几天。</p><p>不过在这个过程中我学到了软件开发中最重要的技能之一 —— debug。我发现bug不是没法解决的,我只需要问mentor、查google、看github issue、看lib的官方文档、找到terminal报错中具体的报错信息,最终总能解决bug。我当时的mentor一开始会耐心指导我,后来在我能够自己解决bug后,就让我自己去查了。我觉得很合理,因为遇到bug自己去查其实就是最高效的解决方法,他一开始授我以渔,这就够了。虽然这个项目本身没啥意义,但是我学会了debug。我想到最近读的一本书(昨天博客中的),作者小时候也是程序员,虽然做了一堆项目都没什么real impact,但是他觉得最大的收获是学会了debug。我觉得是这个理。</p><p>然后快开学了,我就线下去办公室干活。我复现成功后,mentor就给我了任务——优化模型做到fewshot生成。说实话,我觉得把这种任务交给我,属于是有点高估我了,可能也是因为没有其他适合的任务给我。我自己觉得这个任务不太可能,然后中午吃饭都要自己掏钱,加上马上开学、快考gre了,我觉得,或许这段实习该结束了。就和mentor提了离职申请跑路了。</p><p>虽然这是一段无薪黑工,我也没有实际的产出,但我还是觉得挺开心的,因为我真的学到了东西。而且我每晚都会去公司旁边的各种店吃饭,相比于食堂更有新鲜感。可惜的是当时还是用的父母给的生活费不是自己赚的工资,没有太爽吃。</p><h3 id="总结"><a href="#总结" class="headerlink" title="总结"></a>总结</h3><p>总之,算是走上了正路。我依然是个noob,但我不是零基础了。不积跬步无以至千里:我学会了debug和写2sum。</p><p>之后的路,依然是刷题找实习。</p>]]></content>
<tags>
<tag> 经历分享 </tag>
</tags>
</entry>
<entry>
<title>聪明人怎么规划个人发展?</title>
<link href="/2026/03/31/%E8%81%AA%E6%98%8E%E4%BA%BA%E6%80%8E%E4%B9%88%E8%A7%84%E5%88%92%E4%B8%AA%E4%BA%BA%E5%8F%91%E5%B1%95%EF%BC%9F/"/>
<url>/2026/03/31/%E8%81%AA%E6%98%8E%E4%BA%BA%E6%80%8E%E4%B9%88%E8%A7%84%E5%88%92%E4%B8%AA%E4%BA%BA%E5%8F%91%E5%B1%95%EF%BC%9F/</url>
<content type="html"><![CDATA[<h2 id="规划个人发展的必要性"><a href="#规划个人发展的必要性" class="headerlink" title="规划个人发展的必要性"></a>规划个人发展的必要性</h2><p>我最近读了一本书,叫 Personal Development for Smart People,作者是 Steve Pavlina。这本书如它标题一样,是写给“聪明人”看的个人发展指南。</p><p>为什么我要读它?因为小红书刷到推荐。同时,我也正好处于迷茫阶段在思考之前从未想过的未来的人生路径,所以就读了下。虽然有点成功学那味,但还是有些干货。</p><p>我觉得规划非常重要,针对自己的战略。就比如,我能找到工作,其实是我大三时定下的战略的结果,而对现在工作的决定性影响其实是大四找到实习时。因而哪怕我过去两年几乎一直在犯错没什么产出,也不影响到我原本战略的结果。用人话讲,就是打游戏选择一个好的build然后跟着发展就是了。</p><p>但是我的个人规划只到这里,没有之后的。所以现在要重新规划下。</p><h2 id="书籍阅读"><a href="#书籍阅读" class="headerlink" title="书籍阅读"></a>书籍阅读</h2><p>这本书围绕着 Truth Love Power 三个核心概念展开。</p><h3 id="认识我自己:Truth"><a href="#认识我自己:Truth" class="headerlink" title="认识我自己:Truth"></a>认识我自己:Truth</h3><p>作者的第一章标题是truth,告诉我们:实事求是。不管多么有勇气与毅力,看不清事实,就无法制定正确的战略。不止是对外部世界,对自己也要实事求是。他给出了一个问题列表,并让我从1-10分评分。 <img src="/images/plan-evaluation.png" alt="评分"></p><p>随后,作者说:把其中不是9或者10的全都改成1,然后讲了一堆分析。不过核心思想是,不要苟且偷安。不要觉得差不多就行了,要追求卓越。非常成功学是不是?但我觉得,确实如此。</p><h3 id="Love-and-Power"><a href="#Love-and-Power" class="headerlink" title="Love and Power"></a>Love and Power</h3><p>作者讲爱的一章时基督教那种博爱的思想比较浓,我觉得比较主观。讲Power的一章,强调了motivation和disipline的结合。他建议冷静的时候想象自己的motivation,厌恶时按照discipline相信理性的自己的motivation去执行。</p><p>然后有一些trick,比如清早第一小时保持好状态然后享受动量/惯性。有点道理,我一般开始学习都会学很久,其实打游戏和读书哪个更有趣还真不好说,我觉得读书时间长以后的快乐其实是大于打游戏的,但是打游戏一开始的乐趣要高于读书,所以如果自己不控制,很容易舍本逐末。</p><p>还有一句很有哲理的话:追求力量不是一种贪婪,而是一种责任。</p><h3 id="掌控力"><a href="#掌控力" class="headerlink" title="掌控力"></a>掌控力</h3><p>随后,作者对truth,love,power两两结合,分别讲了oneness,courage,authority。其中oneness我觉的不是很切实。</p><p>courage部分讲的挺好,核心思想是诚实面对自己的恐惧与热爱;当感到无动力时,更多是因为在做自己觉得应该做的事,而不是心之路径。更重要的,或许是当下就去做能让自己感到是走在心之路径上的路。我反思了一下之前做的事情 —— 其实,都是在做自己觉得应该做的事,而不是想做的,不是吗?有趣的是,我当时学计算机的真正初衷,其中最难的部分比如研究genAI技术,其实现在已经都被研究出来了,剩下的更多是工程上的对齐与经验积累。就像厨师有了菜谱,食材,锅,剩下的更多是火候的掌握与调味。我可以开心地实现曾经的追求了。而我做失败的那些事,其实也有因为自己不是真的感兴趣而最终放弃的原因。</p><p>我想,我最热爱的,或许是胜利与陪伴。我一直以为我淡薄名利,但其实我内心还是很喜欢赢的,不管是考试,打游戏还是赚钱。虽然对我不是必须的,但是我可以通过赢而开心,哪怕我的表层意识不这么想,内心深处还是会开心的。至于陪伴,其实和作者说的博爱有些像,则是在理想的世界中与万物共鸣、和爱的人相伴,一切都和谐与美好。我想,如果我真的不面对死亡的威胁与危机,我现在就会开始享受后者了。但是死亡的阴影徘徊在我的头顶,所以我也必须利用对胜利的热爱,去实际处理问题。</p><p>Authority的部分也有些启发。权威是truth + power,是比较务实的方面。作者提出的模型,我个人感觉和我之前写的一篇论文有些类似,虽然嘴上说是水论文但其实也是一个完整的控制流程。不过只是思想有些类似,实际上还是不沾边的。作者认为,个体需要首先take command,意识到自己对自己的完全掌权与负责,随后确立意义作为最终目标,以效率和产出为指标,坚持行动与试错,建立自信(正确的自我认知)。是一套具体的方法论。 </p><p>听上去很空泛对吧?但它们其实有点像是做成一个成功项目的最小行动模型,甚至是比较充分且必要的条件。我一个个来分析。</p><h4 id="对自己负责"><a href="#对自己负责" class="headerlink" title="对自己负责"></a>对自己负责</h4><p>如果没有这个,那会受到许多外在干扰,就像进程被其他进程干扰,切换到等待状态,无法继续执行。现实里就是自己的追求给其他让路,比如说为了支持弟弟而放弃自由恋爱随便找人嫁了的年轻女子、为了父母理想而放弃自己喜欢的专业选名校天坑的学生、为了家庭而放弃创业追求稳定的打工人。看似是对他人负责,有时候其实不仅是对自己不负责,也是对他人不负责,因为没有意识到自己的潜力和价值。当然,站着说话不腰疼,每个人都会有自己的tradeoff。但是命运是掌控在自己手里的。</p><h4 id="找到意义作为最终目标"><a href="#找到意义作为最终目标" class="headerlink" title="找到意义作为最终目标"></a>找到意义作为最终目标</h4><p>没有意义的行动就像是没有损失函数的梯度下降,真是“随机”梯度下降了。大学之道在明明德然后才在于一堆后续推论链条,首先要清楚自己在干啥。不管意义本身是否是正确的,都需要找到一个意义。因为意义往往不是一开始就彻底决定的;它不止是行动的结果,更多是行动中一步步被发现的。没有意义就不会真正开始,哪怕简单到我要给自己找点乐子都比没有意义好。</p><h4 id="以效率和产出作为指标"><a href="#以效率和产出作为指标" class="headerlink" title="以效率和产出作为指标"></a>以效率和产出作为指标</h4><p>如果没有清晰的指标,那么很可能哼哧哼哧干完了,发现这个项目毫无卵用。那不就是白用工了?(插个题外话,没有真正无用的项目,我之前做的项目哪怕是失败的那些,之后也在我根本想不到的地方给我起到了帮助)不同项目的优先级不一样,我们一般希望有更高的产出。但是在开始执行前和执行到不同阶段时,一定要好好评估一下。因为个人缺陷导致的评估不精准是无奈之举,但是在不断地执行和学习中我们会慢慢调整我们的认知、预期、预测,对应的判断也会变化。总之得一直想,而不是什么都不想就开始干。当然很可能我们又遇到一个问题:似乎,我面前的所有项目都没啥意义和产出?我之前也是这么觉得的,所以有一段时间没任何产出。我觉得这是个事实,很多事情就是没啥意义的。但是学习和解决问题的过程是有意义的。朝着正确的方向走,最终总归可以找到一条相对正确的路。这是下一步要提的。</p><h4 id="坚持行动与试错"><a href="#坚持行动与试错" class="headerlink" title="坚持行动与试错"></a>坚持行动与试错</h4><p>世上无难事只怕有心人,一句多么耳熟的鸡汤。我想要十秒钟后立地成仙,有心也无力啊,哈哈。不过它的限定版本,在事实允许的范围内,只要坚持下去就能解决一切问题,我认为是有道理的。专家并不是天生优势,而是经历过更多的坑,有更丰富的经验。我获得成功的领域,哪个不是投入了大量的时间和精力?与此同时,只要这条路有人走通过,我和他正在走类似的路并有着类似的外部条件,那么我也几乎必然可以走通。理论和事实都是如此。</p><p>当然,这里有个限定条件,就是事实允许的范围;至于什么是事实允许,看有没有人走通过这条路就行了,基本上是充要条件。可能你会反驳,没有路,那我自己走出来不行吗?听上去很美好:激情、强大、自信,实际上理性思考下,会发现这不太实际。现实不是网络小说:虽然人类可以不断地创新,但是创新其实都是慢慢的继承与优化而不是凭空产生的,就像物理学里,爱因斯坦,牛顿,开普勒,伽利略,亚里士多德,柏拉图,苏格拉底,理论和思想都是一步步优化继承,而不是原始人直接想出相对论。我之前就犯过错,以为自己可以从零研究出一些成果,结果双眼一抹黑啥都没做出来。只能说高估了自己,低估了信息的混乱程度。想要真的从零走出一条路,必须把心血全部投入、天赋、一定的运气、真正热爱,再加上多年的积累。对现在的我,显然是不可能的。有这样的人吗?有,比如Yau,张一鸣,乔布斯等等。不过他们也是积累了足够经验以后才能走出新路的。可能也有一些运气足够好的人,不过光靠运气走不远。</p><p>但如果只是走别人走通过的路,那确实没什么难度了。无非就是照抄一遍,魔改下其中细节。因为最本质的逻辑和模型已经写的清清楚楚。我觉得这也是我比较擅长的,比如说各种考试(高考、托福gre、期末),与找实习、找工当码农,无数人走明白的路,我都能照抄攻略,做到很好。</p><p>我觉得这里的坚持行动与试错,指的是在明确大致路径后,具体执行时的行动和试错。因为哪怕路径写明白了,游戏会版本更新,现实也会随时代变化。但是本质不变的情况下,只需要做一些灵活和简单的修改而不用推翻全部逻辑。 </p><p>对我现在的情况,需要做的是增加样本数,做广度搜索并开展实验快速验证,而不是脑袋一拍啥都不调研直接开干,效率太低且容易自暴自弃。这让我想到一个例子,就是觅长生里我的第一个档,开局天灵根进金虹剑派,啥都不干直接嘎嘎闭关,然后快老死前修炼到一个垃圾金丹一品出关,非常搞笑。开局再好,不调研正确的打法自己一个人乱搞,不会有什么好下场。样本是同时在学习和实践中获取的,比如找工作的流程我是阅读他人经历学到的,但是具体要内推的network技巧、投简历时的各种邪修小妙招,都是实际执行时学到和他提升的。</p><p>当遇到错误和挫折时,只能证明自己的样本太少,而不是我这个人有什么问题,或者我未来也会被同样的问题击倒。失败与成功不是对立面。失败是数据采集期,成功是算法优化后的自然输出。而且初期必然会经历大量的失败,而成功的过程却是指数级的。</p><h4 id="建立自信"><a href="#建立自信" class="headerlink" title="建立自信"></a>建立自信</h4><p>自信其实是对自己能力的客观评估,加上对未来可控性的主观判断。经验越多,判断相对越准。就像小马过河,要知道自己现在是个什么动物。清晰地反省和调整,才能与现实对齐而不是活在幻想中迎来最后的失败。其实我一直都不够自信 —— 有时候缺乏,有时候盲目。我最自信的时候,恐怕反而是高三回归高考时。当时我知道自己的状态。在大学前几年,我对自己有些不自信;读硕后,又太过自信,遭遇挫折后又太过不自信。现在,我还是略微不自信的状态。也是要慢慢调整。</p><p>自信和truth稍微有些不同,都是客观,但是我们容易忽略对自己的评价,出于各种各样的潜意识。做到精准的评价需要足够冷静或者一面足够好的镜子 —— 比如一个非常了解自己的人。</p><p>缺少负责,项目无从谈起;缺少意义,项目难以为继;缺少效率,项目难有产出;缺少坚持,项目容易暴毙;缺少自信,项目难以优化。</p><h3 id="习惯"><a href="#习惯" class="headerlink" title="习惯"></a>习惯</h3><p>之后,作者更多是讲一些特殊的方面,运用之前的truth,power,love模型,以及特定的trick。比如改变习惯时,作者提议,抱着尝试三十天不行就改回原本习惯的心态开始。还有很多其他杂七杂八的tricks。</p><h3 id="其他"><a href="#其他" class="headerlink" title="其他"></a>其他</h3><p>再之后作者讲的就是一些比较commonsense的东西了,比如金钱、健康、关系、信仰,我觉得没有太多新意。几个正确老套的takeaway —— 多喝水运动吃蔬菜;金钱是需求寻找能力与创造价值的体现;以诚和直待人;别被主义与宗教忽悠了。</p><h2 id="总结"><a href="#总结" class="headerlink" title="总结"></a>总结</h2><p>看完这本书,其实并没有那种很直接的职业发展上的具体路径启发,而更多是一些抽象的思考。其中,对苟且偷安的批判、有志者事竟成的条件性解读、内心真正热爱的求索,与一些小技巧,让我还是有了收获。 </p><p>每个人读它的感想应该都不同。对我的影响,一句话描述,就是让我把原本不确定的一些想法变得更加清晰明确了。</p><p>至少,我的下一步,应该是去抄别人的路了哈哈哈,只是这次没有那么多简单的分享,而要针对不同独特案例做deep dive。放弃曾经的幻梦… 追求Truth和Power。</p><p><img src="/images/plan-truth.png" alt="Truth"><br><img src="/images/plan-power.png" alt="Power"></p>]]></content>
<tags>
<tag> 读后感 </tag>
</tags>
</entry>
<entry>
<title>宁愿死于治疗,也不愿死于疾病 - Sid的抗癌记录</title>
<link href="/2026/03/30/%E5%AE%81%E6%84%BF%E6%AD%BB%E4%BA%8E%E6%B2%BB%E7%96%97%EF%BC%8C%E4%B9%9F%E4%B8%8D%E6%84%BF%E6%AD%BB%E4%BA%8E%E7%96%BE%E7%97%85-Sid%E7%9A%84%E6%8A%97%E7%99%8C%E8%AE%B0%E5%BD%95/"/>
<url>/2026/03/30/%E5%AE%81%E6%84%BF%E6%AD%BB%E4%BA%8E%E6%B2%BB%E7%96%97%EF%BC%8C%E4%B9%9F%E4%B8%8D%E6%84%BF%E6%AD%BB%E4%BA%8E%E7%96%BE%E7%97%85-Sid%E7%9A%84%E6%8A%97%E7%99%8C%E8%AE%B0%E5%BD%95/</url>
<content type="html"><![CDATA[<p>这篇博客是我读了文章<a href="https://centuryofbio.com/p/sid-sijbrandij-cancer-fight">Sid Sijbrandij’s cancer fight</a>后的感想。</p><h3 id="Sid-Sijbrandij-是谁"><a href="#Sid-Sijbrandij-是谁" class="headerlink" title="Sid Sijbrandij 是谁"></a>Sid Sijbrandij 是谁</h3><p>Sid是gitlab的创始人,身家雄厚婚姻美满。但是他22年确诊了癌症,并且通过常规医疗手段无法治愈。但他并没有放弃等死,而是主动踏上了追求治疗之路。</p><h3 id="Hacker-News与YC"><a href="#Hacker-News与YC" class="headerlink" title="Hacker News与YC"></a>Hacker News与YC</h3><p>这里插个题外话,我看到他早期创业经历,gitlab是他发现一个乌克兰程序员做的一个开源项目,然后他觉得很赞并提出合作,然后在hacker news上宣传并获得了一开始的几百个注册用户。随后他开始正式在项目上工作。不过在这之前,他也有一些工作和创业经验。 </p><p>而随后他的项目成功被YC入选。除此之外,他在治疗时给他提供很多技术支持的另一个医药公司的创始人,与一些相关人脉,也是在yc的校友或者校友的人脉。</p><p>我未来一定要进入YC。不过现在阶段,还只是每天刷Hacker News哈哈。我会看每天的top10 post,因为原本网站不支持热度排行所以我用了这个链接<a href="https://hn.algolia.com/?view=default&sort=byPopularity&prefix=true&page=0&dateRange=last24h&type=story">Hacker News top 10</a> 。</p><h3 id="英雄不问出身"><a href="#英雄不问出身" class="headerlink" title="英雄不问出身"></a>英雄不问出身</h3><p>Gitlab的CTO与联合创始人Dmitriy,在刚刚开始写Gitlab的prototype时,住在乌克兰的一个小地方,楼里甚至没有自来水需要每天去打水。但是他写的源码质量吸引了Sid,而且当时也是完全开源的不图任何物质回报。技术天才不只是在硅谷;他们分布在全世界,只是暂时没遇到他们的伯乐或者不擅长经营和营销。</p><h3 id="常规治疗方案的失效"><a href="#常规治疗方案的失效" class="headerlink" title="常规治疗方案的失效"></a>常规治疗方案的失效</h3><p>Sid发现自己得了癌症后,尝试了手术、放疗与高强度化疗,但是癌症还是局部复发,医生也束手无策了。如果是一般人,只能慢慢等死。但是他并没有放弃。</p><h3 id="命运自主与创始人模式"><a href="#命运自主与创始人模式" class="headerlink" title="命运自主与创始人模式"></a>命运自主与创始人模式</h3><p>Sid认为,只有他自己可以救自己。我之前在许多地方看过这个话的变种,不管是文学作品比如变形记还是一些播客比如孙哥的,自己也深以为然。这是残酷的,但也是令人感动的:我们一无所有,却拥有着自由意志。</p><p>他意识到,为了治疗,自己需要深入了解病情与不同治疗流程的底层细节。文中提到一个概念,叫<a href="https://paulgraham.com/foundermode.html">Founder Mode</a>,大概意思就是区别于经理人模式:管理一个大公司时,不是单独管自己下面一层的经理们,而是做到越级管理,直接管理到最底层,微操这一块,从而防止被中层瞒骗并时刻了解各种情况。 </p><p>我觉得两种模式听上去比较抽象,但实际上用白话讲很简单,甚至可以说是第一性原理的另一种表述。经理人模式是为了节省时间和精力把活外包,创始人模式是自己控制所有细节,代价是更多的精力。两个模式没有绝对的优劣,只是tradeoff。就像点外卖和自己养猪做红烧肉的区别。</p><h3 id="广度搜索"><a href="#广度搜索" class="headerlink" title="广度搜索"></a>广度搜索</h3><h4 id="详细的文档记录"><a href="#详细的文档记录" class="headerlink" title="详细的文档记录"></a>详细的文档记录</h4><p>于是他参考自己办理Gitlab的经验。Gitlab有一个超过三千页Gitlab Handbook记录Gitlab的各种技术细节和规章制度。他自己也把自己医疗相关的所有记录,都整理到一个Sid personal health Handbook,光是2025年一年就超过了一千页。</p><p>写文档绝对不是坏事,但是具体有什么用呢?它扮演了Single Source of Truth的角色。</p><p>比如,计算机生物学家在分析单细胞测序数据时,在笔记中记录了成纤维细胞标记物(KERA, LUM, EPYC, FAP)的高表达。与此同时,笔记中的 concierge 医疗服务条目搜索到了德国的一种实验性 FAP 靶向疗法。笔记将这两条原本孤立的信息“强行”连接,促成了 Sid 前往德国接受放射配体治疗的决策。</p><p>除此之外,传统医疗中,信息碎片化分布在不同专科医生手中。Sid 的笔记打破了这种层级,使得他的“首席执行官(CEO of care)”Jacob Stern 能够像审阅代码仓库一样,横向对比不同医院、不同时期的治疗反馈,从而识别出传统“算法”忽略的非标机会。</p><p>最后,笔记详细记录了在不同医院获取自身组织样本的障碍和审批流程。这使得他的团队能够总结出“前线组织提取员”的作业规程,利用已有的获批案例作为法律和合规依据,逼迫保守的医院病理科释放样本。</p><h4 id="极致诊断"><a href="#极致诊断" class="headerlink" title="极致诊断"></a>极致诊断</h4><p>不同于标准临床检测,Sid的方案包含了五大支柱:</p><ul> <li> 单细胞测序:使用 10x Genomics 技术测量特定细胞类型的基因表达及 T 细胞受体(TCR)。 </li> <li> 全基因组/转录组测序:监测肿瘤的整体突变图谱。 </li> <li> 微小残留病灶(MRD)监测:通过多个供应商进行血液循环肿瘤 DNA 扫描,作为早期复发预警。 </li> <li> 类器官模拟:利用自身癌细胞在实验室建立类器官系统,测试药物反应。 </li> <li> 病理染色:在组织样本中验证基因假设。 </li></ul><h4 id="并行治疗"><a href="#并行治疗" class="headerlink" title="并行治疗"></a>并行治疗</h4><p>Sid 放弃了传统的单一线性治疗方案,采取并行测试。</p><ul> <li> 药物重用(Drug Repurposing):利用 FDA 的 Form 3926(个人患者扩大使用申请),在 48 小时内获批使用 5 种原本针对其他癌症的实验性药物。 </li> <li> 治疗诊断学(Theranostics):利用放射配体疗法(Radioligand Therapy),通过配体精确引导 Lutetium-177(Lu-177) 同位素杀伤肿瘤。 </li> <li> 个性化疫苗与细胞疗法:开发基于 mRNA 的新抗原疫苗,并与学术机构合作研究带有“基因逻辑门”的 CAR-T 细胞疗法。 </li></ul><p>说实话,这部分我也没太看懂他具体怎么做的,但总体思路就是广度搜索,而不是单听一家之言或者一条路走到黑。</p><h3 id="合规之下的低效"><a href="#合规之下的低效" class="headerlink" title="合规之下的低效"></a>合规之下的低效</h3><p>文中提到,不管是FDA监管还是医院伦理审查会,都会造成一些麻烦,比如禁止还没通过临床试验的药被使用或者组织样本的获取。这些都是为了保障安全,但是也造成了一些低效。因为医院的利益和病人的利益是不一致的,医院只希望稳定盈利,病人可以死但不能把事情闹大,所以不做不错,不止是希波克拉底誓词中的do no harm,而更是do nothing了。其实大部分场景下也没什么问题,但是对有能力改变的情况下,就有些落后。</p><h3 id="未来已来,但分布不均"><a href="#未来已来,但分布不均" class="headerlink" title="未来已来,但分布不均"></a>未来已来,但分布不均</h3><p>文中提到一个概念,就是未来已经到来但是分布不均。文中提到的很多技术,比如单细胞测序,类器官模拟,个性化疫苗等,都在治疗中起到了帮助,但是普通人并不享有,甚至知道这些资源。也算是一个信息差了——假如我们未来患病,不要绝望,而要看看有没有类似的分布不均但已经到来的未来。</p>]]></content>
<tags>
<tag> 博文分享 </tag>
</tags>
</entry>
<entry>
<title>再次捡起博客</title>
<link href="/2026/03/29/%E5%86%8D%E6%AC%A1%E6%8D%A1%E8%B5%B7%E5%8D%9A%E5%AE%A2/"/>
<url>/2026/03/29/%E5%86%8D%E6%AC%A1%E6%8D%A1%E8%B5%B7%E5%8D%9A%E5%AE%A2/</url>
<content type="html"><![CDATA[<h1 id="重新开始写博客"><a href="#重新开始写博客" class="headerlink" title="重新开始写博客"></a>重新开始写博客</h1><p>我准备重新开始写博客了,虽然之前写过一些,但是断断续续的而不是习惯。我其实试着在别的平台每天写一篇博客,但是现在觉得还是在自己的个人博客上写比较好。因为写东西的动力无非就这几个:自我记录和提升;分享知识与表达感受;起号。而我之前写的,混杂了三个目标,而不同目标背后的逻辑和写法也是不一样的。我反思了一下,觉得写博客的意义还是记录和强迫自己思考。就像书籍 Personal Development for Smart People的作者在早期的一篇博客(<a href="https://stevepavlina.com/blog/2007/07/journaling/">链接</a>)里写的一样,</p><p>Journaling is one of the easiest and most powerful ways to accelerate your personal development. By getting your thoughts out of your head and putting them down in writing, you gain insights you’d otherwise never see.</p><p>同时,虽然写博客也是起号的一种方式,但时代不同,起号的受众决定着不同的起号逻辑,如果目标是实际的现金收益,似乎针对特定人群、针对性产出相关内容并提供对应的服务才是正途。单纯靠着博客网站吃广告收益的打法在2026年好像不太简单。如果目标是吸引技术人群,那也得真的言之有物才行。所以我现在不应该考虑起号,而是写真实的想法和收获。</p><h2 id="找工季的结束"><a href="#找工季的结束" class="headerlink" title="找工季的结束"></a>找工季的结束</h2><h3 id="找工吐槽"><a href="#找工吐槽" class="headerlink" title="找工吐槽"></a>找工吐槽</h3><p>过去半年,从25年8月到26年2月,我一直在找工作。漫长的拉锯战… 我一共面了五十多轮,和做了十几个笔试。最终拿到的包比我预期的高一点,虽然过程很坎坷。运气成分也很大。哪怕我刷过一千多题,所有面试里只有一次面试没做出题,但还是被拒绝了很多次。有几次是每轮都表现很好,结果最后被拒了,还有hr先打电话告诉我下周给我发offer然后过了一周打电话告诉我被挂了。当时在玩愚者整合包,正在锻造龙钢套、开开心心地pua着自己养的火龙喷龙息烧炉子,结果让我直接无语。</p><p>只能说hand hands loud louds。我面的都是普通的swe岗位,但是薪资最低的和最高的是4倍的差距。不过最低的属于是outlier了,游戏厂情怀这一块。</p><h3 id="感谢"><a href="#感谢" class="headerlink" title="感谢"></a>感谢</h3><p>我真心感谢我的朋友、家人、学长学姐、教授。他们帮我内推、mock、改简历、提供背调、分享信息、提供经济支持。我曾经和我的家人说找工作简简单单,但是真的想了想所有我需要感谢的人、不漏掉一个后,我才发现,他们帮了我如此之多,没有他们的帮助我绝对走不到现在。哪怕这是一条已经无数人走过的确定的路,实际执行下来,非常艰辛。我能走下来,离不开他们的帮助,与自己的坚持。</p><h2 id="对未来的迷茫与思考"><a href="#对未来的迷茫与思考" class="headerlink" title="对未来的迷茫与思考"></a>对未来的迷茫与思考</h2><p>虽然找到了工作,但我反而更加迷茫了。因为:我的人生规划到此为止。<br>我从没想过之后的路该怎么走,一切规划也只是到作为ng找到fulltime为止。我当时想的是,找到以后就稍微躺平一路到senior,再之后就彻底躺平了。只能说too young too simple sometimes naive,不管是对自己的内心想法、时代的变化、躺平的逻辑,都想得太简单了。</p><p>且不提ai浪潮下谁能躺平连狗家都慢慢变卷厂,我自己现在也不一定喜欢躺平。在字节实习一段时间后,我发现每天工作10h可能还要比每天打10h游戏要快乐一点,特别是当工作本身是学习、创造价值、提升自己时,只要不是干杂活而是解决challenge我就会很开心。当然,我也挺喜欢一天打10h游戏的,哈哈。</p><p>我好好想了想,什么对我最重要?</p><p>我想,答案是钱。</p><p>这并不是简单的拜金或者幻想有了钱以后可以骄奢淫逸;我现在穿的鞋子和衣服有的还是我高中时买的,每月最大的消费除了基本生活支出就是各种ai工具的订阅费和token。我认为钱重要,有两个原因。</p><p>一方面,钱是力量,可以带来保障。如果某天我得了绝症有个药却要几十万刀,钱就是命。平时生活中,钱也可以解决大部分的麻烦。</p><p>另一方面,赚更多的钱意味着接近更高的认知。我认为,一个人的认知,基本是和他自己赚到的钱(对比于遗产)成正比的。一个人赚到的钱越多,基本可以说,他的认知越高、他为他人创造的价值越大。虽然不是真理也有许多反例,但大部分场景下是这样的。</p>]]></content>
<tags>
<tag> 随笔 </tag>
</tags>
</entry>
<entry>
<title>我的转码之路-02-并不顺利的磕磕碰碰</title>
<link href="/2025/08/01/%E6%88%91%E7%9A%84%E8%BD%AC%E7%A0%81%E4%B9%8B%E8%B7%AF-02-%E5%B9%B6%E4%B8%8D%E9%A1%BA%E5%88%A9%E7%9A%84%E7%A3%95%E7%A3%95%E7%A2%B0%E7%A2%B0/"/>
<url>/2025/08/01/%E6%88%91%E7%9A%84%E8%BD%AC%E7%A0%81%E4%B9%8B%E8%B7%AF-02-%E5%B9%B6%E4%B8%8D%E9%A1%BA%E5%88%A9%E7%9A%84%E7%A3%95%E7%A3%95%E7%A2%B0%E7%A2%B0/</url>
<content type="html"><![CDATA[<h2 id="我的转码之路-02"><a href="#我的转码之路-02" class="headerlink" title="我的转码之路 - 02"></a>我的转码之路 - 02</h2><h3 id="我为什么又开始碰代码"><a href="#我为什么又开始碰代码" class="headerlink" title="我为什么又开始碰代码"></a>我为什么又开始碰代码</h3><p>上一回说到,初高中的cs课程给我带来了美好的和bro们打游戏的回忆但并没有带来任何知识,本科的第一门cs课带来的也只有痛苦。那么我为什么又要去碰代码吗?</p><p>我并不是M,再次写代码其实是出于自身的兴趣。当时我在学习做动画,而做动画需要写shader,就算不自己写完整的pbr和npr pipeline,至少也要会读懂到能够调参的程度吧。于是我找到一个学长给我推荐,然后开始读虎书和unity shader实战。然后我做动画的水平有点起色但是不多。(这是因为,做动画本身是很吃审美和艺术功底的事,比如颜色的搭配、场景人物选择等更加重要但是我没意识到,就像炒菜,最终动画是炒完的菜,计算机是热源,人物和场景模型是蔬菜肉,调色是调料,而底层框架是各种锅)我当时就在研究锅的做法(比如平底,砂锅,铁锅等),但是要做出好动画,需要各方面的协调,哪一方面出问题了都会失败,锅只是其中一个要素。做动画是非常难的事情,甚至这一个事实都是我毕业后才意识到的。</p><p>不过说回正题,为了做我感兴趣的动画,我就继续写代码了。同时,当时ai正在发展但是还没有出现chatgpt,我对语音克隆的项目很感兴趣,因为有喜欢的角色的声线想要复制。所以就用colab跑模型,学了一些命令行操作。我意识到代码没那么讨厌,之前讨厌它单纯是基础不行加上你清fly bitch式教学方法的锅。</p><p>同时,到我大二下-大三上这个时期,当时我正处于职业发展关键点的选择,当时我有两个选择,直博数学或者出国转码。我大三上时找了个数学系的老师,因为我看到他经历里有做图像处理相关的,和我感兴趣的有所匹配。于是我找了他,他和我聊了聊并给我论文看,然后我发现,我靠,这图像处理和我想象的有点不同啊,怎么是用偏微分方程做,在我感兴趣的metrics上还不如深度学习(比如生成)?毕业后去医院待遇不错又是啥?论文读着无趣,而我当时已经觉得学数学虽然不难受但是无聊无用,而我认知里中国搞数学搞到最厉害(both学术和权势)的人yau,也是天赋拉满,读书期间每天卷十几小时,但是年轻时赚钱还是要靠学校发的福利在波士顿炒房,一把年纪了还要写信给XXX,在学校里搞教学,不得清闲,而且创办求真书院虽然是真挚爱国之举但也客观上祸害了一些被家长推入火坑的懵懂单纯少年。他搞得很有激情,但是这完全不是我想过的人生。我对数学没用那么大的兴趣,而用数学赚钱,和其他行业相比也难度大效率低。何况我每天看树洞都能看到抑郁的老博士,也有数学系自杀的和知名的精神略微失常的六教老哥,我感觉,如果我不转码跑路,说不定以后我也要精神失常登上树洞热榜了。所以我赶紧跑路了。(不过当时那个老师人很好,知道我要跑路后也没有直接不理我,而是鼓励了我一波)</p><p>当然现在来看,转码的选择并非最优解,最优解或许是做下数学暑研然后申到美国top phd再转码跑路。但我当时并没有这样的认知,而且即使有,我也不会做这样的选择,一方面是坑了国内国外的导师,另一方面自己也不舒服,要做自己不喜欢的事情,而且这条路也不好走的。至少,我现在对我之前转码的选择并不后悔,甚至略带骄傲。</p><p>总之,无论是兴趣还是事业,都告诉我,我需要再次碰代码了。不过不同于大一上程设时深恶痛绝的态度,而是以主动、开心的态度去碰。</p>]]></content>
<tags>
<tag> 经历分享 </tag>
</tags>
</entry>
<entry>
<title>随便写一些感想</title>
<link href="/2025/08/01/%E9%9A%8F%E4%BE%BF%E5%86%99%E4%B8%80%E4%BA%9B%E6%84%9F%E6%83%B3/"/>
<url>/2025/08/01/%E9%9A%8F%E4%BE%BF%E5%86%99%E4%B8%80%E4%BA%9B%E6%84%9F%E6%83%B3/</url>
<content type="html"><![CDATA[<h1 id="碎碎念"><a href="#碎碎念" class="headerlink" title="碎碎念"></a>碎碎念</h1><h3 id="恢复更新"><a href="#恢复更新" class="headerlink" title="恢复更新"></a>恢复更新</h3><p>好久没有更新了。今天想写些东西,却发现,我勒个,我repo呢?原来在我老电脑上但是只有deploy的repo更新了,代码仓库没上传。于是用copilot赶紧把之前的几篇博客恢复一下。</p><p>之前一直没更新的原因是忙于各种事,或许是研究,或许是实习,或许是单纯的游戏。现在恢复更新。</p><h3 id="又过一年,各种失败"><a href="#又过一年,各种失败" class="headerlink" title="又过一年,各种失败"></a>又过一年,各种失败</h3><p>来美国也快一年了。这一年里似乎发生了很多事,又似乎什么都没发生。不过这一年里最大的收货,怕不是进一步认清了自己?还有几个失败的项目。这一年情绪波动也不多,但感觉影响其实挺大的。我记得刚来美国时斗志昂扬,但是现在少了一分激情,多了一分理智。</p><p>确实,这一年我没有什么成就。不管是科研还是工作上。科研上开启的四个项目,两个个人主导的都没什么意义,一个合作的被拒了两次,还有一个正在开发但是做下去的动力也不多了。刚决定做research时想要发四五篇文章的幻想被戳破,但其实我写这个的时候并没有很失落,因为发现现阶段我确实不适合做research,同时我选择的方向也不那么好出成果。而且还有各方面的原因。意气风发有时是无知的代名词,而认清自己的失败和失败的原因听起来不光彩,却是更进一步的必经之路。</p><p>工作上也没什么成就,找实习没找到。虽然只是随便找找,四月投了tiktok和amazon两家,但是tiktok表现还行被挂了也是挺无语的。</p><p>好在,我意识到了这些失败的一部分原因。</p><h4 id="科研失败的原因"><a href="#科研失败的原因" class="headerlink" title="科研失败的原因"></a>科研失败的原因</h4><p>先说说科研。科研失败的最大原因,是我没有选对方向。各种意义上的方向。从大方向来说,我选择了nlp和bioinfo,做llm agent以及aging research。前者大方向没错,后者其实是我想太简单了。我一开始的思路就是要做reverse aging,那么就要先找到与aging相关的变量(以足够精准的方式)然后去研究那些变量看看如何优化它们。这或许是因为我本科读数学,以及学cs和图形学而获得的潜意识————那就是在不同的概念上,存在一个必然的精准的映射,并可以用数学模型表达。</p><p>但真的是这样吗?数学的世界太干净了!图形学的世界同样,因为我们本来就是在研究理论模型。但是人体的复杂度要远高于此。拿个更简单的例子,比如要预测一台电脑的寿命,怎么预测?随机因素太多了,就算不考虑使用者不良操作的因素,每个零部件什么时候出问题又是不确定的。而修电脑也是靠着换部件而不是给电脑吃药。人体又比电脑复杂太多了,精准的映射是否存在都未必可知。我一开始看到DNA甲基化生物时钟时惊为天人,但是读论文时却又怀疑是否是数据拟合的过好(当然应该不是,这里只是表达对映射存在性的怀疑)。但是我潜意识觉得这条路未必可行,却又没有承认。</p><p>而我又发现了我的另一个特性————不喜欢赌博。当我知道这条路不一定有成果后,虽然我曾经以为我能接受没有成果地浪费五年时间,但是真要遇上了我还是不敢去赌。也是我的天性,可能可以说是胆小吧。但我不觉得这样做有什么问题,因为拿德州扑克举例,我打了几次后认为最好的策略,不考虑微表情等trick时,其实是每次慢慢出筹码,只有拿到很不错的牌后才选择加大筹码。all in只适合想要快速结束游戏(比如有一次和朋友玩到太晚干脆all in来委婉结束),现实里就是带点自毁冲动不成功就成仁。听上去很感人,我以为我能做这样的人,但我骨子里还是更加理性。其实不管是高考还是我最擅长的游戏,我都是采用这样的策略,比如一道题要检查两三遍,遇到人了要先观察是否有资源、把动作pvp玩成slg与rts之类。</p><p>所以做aging research现在确实是豪赌,虽然能做出一些成果,但是最终未必能做出东西。我不敢拿33,或者88甚至AA开局去赌allin啊。</p><p>而小方向上的失败其实也很明显。nlp的合作项目,做的agent方向,首先需要的认知就是顶会审稿太过不确定了。如果能遇到一个心情正常,会及时回复的资深研究者,那简直是最大的幸事。但是更大的可能是遇到挑剔的同行和不回复的审稿人。毕竟不回复没有惩罚,同行是冤家。除非文章写的足够好,既能有非常好的成果,又能表述的通俗易懂(虽然我觉得两者可能是冲突的),但即使这样遇到不回复的本科审稿人依然没辙(这里是指,老板的账号获得审稿要求,老板把审稿任务丢给本科生,让本科生写个review发给他,本科生写完了后因为账号是老板的也没法回复,老板自己不看)。所以为了文章数量,最好的解决办法其实是在保证质量的前提下多发,我只发一篇确实不够看。不过开始做时这个道理确实不知道。这个有点像是幸存者偏差,一些很水的文章能发出来,但实际上作者可能投了十几篇类似的文章才运气好一次遇到三个足够靠谱的审稿人。看似是运气,实则还是努力和认知。我的认知和努力都不够,被拒其实是正常。</p><p>而另外几个bioinfo一些的项目,失败的原因则是选题上就没什么吸引力,taste不够。这也教会我一课,就是做项目前一定要先从长远视角看项目的可行性和价值,至少先看到项目能有什么成果,而且要悲观一点地看。做实际的战术时要悲观。另外一些意义不大的项目就不要投入太多时间,或者干脆不要去参与。</p><p>除了方向和认知,其实我的问题还是不够努力吧。同项目里有同学每天都在狂卷nlp然后发了几篇文章,这个只能说是他应得的。Hard work pays off. 扪心自问,我并没有全力投入。实际上,来美国这一年,某种意义上是我最自由的一年,因为不像本科时十二点断电,或者在家里我家人监督我早睡,我哪怕熬夜到早上九点都没人管我。这样就很容易堕落,配上一些邪恶的游戏比如文明,戴森球。我还记得我有一次打文明打到早上八点然后睡过头上课迟到。不过也不能怪我,毕竟世界上最聪明的人之一陶哲轩也干过类似的事情哈哈哈,同样的打文明(老版本)导致差点挂科了。我还可以安慰自己,像马斯克和扎克伯格一样沉迷文明,这反而意味着我有和他们相似的潜质。不过回到正题,我确实没有足够努力。</p><p>所以,认知和努力是我失败的本质原因。并非运气,除非我任性到认为没有好运气就是倒霉。</p><h4 id="工作失败的原因"><a href="#工作失败的原因" class="headerlink" title="工作失败的原因"></a>工作失败的原因</h4><p>我没有找到暑期实习。这个其实失败也是正常,毕竟我是四月被拒稿后大无语拿着老简历随便投了两家,literally就只有两家,tiktok和amazon,因为其他大厂都没岗位了,小厂乃至unpaid实习还不如暑假里暑研或者旅游。amazon当时白嫖oa,十五分钟ac不过因为招满了所以没有面试,有同学在waitlist也没被捞上去。tiktok则是没有笔试直接发面试,这就导致我以为自己行了,但事实证明期望越大失望越大。</p><p>因为tiktok和其他公司不太一样,感觉它面试发的更多。但是横向刷人也概率更大。我虽然两面都ac了,但是做的东西没有和组里那么匹配(没有意识到match的重要性提前准备对应的问题和回答),导致一面只有coding test的韩国人对我评价非常好,二面hm面的本科学姐反而冷冰冰的。当时我还有点不解,不过现在意识到其实非常正常,别人有更匹配的candidate,招人是招最能干活的。而且我二面的时间很晚,当时估计已经招到人了,我遇到类似情形要主动把面试时间提前约一下。</p><p>所以工作失败是运气原因吗?其实未必。我虽然没有表现差还被拒,是因为倒霉地遇到了表现更好的candidate吗?但是更好的candidate是否是tiktok发更多面试的结果,而没有发更多面试的策略我甚至拿不到vo?我觉得有一定的关系。所以并不只是运气不好那么简单。我的运气属于正常水准,没有好运爆棚,也没有霉运连连。</p><p>而且我找实习也没有很认真,找不到就找不到,反正之前实习对找fulltime已经很够用了,暑假里做暑研和旅游读书反而更加开心一些。不过确实被tiktok拒了以后的那几天有点不爽,所以也算是找工失败吧。</p><h3 id="总结"><a href="#总结" class="headerlink" title="总结"></a>总结</h3><p>这一年我经历了很多失败,科研和工作的,但是好处是我更加认清了自己,以及收获了一些认知。年轻时的失败或许是有益的不是吗?</p><p>何况失败在所难免。就像我之前玩觅长生,即使我对这个游戏已经完全知根知底、各种流派都摸清了,但是杂灵根突破化神还是需要失败二十次来积累属性。在一次又一次的失败中我产生了一丝迷茫,随后又哑然失笑。一方面是我作为牢玩家不需要,另一方面是,连作为对游戏完全了解的玩家,突破时经历这么多的失败、知道失败只是积累属性加仙性手段的我都会感到迷茫,如果我是游戏里那个修真者呢?而我又何尝不是现实里那个修真者呢?即使是全知全能者都会感到一些事困难(因为机制的设计),我自然没必要把一些事想太简单,因为难度是事实而不是自身能力不够。只是有些事实不会以那么明显的方式展露,比如说看似很简单的把橘子皮压平,但是上帝来了都没法做到,因为等距变换下高斯曲率不变(高斯绝妙定理)。但是聪明人会直接踩一脚或者给问题提出者一巴掌来解决问题。失败是事实的结果,而失败了就换条路,换不了路就坚定走下去。就这么简单。</p>]]></content>
<tags>
<tag> 经历分享 </tag>
</tags>
</entry>
<entry>
<title>我的转码之路-01 从憎恶代码开始</title>
<link href="/2024/04/01/%E6%88%91%E7%9A%84%E8%BD%AC%E7%A0%81%E4%B9%8B%E8%B7%AF-01-%E4%BB%8E%E6%86%8E%E6%81%B6%E4%BB%A3%E7%A0%81%E5%BC%80%E5%A7%8B/"/>
<url>/2024/04/01/%E6%88%91%E7%9A%84%E8%BD%AC%E7%A0%81%E4%B9%8B%E8%B7%AF-01-%E4%BB%8E%E6%86%8E%E6%81%B6%E4%BB%A3%E7%A0%81%E5%BC%80%E5%A7%8B/</url>
<content type="html"><![CDATA[<h1 id="序"><a href="#序" class="headerlink" title="序"></a>序</h1><p>今天,弹琴时发现自己的音乐学习之旅又遇到瓶颈了,而这次的瓶颈很可能需要通过一种我都不曾意料到的方式解决————写歌词。其实未必要写多么押韵的歌词,而是要把情感确定了,现有情感再去写歌表达,而非以往的先写歌然后赋予情感。当然不提前后方法的正确性,总之我需要再次发掘感情了,可能是之前忙着找实习被磨灭了不少内心的热情。</p><p>于是干脆写一个回忆,关于我的转码之路的。在我看来,这是一条艰难却又是我必然选择的路。即使我被坑着直博再读五年数学,我估计直博期间或者毕业后还是要转码。而我的经历或许也能给一些和我有着类似想法的人提供一些参考,如果我在去年现在能得到这些参考,那么我也或许能少走一些弯路。对自己有益,对他人也有益,为何不写呢?</p><h1 id="正文"><a href="#正文" class="headerlink" title="正文"></a>正文</h1><h2 id="我的转码之路-01"><a href="#我的转码之路-01" class="headerlink" title="我的转码之路 - 01"></a>我的转码之路 - 01</h2><h3 id="我的第一,二,三次写代码的经历"><a href="#我的第一,二,三次写代码的经历" class="headerlink" title="我的第一,二,三次写代码的经历"></a>我的第一,二,三次写代码的经历</h3><p>不同于一些年少成名的天才,我接触代码的时间不早,而且我一开始对代码没有表露出任何的兴趣。第一次写代码是在小学高年级的微机课上,当时教的是pascal。但是我一句都不会写,作业全靠抄,课上电脑被控制时就和同学聊天或者玩,电脑不被控制了就打游戏。</p><p>我第二次写代码是初中,同样微机课,不过教授内容变成了c++。而我也有了变化,那就是我打游戏的时间有所减少,多出来的时间用于————听歌了。没错,我还是一点c++都不会写,作业全靠抄,因为不知道写代码有什么用。</p><p>第三次写代码是大一,上一门叫程序设计基础的课。这门课必须认真上了,为了不挂科。于是我就开始认真学,然后上这门课前暑假里其实看了一点c++(之后会讲为什么看),但是水平属于只会写个循环。然后这门课名叫程设基础,每节课就讲一些基础的算法,比如 dfs bfs dp 之类的。然后上课1+1作业微积分这样。我每次写的很痛苦,只能向一个很强的舍友请教(这哥们水平极强,去打力扣周赛估计认真点可以较稳拿到全球前十),当时写个最基础的二分都要写好久,每次交作业那天12:00我都在继续写,太痛了。于是我对代码唯一有的一丝丝热情直接无了(这里的热情出现的更早,不过之后再讲)。</p><p>除了难度不小的平时作业,这门课还有个大作业。大作业是要我们写一个类似matlab画图函数的功能,给函数表达式输出图像bmp。基础要求是2d,进阶要求是3d,但是完全没告诉我们怎么画3d的。而讲大作业的第一节课在讲如何用c++生成bmp文件,比如格式头,内容等,但是当时我听了一节课不知道什么是bmp。。。上完课去问什么是bmp,才发现,哦这是个图片格式啊。结局自然是2d和3d的都不会画,只能靠组里的两个好兄弟帮忙,我写一些更简单的(比如画坐标系)来写。</p><p>最后,考试有60分的送分题(真的就是写个循环就行),剩下的估计是力扣周赛3和4题的难度。我直接傻眼了,做完60分开始呆坐。</p><p>虽然这门课靠着组员认真做大作业拿了A-,但我上完课的感想只是:以后再也不碰代码了。</p><p>所以,这便是我转码之前对代码的印象:复杂,令人痛苦的玩意。</p><p>那我为什么又走上了转码之路呢?欲知后事如何,请看下回分解。</p>]]></content>
<tags>
<tag> 经历分享 </tag>
</tags>
</entry>
<entry>
<title>Serum合成器基础3-采样形变</title>
<link href="/2024/03/30/Serum%E5%90%88%E6%88%90%E5%99%A8%E5%9F%BA%E7%A1%803-%E9%87%87%E6%A0%B7%E5%BD%A2%E5%8F%98/"/>
<url>/2024/03/30/Serum%E5%90%88%E6%88%90%E5%99%A8%E5%9F%BA%E7%A1%803-%E9%87%87%E6%A0%B7%E5%BD%A2%E5%8F%98/</url>
<content type="html"><![CDATA[<h1 id="Serum合成器教程系列"><a href="#Serum合成器教程系列" class="headerlink" title="Serum合成器教程系列"></a>Serum合成器教程系列</h1><p>本文标题的采样形变,指的是对波形进行直接变换。不同于减法合成,我们直接对波形进行变化。除了一些复制,翻转,缩变,我们还可以使用fm和am方法。</p><p>这部分的原理挺复杂的,特别是FM,我觉得可以去youtube找几个视频看一看,或者上reddit,比如有一些链接可以参考。(我自己之前看了几遍都没看懂…最近主业稍微可以闲一下,抱着好心情去认真看才看懂一些)如果暂时看不懂,很正常,以后心情好了再来看就行了。</p><p><a href="https://www.reddit.com/r/edmproduction/comments/5vdmc5/can_anyone_help_me_understand_fm_synthesis/">reddit回答帖</a></p><p><a href="https://synthesizeracademy.com/fm-synthesis/">带声音示范的文章</a></p><h3 id="Sync"><a href="#Sync" class="headerlink" title="Sync"></a>Sync</h3><ol><li>sync no window 调整波形 看上去和频率调控很类似,区别在于 pitch 是直接改变波形音调,而 sync 是强制在频率里每次刷新重新播放波形,比如 2.5 的 110hz 的 A 就是每分钟刷新 110 次,每次里先两次波形再一次半波形</li><li>sync 1/2 window 对边缘做平滑 听起来更加 blurred 比如说没有一些呲呲的电子杂音</li><li>sync window 整个做平滑</li></ol><h3 id="Bend-和-PWM"><a href="#Bend-和-PWM" class="headerlink" title="Bend 和 PWM"></a>Bend 和 PWM</h3><ol><li>bend 扭曲波形,加是让函数(取绝对值后)向两边靠,减是向中间</li><li>bend 让低频高频都能听到,用来做 bass 好像很好</li><li>PWM 控制波形宽度 不过这玩意有啥用。。。</li></ol><h3 id="Asym-和-Flip"><a href="#Asym-和-Flip" class="headerlink" title="Asym 和 Flip"></a>Asym 和 Flip</h3><ol><li>asym 反对称 类似 bend,但是 bend 是中间向两边,asym 是一边向另一边 au5 说自己更喜欢 asym 相对于 bend</li><li>flip 上下翻转 flip 范围内的波形 到中间完全反转 到最右边返回初始</li></ol><h3 id="Mirror-和-Quantize"><a href="#Mirror-和-Quantize" class="headerlink" title="Mirror 和 Quantize"></a>Mirror 和 Quantize</h3><ol><li>mirror 中间做对称 处于中间时正好是原本波形对称 向左右时是拉伸对称部分</li><li>quantize 是降采样 有点类似马赛克滤镜,给人 pixel 的感觉 或者说 99 game boy 的感觉(另一个课程 instructor 的评价)</li></ol><h3 id="FM-AM-RM"><a href="#FM-AM-RM" class="headerlink" title="FM AM RM"></a>FM AM RM</h3><ol><li>fm 频率调控</li><li>am 是调控波形的音量 负的就是减声</li><li>rm 如果正中间就是 am 如果拉满则是负数对应反转</li></ol><h3 id="Remap"><a href="#Remap" class="headerlink" title="Remap"></a>Remap</h3><ol><li>自己画图来做 fm/am,实验时可以拿 saw(波形是直线的 basic shape)来做,更直观一些</li><li>初始时,斜率为 1,代表没有任何变化</li><li>remap 1,2,3,4 实质上差不多,数字代表 sync 数</li><li>remap 的 x 轴对应波形表的 x 轴,导数对应区间内频段的宽度</li></ol>]]></content>
<tags>
<tag> 电子音乐制作 </tag>
</tags>
</entry>
<entry>
<title>Serum合成器基础2-主面板</title>
<link href="/2024/03/30/Serum%E5%90%88%E6%88%90%E5%99%A8%E5%9F%BA%E7%A1%802-%E4%B8%BB%E9%9D%A2%E6%9D%BF/"/>
<url>/2024/03/30/Serum%E5%90%88%E6%88%90%E5%99%A8%E5%9F%BA%E7%A1%802-%E4%B8%BB%E9%9D%A2%E6%9D%BF/</url>
<content type="html"><![CDATA[<h1 id="Serum合成器教程系列"><a href="#Serum合成器教程系列" class="headerlink" title="Serum合成器教程系列"></a>Serum合成器教程系列</h1><p>在介绍完serum基础,和产生声音的源头振荡器后,本篇介绍serum主面板上其他的功能,比如sub,noise这两个独特的音源,以及env和lfo这类合成器中的“函数”,以及一些其他功能。</p><p>当然,本篇还是没有讲完主面板中的全部内容,比如warp和filter。它们会在之后出现。</p><h3 id="sub-振荡器"><a href="#sub-振荡器" class="headerlink" title="sub 振荡器"></a>sub 振荡器</h3><ol><li>sub 技术上就是一个振荡器,不过有更少的可选参数</li><li>可用于给 bass 铺底</li><li>DIRECT OUT:如果开启,就是不经过各种 filter fx 等直接输出,比如铺地可能就想要它单独铺出来</li></ol><h3 id="noise-振荡器"><a href="#noise-振荡器" class="headerlink" title="noise 振荡器"></a>noise 振荡器</h3><ol><li>是一个采样器</li><li>可以将 wav 拖入 audio track,使用 ctrl e 做切割处理,然后切割好后保存新的 wav,再拖入 noise 的 wav,然后频率可能得改下防止变声</li><li>箭头:是否确定为 one-shot phase:起始点 random: phase 随机程度 pitch:音调 钢琴:是否跟着钢琴变调 如果钢琴被选中,那么 pitch 变化是 semitone;否则则是 percentage, 12% 是一个 octave</li></ol><h3 id="Filter"><a href="#Filter" class="headerlink" title="Filter"></a>Filter</h3><ol><li>cutoff 控制频率 res 控制频率处形状 pan 左右 drive 和 fat 都是加音量 但是 drive 是 pre-filter saturation,fat 没有做 saturation,不会改变频率的(感觉?) 反正现在不太懂这是什么 之后再说吧 mix 也不太懂,还没学过混音 之后再说吧</li></ol><h3 id="Envelope-1"><a href="#Envelope-1" class="headerlink" title="Envelope 1"></a>Envelope 1</h3><ol><li>它(和其他下半板块的模块)本身不产生声音,但是对声音产生影响</li><li>是音量的结构</li><li>env1 负责整个 serum 的声音,由 adsr 控制</li><li>adsr 分别是什么? a 是 attack,声音到最大的时长;d 是最高点下降到持续的时长;s 是下降并维持的音高;r 是释放后的停止时间 除此之外 serum 还有个 hold,代表最高处维持时间。其中 ahdr 都是横坐标的时长,s 是纵坐标的音高</li><li>拉曲线时还可以改变曲线形状</li></ol><h3 id="Envelope-2-3"><a href="#Envelope-2-3" class="headerlink" title="Envelope 2, 3"></a>Envelope 2, 3</h3><ol><li>env2 和 3 不控制整体音量,需要将它们 assign 到具体的 knob 才有影响</li><li>据 au5 说,他用 env1 基本只控制整体音量而不控制其他的</li><li>拉到 knob 上时,可以调控影响的 range,shift alt 点击 knob 切换成对称控制, 如果是负的则是逆时针(从指针开始到最远处),如果是对称,方向则根据 shift alt 对称前的方向(正 or 负)决定走向</li><li>一个 env 最多控制 32 个 knob,3 个 env 似乎是不太够的,于是之后还会有 lfo</li></ol><h3 id="LFO"><a href="#LFO" class="headerlink" title="LFO"></a>LFO</h3><ol><li>LFO 的最高点和最低点便是 lfo 的范围两端点,方向正负控制和上一节提到的控制方法一样</li></ol><h3 id="LFO-控制器"><a href="#LFO-控制器" class="headerlink" title="LFO 控制器"></a>LFO 控制器</h3><ol><li>rate 控制 lfo 周期时长</li><li>rise 渐进式的 lfo 启动 delay 时长结束再启动 lfo</li><li>smooth</li><li>bmp 跟着 daw 的 bpm 走还是跟着独立的数字频率</li><li>anchor 保证 rate 改变时 phase 也跟着改,为了确保 rate 变动时 lfo stay sync with beat 说实话这里没太懂</li><li>trip 在 rate 中添加更多的 subdivision 选择</li><li>dot 同上</li><li>off 每次新的开始地点都是上次的结尾</li><li>trig 总是从 lfo 最左边开始</li><li>env 让 lfo 不循环而只运行一次,像 envelope 一样</li><li>最多可以有 8 个 lfo</li><li>在曲线上双击增加点,可以拉曲线</li><li>按住 shift 直接画横线</li><li>grid 控制横线单元格数量</li><li>按住 alt shift,y 坐标也变成离散的</li><li>lfo 也可以读取和保存 preset</li><li>lfo rate 拉到最右 fast 速率是多少? 据 au5 说可能是 512</li></ol><h3 id="Macro-和-mod"><a href="#Macro-和-mod" class="headerlink" title="Macro 和 mod"></a>Macro 和 mod</h3><ol><li>可以将 mod 的 knob 拉到别的上面,然后控制 mod 就是控制一大堆 knob</li><li>目的是将一大堆参数整合成一个 package 来做 mod</li><li>可以用键盘控制 mod</li></ol><h3 id="Voicing"><a href="#Voicing" class="headerlink" title="Voicing"></a>Voicing</h3><ol><li>mono 只能弹一个键</li><li>poly 可以同时弹的数量(超过的话取最近弹的三个) unison 的也算,不过 unison 变大,poly 上限也会变大 unison 拉满时最多是 1088</li><li>porta 音不够时转变的速率 curve 转变曲线</li><li>always 如果开了,那么 mono 下哪怕两个不同的音分开,它们也会连续转变;scaled 如果开了那么跳 2 个 sacle 时间比跳一个 scale 更长</li><li>legato 如果开了那么各种 lfo,env,mod 都会继续而非重新被 trigger</li></ol><h3 id="Pitch-bend-和右键选项"><a href="#Pitch-bend-和右键选项" class="headerlink" title="Pitch bend 和右键选项"></a>Pitch bend 和右键选项</h3><ol><li>pitch bend 翻译是弯音</li><li>两个上下界调整范围,大小没有要求上大下小,上小下大也可以</li><li>ctrl 左键 一个 knob 可以让它初始化 或者右键选择 reset control 也行</li><li>右键选择 mod source 可以避免 drag 因为有的可能是拖不到的比如 lfo 到另一个 lfo 的参数</li></ol><h3 id="UI"><a href="#UI" class="headerlink" title="UI"></a>UI</h3><ol><li>可以选择皮肤 不同皮肤带来的不同感觉可能真的会对创作有影响</li><li>可以放大 放大后分辨率提高还挺细致的</li></ol>]]></content>
<tags>
<tag> 电子音乐制作 </tag>
</tags>
</entry>
<entry>
<title>本地vs code c++环境配置</title>
<link href="/2024/03/28/%E6%90%AD%E5%BB%BA%E6%9C%AC%E5%9C%B0lt%20cpp%E7%8E%AF%E5%A2%83/"/>
<url>/2024/03/28/%E6%90%AD%E5%BB%BA%E6%9C%AC%E5%9C%B0lt%20cpp%E7%8E%AF%E5%A2%83/</url>
<content type="html"><![CDATA[<h1 id="Windows系统-本地-VS-Code-配置-C-环境"><a href="#Windows系统-本地-VS-Code-配置-C-环境" class="headerlink" title="Windows系统 本地 VS Code 配置 C++ 环境"></a>Windows系统 本地 VS Code 配置 C++ 环境</h1><h1 id="本地配置的目的"><a href="#本地配置的目的" class="headerlink" title="本地配置的目的"></a>本地配置的目的</h1><p>看到这个博客肯定就有人要问了:德同学你何苦要本地vs code配置c++环境呢?如果是大项目,好好的visual studio不用来用vs code,如果就是写点简单算法题,力扣网站直接刷不好吗,非要自讨麻烦。</p><p>实际上我以前就是这么想的,但是今天发现本地配置还是有意义的————因为要面试,然后发现可能要在本地跑代码,而visual studio每次打开都要不少时间,挺麻烦的,相比之下vs code好很多。而面试的时候可能并不会同意让你打开力扣当c++环境。</p><p>配置过程也不长,十五分钟的事。所以不妨配置一个,写起代码手感不得不说远超干巴巴的leetcode网页版。但之前就故意为了练这个没配…</p><h1 id="配置过程"><a href="#配置过程" class="headerlink" title="配置过程"></a>配置过程</h1><h2 id="下载MINGW"><a href="#下载MINGW" class="headerlink" title="下载MINGW"></a>下载MINGW</h2><p>首先下载 MINGW, 看<a href="https://stackoverflow.com/questions/46455927/mingw-w64-installer-the-file-has-been-downloaded-incorrectly">这个帖子</a>里有图片的赞数最多的那个回答就够了。</p><p>实际上就是下载压缩包(<a href="https://github.com/brechtsanders/winlibs_mingw/releases/download/11.2.0-10.0.0-ucrt-r1/winlibs-x86_64-posix-seh-gcc-11.2.0-mingw-w64ucrt-10.0.0-r1.7z">地址</a>),解压后放到一个目录里,然后系统变量加一下。</p><p>搞完以后,cmd试试</p><figure class="highlight h"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line"></span><br><span class="line">gcc --version</span><br><span class="line"></span><br></pre></td></tr></table></figure><p>输出没问题就是安装好了。</p><h2 id="配置VS-Code"><a href="#配置VS-Code" class="headerlink" title="配置VS Code"></a>配置VS Code</h2><p>其实配置VS code的部分有一篇文章我觉得很好,那就是<a href="https://zhuanlan.zhihu.com/p/87864677">这篇</a>。它虽然讲安装的部分有些过时,但配置vs code的部分没有,直接参考它就行了。</p><p>概括而言,就是安装c++插件,配置编译器环境。</p><h2 id="引入头文件"><a href="#引入头文件" class="headerlink" title="引入头文件"></a>引入头文件</h2><p>正常来说我们已经可以跑c++程序了,比如最简单的Hello World:</p><figure class="highlight h"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#<span class="keyword">include</span> <span class="string"><iostream></span></span></span><br><span class="line">using namespace <span class="built_in">std</span>;</span><br><span class="line"></span><br><span class="line"><span class="type">int</span> <span class="title function_">main</span><span class="params">()</span></span><br><span class="line">{</span><br><span class="line"> <span class="built_in">cout</span> << <span class="string">"Hello World"</span> << <span class="built_in">endl</span>;</span><br><span class="line"> <span class="keyword">return</span> <span class="number">0</span>;</span><br><span class="line">}</span><br><span class="line"></span><br></pre></td></tr></table></figure><p>但是,当我们敲出vector, unordered_map, priority_queue等常用数据结构的时候发现底下都是红线,因为没有引入对应的依赖。于是我们稍作改动:</p><figure class="highlight h"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br></pre></td><td class="code"><pre><span class="line"></span><br><span class="line"><span class="meta">#<span class="keyword">include</span> <span class="string"><bits/stdc++.h></span></span></span><br><span class="line">using namespace <span class="built_in">std</span>;</span><br><span class="line"></span><br><span class="line"><span class="type">int</span> <span class="title function_">main</span><span class="params">()</span></span><br><span class="line">{</span><br><span class="line"> <span class="built_in">cout</span> << <span class="string">"Hello World"</span> << <span class="built_in">endl</span>;</span><br><span class="line"> <span class="keyword">return</span> <span class="number">0</span>;</span><br><span class="line">}</span><br><span class="line"></span><br><span class="line"></span><br></pre></td></tr></table></figure><p>现在我们就看可以自由使用各种数据结构了,面试时也可以直接打开vs code写c++。</p>]]></content>
<tags>
<tag> c++ </tag>
</tags>
</entry>
<entry>
<title>制作简单的chatbot</title>
<link href="/2024/02/15/%E5%88%B6%E4%BD%9C%E7%AE%80%E5%8D%95%E7%9A%84chatbot/"/>
<url>/2024/02/15/%E5%88%B6%E4%BD%9C%E7%AE%80%E5%8D%95%E7%9A%84chatbot/</url>
<content type="html"><![CDATA[<h1 id="制作简单的-Chatbot"><a href="#制作简单的-Chatbot" class="headerlink" title="制作简单的 Chatbot"></a>制作简单的 Chatbot</h1><h1 id="Chatbot-是什么"><a href="#Chatbot-是什么" class="headerlink" title="Chatbot 是什么"></a>Chatbot 是什么</h1><p>Chatbot,聊天机器人。有各种各样的聊天机器人,用于不同的场景,比如网站上的机器客服就是一个例子。我最近还看到一个新闻,一个公司裁了 700/3000 人工客服并使用 AI 克服替换,便是 Chatbot 的应用。</p><p>而我们也可以搭建各种各样的 Chatbot,比如搭建虚拟伴侣等。这篇文章中,我们便以搭建虚拟助手为例,搭建一个 chatbot 助手。</p><h1 id="Chatbot-的结构"><a href="#Chatbot-的结构" class="headerlink" title="Chatbot 的结构"></a>Chatbot 的结构</h1><p>Chatbot 的结构很简单,前端展示,后端服务,算法接口。</p><p>前端展示便是对话框,语音播放框之类的,可以使用 React 这样的框架实现;</p><p>后端服务便是前端调取的接口,负责业务逻辑,同时需要连接算法接口,可以使用 SpringBoot 或者 Python Flask 等实现;</p><p>算法接口,这个是最难的,但是我们先不考虑自己训练 AI 模型,我们采用简单一些的办法,那就是调用一些付费或者开源的大模型接口,并采用 prompt engineering 来生成指令。</p><p>本篇文章出于方便,就直接使用 python gradio 搭建 chatbot 了,它可以直接调用代码生成前端网页,gradio 库也有 chatbot 的组件,支持文字,语音等。我们的后端逻辑用 python 写也非常方便。</p><p>而算法接口,我们就使用 GPT3.5。当然 GPT4 之类的也行,不过这些区别不大,就是配置里改一行代码的事。</p><h1 id="需要条件"><a href="#需要条件" class="headerlink" title="需要条件"></a>需要条件</h1><p>一台可以连接全世界互联网的并且能写代码的电脑(用 VPN 也行)</p><p>openai 账号,有 1$ 以上的余额</p><p>python 和命令行基础</p><h1 id="引入依赖"><a href="#引入依赖" class="headerlink" title="引入依赖"></a>引入依赖</h1><p>首先我们需要下载一些库。使用 pip 下载,或者 pycharm 里设置 interpreter 下载也行。</p><h1 id="Chabot-代码"><a href="#Chabot-代码" class="headerlink" title="Chabot 代码"></a>Chabot 代码</h1><p>懒得把我的成品代码再扒开重新从一开始写了,直接参考文档吧。。。与其看我一大堆话不如直接看文档代码来的方便</p><p><a href="https://www.gradio.app/guides/creating-a-custom-chatbot-with-blocks">https://www.gradio.app/guides/creating-a-custom-chatbot-with-blocks</a></p><p>使用参考文档中的代码可以实现最基础的 chatbot,我直接贴上我的代码了。</p><figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br><span class="line">71</span><br><span class="line">72</span><br><span class="line">73</span><br><span class="line">74</span><br><span class="line">75</span><br><span class="line">76</span><br><span class="line">77</span><br><span class="line">78</span><br><span class="line">79</span><br><span class="line">80</span><br><span class="line">81</span><br><span class="line">82</span><br><span class="line">83</span><br><span class="line">84</span><br><span class="line">85</span><br><span class="line">86</span><br><span class="line">87</span><br><span class="line">88</span><br><span class="line">89</span><br><span class="line">90</span><br><span class="line">91</span><br><span class="line">92</span><br><span class="line">93</span><br><span class="line">94</span><br><span class="line">95</span><br><span class="line">96</span><br><span class="line">97</span><br><span class="line">98</span><br><span class="line">99</span><br><span class="line">100</span><br><span class="line">101</span><br><span class="line">102</span><br><span class="line">103</span><br><span class="line">104</span><br><span class="line">105</span><br><span class="line">106</span><br><span class="line">107</span><br><span class="line">108</span><br><span class="line">109</span><br><span class="line">110</span><br><span class="line">111</span><br><span class="line">112</span><br><span class="line">113</span><br><span class="line">114</span><br><span class="line">115</span><br><span class="line">116</span><br><span class="line">117</span><br><span class="line">118</span><br><span class="line">119</span><br><span class="line">120</span><br><span class="line">121</span><br><span class="line">122</span><br><span class="line">123</span><br><span class="line">124</span><br><span class="line">125</span><br><span class="line">126</span><br><span class="line">127</span><br><span class="line">128</span><br><span class="line">129</span><br><span class="line">130</span><br><span class="line">131</span><br><span class="line">132</span><br><span class="line">133</span><br><span class="line">134</span><br><span class="line">135</span><br><span class="line">136</span><br><span class="line">137</span><br><span class="line">138</span><br><span class="line">139</span><br><span class="line">140</span><br></pre></td><td class="code"><pre><span class="line"></span><br><span class="line"><span class="keyword">import</span> gradio <span class="keyword">as</span> gr</span><br><span class="line"><span class="keyword">import</span> random</span><br><span class="line"><span class="keyword">import</span> time</span><br><span class="line"></span><br><span class="line"><span class="keyword">from</span> gptApi <span class="keyword">import</span> simple_text_api_character </span><br><span class="line"><span class="comment"># 下面一个模块,将调用接口部分的代码就是gptApi.py</span></span><br><span class="line"></span><br><span class="line"></span><br><span class="line"><span class="keyword">from</span> t2a <span class="keyword">import</span> text2audio </span><br><span class="line"><span class="comment"># 这个是自定义的语音接口,函数形式如下:</span></span><br><span class="line"><span class="comment"># def text2audio(text):</span></span><br><span class="line"><span class="comment"># return "aaa.wav"</span></span><br><span class="line"><span class="comment"># 我是加了一层语音合成,但是你可以直接返回一个wav文件就行。</span></span><br><span class="line"></span><br><span class="line"></span><br><span class="line"><span class="keyword">import</span> os</span><br><span class="line"><span class="keyword">import</span> json</span><br><span class="line"><span class="keyword">import</span> datetime</span><br><span class="line"></span><br><span class="line">now = datetime.datetime.now()</span><br><span class="line">logName = <span class="string">"Day "</span> + <span class="built_in">str</span>(now)[:<span class="number">10</span>]</span><br><span class="line">logName += <span class="string">'.json'</span></span><br><span class="line"><span class="comment"># print(logName)</span></span><br><span class="line"></span><br><span class="line">logPath = <span class="string">"./talkLog/"</span> + logName</span><br><span class="line">loaded = {}</span><br><span class="line"></span><br><span class="line">WRITE_INTO_LOG = <span class="literal">True</span></span><br><span class="line">GENERATE_SOUND = <span class="literal">True</span></span><br><span class="line"></span><br><span class="line"><span class="keyword">def</span> <span class="title function_">generate_from_text</span>(<span class="params">message</span>):</span><br><span class="line"> text = message;</span><br><span class="line"> <span class="keyword">return</span> [</span><br><span class="line"> (<span class="literal">None</span>, api_audio(message=text, useTextApi=<span class="literal">False</span>)),</span><br><span class="line"> (<span class="literal">None</span>, format_respond_message(text)),</span><br><span class="line"> ]</span><br><span class="line"></span><br><span class="line"><span class="keyword">def</span> <span class="title function_">get_audio</span>(<span class="params">message</span>):</span><br><span class="line"> text = api_text(message=message)</span><br><span class="line"> <span class="keyword">return</span> [</span><br><span class="line"> (<span class="literal">None</span>, api_audio(message=text, useTextApi=<span class="literal">False</span>)),</span><br><span class="line"> (<span class="literal">None</span>, format_respond_message(text)),</span><br><span class="line"> ]</span><br><span class="line"></span><br><span class="line"><span class="keyword">def</span> <span class="title function_">get_image</span>(<span class="params">message</span>):</span><br><span class="line"> <span class="keyword">return</span> [</span><br><span class="line"> (<span class="literal">None</span>, api_image(message=message)),</span><br><span class="line"> (<span class="literal">None</span>, format_respond_message(message)),</span><br><span class="line"> ]</span><br><span class="line"></span><br><span class="line"><span class="keyword">def</span> <span class="title function_">get_text</span>(<span class="params">message</span>):</span><br><span class="line"> <span class="keyword">return</span> [</span><br><span class="line"> (<span class="literal">None</span>, format_respond_message(api_text(message=message)))</span><br><span class="line"> ]</span><br><span class="line"></span><br><span class="line"><span class="keyword">def</span> <span class="title function_">api_audio</span>(<span class="params">message, useTextApi = <span class="literal">True</span></span>):</span><br><span class="line"> text = message</span><br><span class="line"> <span class="keyword">if</span> useTextApi:</span><br><span class="line"> text = api_text(message=text)</span><br><span class="line"> audio_name = text2audio(text)</span><br><span class="line"> <span class="keyword">return</span> (audio_name,)</span><br><span class="line"></span><br><span class="line"><span class="keyword">def</span> <span class="title function_">api_image</span>(<span class="params">message</span>):</span><br><span class="line"> <span class="keyword">return</span> (<span class="string">"ri.png"</span>,)</span><br><span class="line"></span><br><span class="line"><span class="keyword">def</span> <span class="title function_">api_text</span>(<span class="params">message</span>):</span><br><span class="line"> <span class="comment"># time.sleep(5)</span></span><br><span class="line"> <span class="comment"># return "早上好!"</span></span><br><span class="line"> <span class="built_in">print</span>(message)</span><br><span class="line"> <span class="keyword">return</span> simple_text_api_character(message=message)</span><br><span class="line"></span><br><span class="line"><span class="keyword">def</span> <span class="title function_">format_respond_message</span>(<span class="params">message</span>):</span><br><span class="line"> <span class="keyword">return</span> <span class="string">f"回复:<span class="subst">{message}</span>"</span></span><br><span class="line"></span><br><span class="line"><span class="keyword">def</span> <span class="title function_">appendJson</span>(<span class="params">newContent</span>):</span><br><span class="line"> <span class="keyword">if</span> WRITE_INTO_LOG:</span><br><span class="line"> <span class="keyword">if</span> os.path.exists(path=logPath):</span><br><span class="line"> <span class="keyword">with</span> <span class="built_in">open</span>(logPath, <span class="string">"r"</span>, encoding=<span class="string">'utf-8'</span>) <span class="keyword">as</span> f:</span><br><span class="line"> loaded = json.load(f)</span><br><span class="line"> loaded.append(newContent)</span><br><span class="line"> <span class="keyword">else</span>:</span><br><span class="line"> loaded = [newContent]</span><br><span class="line"> <span class="keyword">with</span> <span class="built_in">open</span>(logPath, <span class="string">'w'</span>, encoding=<span class="string">'utf-8'</span>) <span class="keyword">as</span> f:</span><br><span class="line"> json.dump(loaded, f, ensure_ascii=<span class="literal">False</span>,indent=<span class="number">4</span>)</span><br><span class="line"></span><br><span class="line"><span class="keyword">with</span> gr.Blocks() <span class="keyword">as</span> demo:</span><br><span class="line"> chatbot = gr.Chatbot()</span><br><span class="line"> msg = gr.Textbox()</span><br><span class="line"></span><br><span class="line"></span><br><span class="line"> <span class="keyword">def</span> <span class="title function_">request</span>(<span class="params">chat_history, message</span>):</span><br><span class="line"> <span class="built_in">print</span>(chat_history)</span><br><span class="line"> chat_history = chat_history + [(message, <span class="literal">None</span>)]</span><br><span class="line"></span><br><span class="line"> curTime = <span class="built_in">str</span>(datetime.datetime.now())[:<span class="number">19</span>]</span><br><span class="line"></span><br><span class="line"> newContent = {<span class="string">"content"</span>: [[(message, <span class="literal">None</span>)]], <span class="string">"send_type"</span>: <span class="string">"request"</span>, <span class="string">"send_time"</span>: curTime}</span><br><span class="line"></span><br><span class="line"> appendJson(newContent)</span><br><span class="line"></span><br><span class="line"> <span class="keyword">return</span> chat_history, message</span><br><span class="line"></span><br><span class="line"> <span class="keyword">def</span> <span class="title function_">respond</span>(<span class="params">chat_history, message</span>):</span><br><span class="line"></span><br><span class="line"> interactOptions = [get_audio, get_image, get_text]</span><br><span class="line"> interactOptions = [get_audio]</span><br><span class="line"> interactOptions = [get_text]</span><br><span class="line"> <span class="keyword">if</span> GENERATE_SOUND:</span><br><span class="line"> interactOptions = [get_audio]</span><br><span class="line"></span><br><span class="line"> GENERATE_FROM_GIVEN_TXT = <span class="literal">False</span></span><br><span class="line"></span><br><span class="line"> <span class="keyword">if</span> message[:<span class="number">5</span>] == <span class="string">"test:"</span> :</span><br><span class="line"> GENERATE_FROM_GIVEN_TXT = <span class="literal">True</span></span><br><span class="line"> message = message[<span class="number">5</span>:]</span><br><span class="line"> <span class="comment"># print(message)</span></span><br><span class="line"></span><br><span class="line"> <span class="keyword">if</span> GENERATE_FROM_GIVEN_TXT:</span><br><span class="line"> interactOptions = [generate_from_text]</span><br><span class="line"></span><br><span class="line"> resContent = random.choice(interactOptions)(message=message)</span><br><span class="line"></span><br><span class="line"> curTime = <span class="built_in">str</span>(datetime.datetime.now())[:<span class="number">19</span>]</span><br><span class="line"> newContent = {<span class="string">"content"</span>: [], <span class="string">"send_type"</span>: <span class="string">"response"</span>, <span class="string">"send_time"</span>: curTime}</span><br><span class="line"></span><br><span class="line"> <span class="keyword">for</span> pa <span class="keyword">in</span> resContent:</span><br><span class="line"> chat_history = chat_history + [pa]</span><br><span class="line"> newContent[<span class="string">"content"</span>] += [pa]</span><br><span class="line"> </span><br><span class="line"> appendJson(newContent=newContent)</span><br><span class="line"> </span><br><span class="line"> <span class="keyword">return</span> chat_history, <span class="string">""</span></span><br><span class="line"></span><br><span class="line"> msg.submit(request, [chatbot, msg], [chatbot, msg], show_progress=<span class="string">'hidden'</span>).then(</span><br><span class="line"> respond, inputs=[chatbot, msg], outputs=[chatbot, msg], show_progress=<span class="string">'hidden'</span></span><br><span class="line"> )</span><br><span class="line"></span><br><span class="line">demo.launch(share=<span class="literal">True</span>)</span><br><span class="line"></span><br></pre></td></tr></table></figure><p>注意,实际需要的代码比我的简单,我写这么多,除了 chatbot 外,还实现了额外的功能,比如日志系统,接口封装等等。但是我懒得重新写一遍简单版了,于是就直接复制过来了。。。</p><p>下一步写算法接口,实际上就是调用 openai 接口,查看 openai 官方文档和示例即可。</p><h1 id="远程接口调用"><a href="#远程接口调用" class="headerlink" title="远程接口调用"></a>远程接口调用</h1><p>python 发送请求可以用这个库,requests。</p><p>下面是我连接 gpt3.5 接口的代码</p><figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br><span class="line">71</span><br><span class="line">72</span><br><span class="line">73</span><br><span class="line">74</span><br><span class="line">75</span><br><span class="line">76</span><br><span class="line">77</span><br><span class="line">78</span><br><span class="line">79</span><br><span class="line">80</span><br><span class="line">81</span><br><span class="line">82</span><br><span class="line">83</span><br><span class="line">84</span><br><span class="line">85</span><br><span class="line">86</span><br><span class="line">87</span><br><span class="line">88</span><br><span class="line">89</span><br><span class="line">90</span><br><span class="line">91</span><br></pre></td><td class="code"><pre><span class="line"></span><br><span class="line"><span class="keyword">import</span> requests</span><br><span class="line"><span class="keyword">import</span> os</span><br><span class="line"><span class="keyword">import</span> sys</span><br><span class="line">sys.stdout.reconfigure(encoding=<span class="string">'utf-8'</span>)</span><br><span class="line"></span><br><span class="line"><span class="comment"># 使用时记得开vpn,我的代理端口设置如下</span></span><br><span class="line">http_proxy = <span class="string">"http://127.0.0.1:33210"</span></span><br><span class="line">https_proxy = <span class="string">"http://127.0.0.1:33210"</span></span><br><span class="line"></span><br><span class="line">proxies = { </span><br><span class="line"> <span class="string">"http"</span> : http_proxy, </span><br><span class="line"> <span class="string">"https"</span> : https_proxy, </span><br><span class="line"> <span class="string">"all_proxy"</span>: <span class="string">"socks5://127.0.0.1:33211"</span>,</span><br><span class="line"> }</span><br><span class="line"></span><br><span class="line"><span class="comment"># 连通性测试</span></span><br><span class="line"><span class="comment"># response = requests.get('https://api.github.com',</span></span><br><span class="line"><span class="comment"># proxies=proxies, </span></span><br><span class="line"><span class="comment"># verify=True,</span></span><br><span class="line"><span class="comment"># )</span></span><br><span class="line"></span><br><span class="line"></span><br><span class="line"><span class="comment"># 记得在系统环境变量里设置api key,具体查看openai的文档</span></span><br><span class="line">headers = {</span><br><span class="line"> <span class="string">'Content-Type'</span>: <span class="string">'application/json'</span>,</span><br><span class="line"> <span class="string">'Authorization'</span>: <span class="string">'Bearer '</span> + os.getenv(<span class="string">'OPENAI_API_KEY'</span>, <span class="string">''</span>),</span><br><span class="line">}</span><br><span class="line"></span><br><span class="line"><span class="comment"># 实验prompt</span></span><br><span class="line"><span class="comment"># json_data = {</span></span><br><span class="line"><span class="comment"># 'model': 'gpt-3.5-turbo',</span></span><br><span class="line"><span class="comment"># 'messages': [</span></span><br><span class="line"><span class="comment"># {</span></span><br><span class="line"><span class="comment"># 'role': 'system',</span></span><br><span class="line"><span class="comment"># 'content': "你需要扮演为一个可爱的猫娘,可以用可爱的语气和人对话"</span></span><br><span class="line"><span class="comment"># },</span></span><br><span class="line"><span class="comment"># {</span></span><br><span class="line"><span class="comment"># 'role': 'user',</span></span><br><span class="line"><span class="comment"># 'content': '你好!',</span></span><br><span class="line"><span class="comment"># },</span></span><br><span class="line"><span class="comment"># ],</span></span><br><span class="line"><span class="comment"># 'temperature': 0.7,</span></span><br><span class="line"><span class="comment"># }</span></span><br><span class="line"></span><br><span class="line"><span class="keyword">def</span> <span class="title function_">character_temp_character</span>(<span class="params">message, character</span>):</span><br><span class="line"> json_template = {</span><br><span class="line"> <span class="string">'model'</span>: <span class="string">'gpt-3.5-turbo'</span>,</span><br><span class="line"> <span class="string">'messages'</span>: [</span><br><span class="line"> {</span><br><span class="line"> <span class="string">'role'</span>: <span class="string">'system'</span>,</span><br><span class="line"> <span class="string">'content'</span>: <span class="string">f"你需要扮演为一位<span class="subst">{character[<span class="string">'role'</span>]}</span>,会用<span class="subst">{character[<span class="string">'nature'</span>]}</span>的语气和我对话"</span></span><br><span class="line"> },</span><br><span class="line"> {</span><br><span class="line"> <span class="string">'role'</span>: <span class="string">'system'</span>,</span><br><span class="line"> <span class="string">'content'</span>: <span class="string">f"你的名字是助手A,简称为A,你是我的得力助手,帮我解决了很多问题"</span></span><br><span class="line"> },</span><br><span class="line"> {</span><br><span class="line"> <span class="string">'role'</span>: <span class="string">'system'</span>,</span><br><span class="line"> <span class="string">'content'</span>: <span class="string">f"你和我聊天时,可以用'XXX'称呼我"</span></span><br><span class="line"> },</span><br><span class="line"> {</span><br><span class="line"> <span class="string">'role'</span>: <span class="string">'user'</span>,</span><br><span class="line"> <span class="string">'content'</span>: <span class="string">f"<span class="subst">{message}</span>"</span>,</span><br><span class="line"> },</span><br><span class="line"> ],</span><br><span class="line"> <span class="string">'temperature'</span>: <span class="number">0.7</span>,</span><br><span class="line"> }</span><br><span class="line"> <span class="keyword">return</span> json_template</span><br><span class="line"></span><br><span class="line"><span class="keyword">def</span> <span class="title function_">simple_text_api_character</span>(<span class="params">message, </span></span><br><span class="line"><span class="params"> character = {</span></span><br><span class="line"><span class="params"> <span class="string">"nature"</span>: <span class="string">"温和"</span>,</span></span><br><span class="line"><span class="params"> <span class="string">"role"</span>: <span class="string">"商业助手"</span>,</span></span><br><span class="line"><span class="params"> }</span></span><br><span class="line"><span class="params"> </span>):</span><br><span class="line"> </span><br><span class="line"> json_data = character_temp_character(message=message,character=character)</span><br><span class="line"> res = requests.post(<span class="string">'https://api.openai.com/v1/chat/completions'</span>, </span><br><span class="line"> headers=headers, </span><br><span class="line"> json=json_data,</span><br><span class="line"> proxies=proxies,</span><br><span class="line"> verify=<span class="literal">False</span></span><br><span class="line"> )</span><br><span class="line"></span><br><span class="line"> <span class="comment"># print(res)</span></span><br><span class="line"> <span class="comment"># print(res.json())</span></span><br><span class="line"> <span class="comment"># print(res.json()["choices"][0]["message"]["content"])</span></span><br><span class="line"> <span class="keyword">return</span> res.json()[<span class="string">"choices"</span>][<span class="number">0</span>][<span class="string">"message"</span>][<span class="string">"content"</span>]</span><br><span class="line"></span><br><span class="line"></span><br></pre></td></tr></table></figure><p>其中有几个注意点。</p><ol><li>如果是国内使用,会被 gfw 卡住。所以需要配置代理,具体的端口看你的 vpn 设置,比如 33210 是我的端口配置,你自己 vpn 什么端口你就要改成对应的</li><li>如果调用失败,可以试试用 request 做简单的 get,访问一些网站,看看是 openai 接口掉错了,还是网络问题导致的调用失败。</li><li>如果调用失败,还可以试试直接 bash(windows 用的 git bash)里 curl 一下 openai 的接口,如果没问题那就是代理没配好。</li><li>prompt 中是我们希望 chatbot 办理的角色</li></ol><p>#_, 启动!</p><p>在命令行中输入</p><figure class="highlight h"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">python launch.py</span><br></pre></td></tr></table></figure><p>(如果报错了可能是路径问题,cd 一下;或者不是 python 而是 python3 之类的)</p><p>然后出现了这样一个界面,就可以正常交流了。</p><p><img src="/img/U79VbOPSloo0gExs6kfcNx1unAd.png"></p><p>我改了下 prompt,并添加了语音合成功能。都不是很复杂!如果你对语音合成感兴趣,可以查一下 vits,然后自己训练模型就可以实时合成了。</p><p>视频演示在这里:<a href="https://www.bilibili.com/video/BV1QG411e7nQ/?spm_id_from=333.999.0.0">Demo</a></p>]]></content>
<tags>
<tag> chatbot </tag>
</tags>
</entry>
<entry>
<title>Serum合成器基础1-振荡器</title>
<link href="/2024/01/15/Serum%E5%90%88%E6%88%90%E5%99%A8%E5%9F%BA%E7%A1%801-%E6%8C%AF%E8%8D%A1%E5%99%A8/"/>
<url>/2024/01/15/Serum%E5%90%88%E6%88%90%E5%99%A8%E5%9F%BA%E7%A1%801-%E6%8C%AF%E8%8D%A1%E5%99%A8/</url>
<content type="html"><![CDATA[<h1 id="Serum合成器教程系列"><a href="#Serum合成器教程系列" class="headerlink" title="Serum合成器教程系列"></a>Serum合成器教程系列</h1><p>教程系列的介绍可以参考第一篇。</p><p>这篇文章中,我们介绍Serum中的振荡器,大部分的声音(除去sub和noise)都是靠着振荡器产生的。</p><h3 id="振荡器"><a href="#振荡器" class="headerlink" title="振荡器"></a>振荡器</h3><ol><li>鼠标停在 serum 某个按钮/界面不动,等一会就会有提示这是什么</li><li>振荡器就是产生声音的,不同于传统合成器,更加“虚拟”。</li><li>lfo 名字里虽然带个振荡器,那是因为它过去真的是振荡器,但 serum 中的 lfo 并不是,而是一个让声音发生变化的东西,用数学思维看则是函数或者算子</li></ol><h3 id="波形表"><a href="#波形表" class="headerlink" title="波形表"></a>波形表</h3><ol><li>serum 中波形表 ui 介绍,可以按 <> 来方便选择波形</li><li>wt_pos 控制波形改变(2d 坐标)</li></ol><h3 id="音调控制"><a href="#音调控制" class="headerlink" title="音调控制"></a>音调控制</h3><ol><li>在一个 wavetable 中,一共有四个 node 可以调整 pitch:</li></ol><p>OCT SEM FIN CRS</p><p>分别对应着</p><p>音阶 半音 1% 半音 连续(单位:半音 - 1)</p><p>连续的配合 lfo 使用会挺不错</p><p>离散的也有 lfo 用法,比如那种机械科技电子感</p><h3 id="Unison-and-Detune"><a href="#Unison-and-Detune" class="headerlink" title="Unison and Detune"></a>Unison and Detune</h3><ol><li>unison 可用于丰富音色,而 detune 便是将几个同样的音稍微 detune 一下(从而扩充音域,就像交响乐里各种乐器调理论一样但因为乐器不同所以这一点不同反而可以扩充音色?)</li></ol><h3 id="Blend-Phase-and-Random"><a href="#Blend-Phase-and-Random" class="headerlink" title="Blend, Phase and Random"></a>Blend, Phase and Random</h3><ol><li>blend 便是 unison 不同音的混合模式,广和尖的感觉</li><li>phase 是音启动时间,random 是 phase 的随机值。单个音的 phase 变化基本听不出来,但比如说 unison 为 2,将 detune 设为 0,rand 拉到 100,那每次即使按同一个键,也会有不同的声音(当然差别也不是特别大)。这是因为音波的干涉</li><li>random 初始为 100 的可能原因:supersaw 就需要这样。比如说把 unison 拉到 16,那 random 如果为 0 听起来就会是很不自然的声音(当然也有其的用处),而把 random 拉大后 saw 声音更加自然</li></ol><h3 id="Wavetable-position"><a href="#Wavetable-position" class="headerlink" title="Wavetable position"></a>Wavetable position</h3><ol><li>通过改变 position,将不同的波形连续地变化,就像电影其实是由不同的帧组成,而本来是独立的元素拼在一起后能让人感觉是连续的(或许这也是 growl 可以作为 drop 中不同部分的转折与衔接的原因?就像来了个快速宏伟的大场面)</li></ol><h3 id="Warp-Pan-and-Level"><a href="#Warp-Pan-and-Level" class="headerlink" title="Warp, Pan and Level"></a>Warp, Pan and Level</h3><ol><li>warp 是对 wavetable 做变换,课程之后会详细介绍每一种(比如说波形复制,镜像,像素化等等)</li><li>pan 是改变左右音道</li><li>level 是音量</li></ol>]]></content>
</entry>
<entry>
<title>Serum合成器基础0-介绍</title>
<link href="/2024/01/08/Serum%E5%90%88%E6%88%90%E5%99%A8%E5%9F%BA%E7%A1%800-%E4%BB%8B%E7%BB%8D/"/>
<url>/2024/01/08/Serum%E5%90%88%E6%88%90%E5%99%A8%E5%9F%BA%E7%A1%800-%E4%BB%8B%E7%BB%8D/</url>
<content type="html"><![CDATA[<h1 id="Serum合成器教程系列"><a href="#Serum合成器教程系列" class="headerlink" title="Serum合成器教程系列"></a>Serum合成器教程系列</h1><p>本套教程主要参考Au5的Serum mastercourse,分享内容为Serum(血清)合成器的基础知识(各种按钮的含义),并不会过多涉及具体的声音塑造。</p><p>所以你可能会觉得这些内容看起来非常无聊——我完全可以理解,因为我自己看课的时候也这么觉得。但是有时候你确实需要花一些时间巩固基础,不然没有基础也看不懂各种神奇的音色的合成原理,而只会跟着教程捏Knob对长远发展意义不大…</p><h3 id="介绍"><a href="#介绍" class="headerlink" title="介绍"></a>介绍</h3><ol><li>serum 很有用,UI 也很好。</li><li>serum 以波形合成为主,同时包含了其他各种合成(减法,fm 等)</li><li>学习 serum 并不是一个简单的过程,哪怕课程的第一部分是在讲一些概念而非如何合成音色,大部分初学者也无法只看一遍视频便领悟原理。所以,不要为自己一遍看不懂而羞愧,这非常正常。(上面的是课程里的原话,实际上我自己深有体悟。第一遍看不懂非常正常)</li></ol><h3 id="SerumFx"><a href="#SerumFx" class="headerlink" title="SerumFx"></a>SerumFx</h3><ol><li>serum 和 serumFx 不是一个东西,后者是特效,可以拖到 audio 轨道上而 serum 不行。两者都可以拖到 midi track 上。也就是说,你可以试着拉十几个serumFx,把hyper拉满看看最后出来的会不会是什么深邃到极点的声音…</li></ol><h3 id="Wavetable-Synth"><a href="#Wavetable-Synth" class="headerlink" title="Wavetable Synth"></a>Wavetable Synth</h3><ol><li>wavetable 便是 sample 源,serum 支持自定义 wavetable,甚至可以拖一张图片进去(反正都是向量),这比类似的 massive 合成器要好</li><li>当然 serum 也支持减法合成,fm 合成等等</li></ol><h3 id="Presets"><a href="#Presets" class="headerlink" title="Presets"></a>Presets</h3><ol><li>类似存档点</li><li>自己做,改,保存成新的,这个过程据 au5 说对他帮助很大</li><li>不过实际上用自己的还是用别人的只是选择,只要自己用的开心就行,毕竟弹琴不需要当木匠造琴。不用别人的不是因为羞耻心,而是因为自己享受做音色的过程;时间等的投入也需要自己平衡。放弃无谓的自豪感。</li><li>可以参考他人 preset 作为灵感</li></ol><h2 id="核心总结"><a href="#核心总结" class="headerlink" title="核心总结"></a>核心总结</h2><ol><li>用Serum不过时,它依然是最好的电子音乐音色设计软件合成器之一。 (当然如果你囊中羞涩可以用免费的vital合成器,或者试试从一些qq群组找盗版serum…)</li><li>Serum学习并不简单,需要steady and slow的态度</li></ol>]]></content>
<tags>
<tag> 电子音乐制作 </tag>
</tags>
</entry>
<entry>
<title>丽德轩博客介绍</title>
<link href="/2023/11/04/%E4%B8%BD%E5%BE%B7%E8%BD%A9%E5%8D%9A%E5%AE%A2%E4%BB%8B%E7%BB%8D/"/>
<url>/2023/11/04/%E4%B8%BD%E5%BE%B7%E8%BD%A9%E5%8D%9A%E5%AE%A2%E4%BB%8B%E7%BB%8D/</url>
<content type="html"><![CDATA[<h1 id="丽德轩"><a href="#丽德轩" class="headerlink" title="丽德轩"></a>丽德轩</h1><h1 id="博客介绍"><a href="#博客介绍" class="headerlink" title="博客介绍"></a>博客介绍</h1><p>欢迎来到丽德轩,这是我分享各种有趣的知识或者日常的个人博客!</p><h2 id="在这个博客中,你可以学到:"><a href="#在这个博客中,你可以学到:" class="headerlink" title="在这个博客中,你可以学到:"></a>在这个博客中,你可以学到:</h2><p>制作能向全球提供服务,支持高并发的自定义商业/个人网站;</p><p>和喜欢的虚拟角色实时语音聊天并让 TA 唱歌给你听;</p><p>按照心中所想的构图自由高效创作精美绘画;</p><p>使用 3D 建模软件给动画角色模型换头/衣装;</p><p>使用各种 Shader 实现动画/现实风格的 3D 动画;</p><p>让你拥有近乎绝对音感,扒谱无敌的音感训练技巧;</p><p>用减法合成器生成各种动物的声音,以及高效驱蚊的 bass 声;</p><p>以正常玩家的身份在 MC PVP 中击杀队伍联合的无敌飞行挂;</p><p>用一天时间在 MC 中建造一座建筑迥异的属于你的大城市;</p><p>……</p><h2 id="你也可以看到许多有趣的分享:"><a href="#你也可以看到许多有趣的分享:" class="headerlink" title="你也可以看到许多有趣的分享:"></a>你也可以看到许多有趣的分享:</h2><p>我的痛并快乐着的转码之路和心理历程;</p><p>我的十几个国家的旅游经历;</p><p>我为什么会爱上 Melodic Dubstep;</p><p>我的 3000+ 游戏时长的具体分布;</p><p>竞赛和高考相关的升学之路的感悟;</p><p>……</p><p>当然,你阅读的时候,可能我的博客还没有太多的文章。这是因为我平时也比较忙,特别是最近几年正处于先苦一苦的阶段。不过,我会坚持发完的。</p><h1 id="作者介绍"><a href="#作者介绍" class="headerlink" title="作者介绍"></a>作者介绍</h1><p>我是清华大学的一名在读本科生,即将去美国读硕士。</p><p>我对许多领域都充满了兴趣且有所尝试,包括但不限于软件开发,AI 应用,动画,音乐,游戏,阅读等。</p><p>我的联系方式:</p><p><a href="mailto:diras9510@gmail.com">diras9510@gmail.com</a></p>]]></content>
<tags>
<tag> 博客介绍 推荐阅读 </tag>
</tags>
</entry>
</search>