codedump的电报频道
4.42K subscribers
149 photos
4 videos
2 files
616 links
发布个人博客(主页 codedump.info)、想法、推荐等。RSS订阅地址:https://rsshub.app/telegram/channel/codedump_notes,过往汇总搜索可以到:https://app.shokichan.com/c/tg/codedump_notes。
Download Telegram
#独立开发
PPResume(https://ppresume.com) 是一个基于 LaTeX 的简历生成器,目标是帮助人们在几分钟内创建一份精美的简历,并提供极高质量的排版和 PDF 输出。

除了在排版上有非常细致的考量外,PPResume 在产品设计和用户体验上也有一些独到的思考,特别是提供了强大直观的 Dashboard,支持实时的输入验证、丰富的输入控件、结构化编辑、定制化布局,来辅助整个简历的撰写过程,让你专注用简历内容,避免一些低级错误。

PPResume 应该也是市面上唯一一款支持多语言混合排版并遵循最佳排版实践的简历生成器,目前支持英文和中文(包括简体中文、繁体中文香港和繁体中文台湾),blog:https://blog.ppresume.com/posts/multi-languagues-support。

Demo:https://www.bilibili.com/video/BV1Mu4y1W7M4/?spm_id_from=333.999.0.0
Blog: https://blog.ppresume.com/posts/introducing-ppresume
排版指南:https://docs.ppresume.com/guide
13👍1
#读书
(转自微博,作者游识猷)

《深度工作》的作者卡尔·纽波特出了一本新书,叫Slow productivity,我觉得可以翻译成《生产力,慢即是快》。

纽波特说,对脑力劳动者来说,很多人陷入了伪生产力(Pseudo-Productivity)的困境。

什么是伪生产力呢?

由于缺乏明确的“最重要目标/与最重要目标相关的质量标准”,因此缺乏“实际的生产力投入”,而为了掩盖这种缺乏,将“可见活动”作为主要手段,来模拟“实际的生产力投入”。

陷入“伪生产力”陷阱的人可能会有如下特征——

1 、持续的、无休止的忙碌状态。

频繁地参加会议、回复邮件、处理琐事,很容易被“看到在工作”(可见活动),但实际上并没有完成多少真正重要的任务。

拼命地尝试做越来越多的事情,绝望地期待以这种方式取得进展。

2、过度承诺。

由于害怕被视为懒惰或不专业,会接受过多的任务,结果却发现自己无法按时完成,从而陷入无休止的加班和赶工状态。

对别人随意丢过来的任务照单全收,难以说不,除非自己日程表确实已经满到溢出才能说不,因此经常保持满满的日程表。

3、身心疲惫。

一直在工作,缺乏足够的休息和恢复时间,精力逐渐耗尽,工作效率也会大幅下降。而且没有心力去做重要、困难的高质量工作。

4、不一定是因为老板的要求,有时候是因为自己的焦虑而强加给自己。

伪生产力的一个更阴险的副作用是,它迫使个人独自管理工作和生活之间的紧张关系。

伪生产力强加给你的评判标准是,你从永无止境的可用任务中明显地完成了多少总工作量,但没有人会具体告诉你多少工作量是足够的——这取决于你自己。

┈✧┈✧┈✧┈

伪生产力陷阱的三条原则性解法:

✔️做更少的事(Do Fewer Things)

✔️按照自然节奏工作(Work at a Natural Pace)

✔️痴迷于高质量(Obsess Over Quality)

最终目标:以可持续和有意义的方式,去组织知识工作,并取得关键事项的高质量进展。

┈✧┈✧┈✧┈

一,✔️做更少的事(Do Fewer Things):工厂流水线上,加班会带来生产力上升。

但对于知识劳动者来说,加班可能反而会造成真正的生产力下降。只有伪生产力上升。

要做更少的事情,你需要从三个层次上限制要做的事情——限制主要任务(mission)。

限制手头正在进行的项目(project)。

限制今天要做的事情。

对知识劳动者来说,别人会随意地向你“推送”(push)任务,很多情况下,你需要采用一些新的策略。

┈✧┈✧┈✧┈

任务流程应该是主动“拉取”(pull),而非拼命接收被动的“推送”(push)。

这个经验来自MIT和哈佛联合建立的博德研究所(Broad Institute)。

此前,Broad Institute要把各地科学家送来的基因样本进行测序。

测序有一大堆步骤和阶段,有点类似工厂流水线。

一开始,Broad Institute的技术人员们按照直觉的push方式来工作,就是每个人都尽快地处理手头的工作,然后把完成后的工作立刻“推”给负责下一步的人。

然而,每个阶段的难度和耗费时间其实是不一样的,过了一段时间,最慢的阶段就积压了一大堆待处理的样本。

待处理的样本越多,管理难度就越高,人们开始很难找到某个样本。而且整个流程越来越拥堵混乱。

从样本送到到测序完成,时间长达120天。很多科学家都等不及了。

Broad Institute采取了一个制造业里常用办法,改“推”(push)为“拉”(pull)。

每个阶段的技术人员有一个专属的托盘,来放置已完成的样本,下一个阶段的工作人员会在需要时从这些托盘中主动拉取样本进行处理。

这样的好处是,很容易可以识别出出问题的环节。如果某个托盘永远是满的,说明要么下一阶段运行得太慢,要么上一阶段运行得太快。如果某个托盘永远是空的,说明上一个阶段肯定运行得太慢了。

有时候,某个托盘满了,这个阶段的人员还可以去灵活辅助其他阶段的人。

最后结果是,Broad Institute处理每个样本的平均时间下降了 85% 以上。

┈✧┈✧┈✧┈

对个人来说,主动“拉取”(pull),而非拼命接收被动的“推送”(push)。

在别人向你推送一个新项目时,要估计它需要多少时间,然后把那个时间乘以2(我们不太擅长估算真正完成任务的时间),去找出那段2倍的时间 ,在你的日历上像开会一样给它留出时间。

如果你无法在日程安排中找到足够的空白来轻松适应工作,那么你就没有足够的时间来完成它。

要么拒绝该项目,要么取消其他项目以腾出空间。

这种方法的力量在于,你正在处理你的现实日程,而不是基于你对自己现在有多忙的直觉估算来随意承诺。

比如说,可以说出“我在至少三周内没有足够的时间来做这样的事情,与此同时,还有别的五个项目在我的时间表上。”

另外,当真的要将新任务“拉”到你的日程表里时,一定要做一件事——和这个任务的来源“对齐”一下,让对方了解:①我正式承诺将完成这个任务,②请对方提供我所需的任务相关详细信息,③我自己目前还有多少项目在进行,预估何时能够完成这项新任务。

如果在这个过程中,对方发现需要修改或者撤回任务,是好事。

每周应该对一次自己的日程表,如果发现某个任务难以推进或者无法在承诺的时间内完成,及时和对方联系并更新现状。

┈✧┈✧┈✧┈

二,✔️按照自然节奏工作(Work at a Natural Pace)

不要急于完成最重要的工作。相反,要在有利于灵光闪耀的环境中,让它沿着可持续的时间线展开,允许有不同的工作节奏和工作强度。

最重要的工作往往不是一气呵成拼命赶工完成的,而是做一做,歇一歇。怀抱着长期的愿景,一次又一次地,你回到这份工作上,以缓慢而稳定的步伐,接着完成它。

从过去的伟大科学家的案例来看,这些人显然是“富有成效的”。然而,与此同时,按照现代标准,他们为重大发现而努力的速度似乎是快快慢慢起起伏伏,在某些情况下他们几乎是悠闲的。

比如说,在1896年的夏天,刚刚发现沥青里可能有放射性新元素的居里夫人,并没有一刻不停地投入这个将给她带来诺贝尔奖的发现,而是选择去法国乡下度过一个漫长假期,爬山,看石窟,在河流里沐浴。

伟大科学家感兴趣的是“这一生里能够产出的产品”。

这里的时间尺度应该是数以年计的,而不是数以月计的。

无休止的高强度工作是人为的,是不可持续的。

它可能会散发出一种虚假的有用感,但当随着时间的推移,它会使我们变得“异化”,感觉痛苦,并且几乎肯定会阻碍我们发挥我们的全部潜力。

从长远来看,更自然、更慢、更多样化的工作节奏,是真正生产力的基础。

在生产力低迷的时期,人们很容易想让自己变得筋疲力尽,做一大堆肤浅的“可见工作”。

你要拒绝这种“顺流而下”。这不仅是不可持续的,而且从长远来看,它不会让你更接近完成重要的工作。

伟大的成就建立在,随着时间的推移,稳步积累适度的结果。这条路很长。调整自己的节奏。

┈✧┈✧┈✧┈

三,✔️痴迷于高质量(Obsess Over Quality):

执着于你所产出产品的质量,这意味着在短期内错失机会。从长远来看,你可以利用这些结果的高价值,让你在工作中获得越来越多的自由。

在知识工作中,经过仔细观察,你经常可以在繁忙的待办事项清单中发现一两个真正最重要的核心活动。

归根结底,某些成果是最重要的评判标准。科学家必须有过硬的论文,设计师必须拿出一流的设计,营销人员必须卖出去东西,管理者必须领导着一个运作良好的团队。

要专注于职业生涯中核心活动的质量。

而一旦你下定决心要把核心事项做好,过度的忙碌就显然是一种无法忍受的阻碍。

要不断提升自己对核心活动完成质量的“品位”(taste),让你可以直觉性地理解什么是好的,什么是差劲的,什么是有效的,什么是行不通的。

给自己足够的时间(但不是无限的时间),来创造一些伟大的东西,但不是无限的时间。

不断向着高质量的进步(而非完美),是最重要的。

就像一流的非虚构写作者约翰·麦克菲(John McPhee)所说,

「如果有人对我说,“你是个多产的作家”——这听起来很奇怪。这就像地质时间和人类时间之间的差异。

从某种程度上说,我确实做了很多事情。但我的一天经常是整天坐在那里,想着我什么时候能开始。

每天往桶里滴一滴水,这是关键所在。

因为如果你每天都往桶里滴水,那么在365天之后,桶里就会有一些水了。」
👍17
#播客
Ep 48. 专访高天:为了当好B站up主,我成为了Python 核心开发者

做为对照,也有采访其他项目的贡献者的播客:

* Apache Arrow/Datafusion贡献者:《009. 卡比卡比的开源贡献之旅
* Rust贡献者:《007 于康的Rust贡献之旅

高天的采访里提到工作和爱好的平衡问题,我也聊几句我的看法。

我以前也觉得能够工作和爱好能够结合是一件很好的事情,但是现在观点有点改变。工作里要遇到很多烦心的事情,具体就展开不说了,而爱好则相对纯粹很多:想做什么、想什么时候做,完全可以由自己控制,这是爱好于个人最重要的属性。我曾经提到一个人至少得有一个事情有“精神角落”的属性,可以躲在这个角落里做这件事情暂时忘掉外界的烦恼。如果有一天爱好变成了工作,就没有这么纯粹了。我打一个可能不太恰当的比喻:爱好好比红颜知己,跟红颜知己在一起的时候,没有那么多世俗的、物质的考虑;而假如红颜知己变成了另一半,就得一起面对柴米油盐、车贷、房贷这些事情,可能还不如就一直保持红颜知己的状态呢。

所以现在,如果问我是不是要把工作和爱好结合,我给的答案是既可以也不可以。可以的原因,权重里并不会把“因为这个事情是我的爱好”放在第一位,而是考虑更多世俗的因素:钱多活少离家近、职业生涯发展之类的。换言之,现在能愿意把工作和爱好结合,首先是这个工作能满足我世俗的需求,其次才是这个事情恰好是爱好。
8👍4
#播客
虽然从来没打过网球,也没看过完整的网球比赛,但是我觉得网球这项运动区别于其它运动最特别的一点是:一旦运动员上场比赛,中间就不能再获得教练的帮助,要自己独自面对场上发生的一切情况。所以李娜的自传书名是《独自上场》。

实际上,不止于网球,很多事情上我们都是“孤独”的,需要随时做好“独自上场”的准备。“独自上场”,才是生活的常态。

前几年听过张潇雨的播客《网球(上)——孤独和它所创造的》,专门介绍网球这项运动,这次奥运会想起来这期节目,只可惜好像这期节目没有下半段了。

这期播客里提到的《The Inner Game of Tennis》(中文《身心合一的奇迹力量》),多抓鱼上一直买不到。
👍31
微博上看到的“三明治表达法”,总结下来就是:1.认同对方的观点 2.补充对方提问看不到的另一面的事实 3. 总结自己的观点。

说到表达能力,最经典的就是三明治表达法。

郑钦文的中英文采访我几乎一个都不拉看过,每一个都能拿出来作为演讲和表达的范文,我也来拆解一下,供大家一起偷师学习。

有位国际记者问郑钦文:“你是中国队里面最国际化的,而正是这种国际化的团队才让你达到了顶级球员的水平,你认同这种说法吗?”

这个提问,明眼人都知道,是带有一点“别有用心”的。

但这样的公开场合当面怼,肯定格局不够;而如果着急自证清白,那就掉进对方的圈套。郑钦文怎么做的呢?

她用了一个三段式回复:

1.认同对方的观点
“是的,我的团队的确很国际化 。”

2.补充对方提问看不到的另一面的事实
“我的成功离不开家人的支持和鼓励,我是一名中国人,我从小开始打网球,我妈妈为了陪伴我训练,辞职工作做了全职妈妈。我爸爸也在我的网球职业生涯里投入了很多精力……”

3. 总结自己的观点
“我拥有一个国际化的团队,因为我一直希望能够变得更强,但是无论我走到哪里,我永远都不会忘记我是一名中国运动员。”

怎么样,是不是特别棒,听完恨不得立马起立,竖起大拇指。

这个三段式,就是最经典的“三明治表达法”,咱们来活学活用一下。

🧱工作场景
老板:“你这个项目这么执行不对的啊,应该XXX。”
你虽然心里认为“老板说得不对”,但咱们可以这么说更有利于沟通:

1、先认同
“您考虑的这个点有道理的。”

2、补充你考虑到的因素
“我执行的时候想到的是……”

3、总结你的观点
“所以我觉得,接下来这个项目可以……”

👪亲子场景
妈妈:“你这孩子怎么手那么欠呢?”
虽然孩子不服气,觉得被误解了,但可以引导孩子这么说:

1、先认同
“你批评得对。"

2、补充另一面的事实
“我刚刚把杯子打翻,是因为我想到自己网课马上开始,有点着急就没拿稳。”

3、总结自己观点
“待会我会自己把杯子收拾干净,以后会更小心的。”

当然,这些说话方式是基于真的有合理事实/诉求表达的前提,而不是学了套路去逃避自己的责任哈。

再来看郑钦文的其他采访,几乎每个采访都很能说出关键点。她有着极高的讲故事能力,这也是个很宝贵的说话能力。

那这个怎么学呢?也是有技巧的。咱们再来看一段:

她获得女单金牌后,被记者问道:你对刚刚的比赛怎么看?

大部分人回答估计就是,我很开心,我打得挺好,对吧?这就很干瘪瘪,完全没有精彩性可言了。

郑钦文是怎么说的呢?

1、情绪表达
“我很开心,但开心已经不能来形容我此刻心情了。”

2、在这场比赛前发生了什么,我怎么想的
“我一直想赢Iga,因为在此之前我都输给了她。这次比赛开始前,我就告诉自己,我要更耐心一点,不要因为在比赛中出现的情况而冲动。”

3、在这场比赛时我做了什么
“这场比赛,我觉得我做到了,我真的足够耐心......”

4、最后的结果
“这是一场好的比赛,我也发挥了自己最好的表现。”

这段发言又是很典型的“ABC讲话法”:
Antecedent - 在此之前发生的因素
Behaviour -- 我的认知/想法/行为
Consequence -- 产生的结果

再活学活用一下,老板让你做个年度总结汇报,套这个模版是不是立马可以有血有肉了。

1、情绪表达→过去一年我还是很为自己的成长骄傲的;

2、在这之前发生的事情,我的想法→我刚到这个部门的时候,心里有点发怵,觉得自己是新人,项目也不熟悉,很多东西无从下手;

3、过程中你的认知和行为→但我觉得,不懂可以学,不懂要问。所以在工作中,我主动挑起XX项目的大梁,上班的时候向XXX请教,下班还利用业余时间学XXX

4、产生的结果→现在回头看,不仅这个项目很好交付,自己在XX能力方面也有了长足进步。

以上分享的都是说话的“套路”,但我还是想提醒大家,语言是自己思维模式和三观的展现,套路只是表皮,关键还是背后的思维。

我们可以依赖工具,先学会讲话结构,但最最关键的还是不断地提升自己思考和有深度的输入。

退一万步讲,真诚永远是最大的必杀技。

学会说话,首先是学会说自己内心想说的话,而上面分享的这些工具,只是锦上添花,让我们真正想说的话,用更好的方式表达出来而已。
👍22🥰1
#分布式
#一致性算法

将 paxos 和 raft 统一到一个协议下: abstract-paxos

所以还是那句话:“There is only one consensus protocol, and that's “Paxos” — all other approaches are just broken versions of Paxos(世界上只有一种共识协议,就是 Paxos,其他所有共识算法都是 Paxos 的退化版本。)”
1
#算法
校验信用卡号码用到的Luhn 算法,我试了一下中国的信用卡用的也是算法。
图片里的第二步“add the digits of the product(e.g. 1+6=7)”,也可以这么做:如果第一步得到的数大于9,说明是一个二位数,这时候需要减去9重新变成一位数。
👍3
#开源项目
前两天在朋友圈看到别人发代码截图觉得微软出的这款Cascadia Code字体真好看,马上下载下来做为编辑器字体了。
👍13
#杂
才知道光影魔术手还在更新(其实从更新日志看,2013年之后有很长时间没更新,直到2023年恢复更新),当年被迅雷收购的时候,在光影的团队工作过一阵,十几年前在知乎上回到的一篇关于迅雷的答案还专门提到光影:《已拥有 4 亿用户的迅雷能发展成为腾讯那样的公司吗,怎样才能?

说起来,当年面试迅雷的时候,HR说等上市了大家每人都去买个岛,实际等到上市以后,就我自己待了两年多换的期权套现了不到几万块,这有点幽默了。

算起来我入行比较早,但是运气不太好,就目前待过的公司里,只有两家公司能够成功套现期权的,其中一家还是只套现了几万块的迅雷。

(知乎链接需要账号才能看内容,所以把上面链接中知乎问题的回答贴在下面,这个回答是针对这篇文章《寂寞迅雷:拥有4亿用户为何未成下个腾讯》)

做为迅雷前员工,对迅雷的感情很复杂,我决定还是不匿名回答一下这个问题。

首先,就本问题链接中的文章来说,我也看了,觉得还是不错的。本质上来说,迅雷这样的软件,用户为什么用它?简而言之,速度快,资源多。要做到速度快,不可避免的要占用网速,资源等,对整个电脑的使用以及在同一局域网的人造成影响。所以迅雷这样的软件,从一开始它的产品性质就决定了和所谓的良好的用户体验相悖。在网速越来越快的今天,现在用迅雷,或者买会员的帐号,更多的图的是资源多。

以上,或许可以解释为什么迅雷曾经尝试在迅雷上做IM,Facebook这样的应用以失败而告终。确实如文章所言,这样的照搬是很生硬的。

这是迅雷产品的问题。来说一下我在迅雷时看到的其他问题。

在迅雷两年多,参与的不少项目,大都是历时几个月,然后以失败告终,然后开发人员转入到别的组,再然后继续前面的流程。特别的,我印象中,大多数CEO邹胜龙亲自指明要做的项目,基本都以失败告终。这样的体验,与大家公认的国内顶尖产品经理的其他公司BOSS如周鸿祎,马化腾等形成鲜明对比。一次两次还好说,多了不仅很大地打击士气,更造成了员工对领导层的不信任。

08年左右,迅雷买入火爆一时的光影魔术手,我当时参与了这个项目的后台部分的开发。同样的,几个月之后,项目暂停,组内的人转去做其他项目。也许是因为我的级别还不够了解到其中的原因吧。

在我离开迅雷的这几年,鲜有光影魔术手的更新新闻,而同样类型的美图秀秀现在已经是千万级别用户量的产品了。做为曾经参与过光影魔术手项目的人,每次在各种场合看到美图秀秀,第一时间想到的还是光影魔术手。迅雷并非没有可以耕耘成文中所言的“小区”类型可以粘住用户的产品,也不是没有这个时间,甚至就时势而言,当时也没有巨头进入这个领域,可是机会和时间就这样莫名的丢失了。

可喜的是,迅雷这几年,做的离线会员,应该是慢慢找到了适合迅雷产品的收费产品模式,而不是像当年那样生搬硬套抄腾讯的模式。我个人的建议是,现在不要再想着腾讯了,不但自己不要想,也不要跟投资人以及媒体说我们像或者我们要成为下一个腾讯,腾讯已经太远了。还是踏踏实实的,从自己的产品出发,挖掘出适合自己的模式,少一些无关的内耗和非受迫性失误,也许是更好的路子。

真心希望迅雷能越走越好。
5
#杂
我已经忘了在哪里看到的这个文生图,感觉对程序员的描述还是挺到位的。
👍111
#杂
去年承德程序员的后续,看来是没事了,”让子弹再飞一会儿“。
👍201
This media is not supported in your browser
VIEW IN TELEGRAM
#杂
转自推特的视频:看起来这些球整体是以圆形在运动,但是仔细看每个单独的球又都是在跑直线。一起在跑直线的球,只是施以时间、空间上的偏差,就形成了整体在跑圆形的错觉。
👍141