科技爱好者周刊(第 209 期):程序员是怎样的人

本杂志开源(GitHub: ),欢迎提交 issue,投稿或推荐科技内容。

周刊讨论区的帖子《谁在招人?》,提供大量程序员就业信息,欢迎访问或发布工作/实习岗位。

封面图

重庆巫山机场位于巫山县三峡旁边的群山之中,削平了7个山头,填了6个山谷后,才形成了3000亩平地。它的海拔有1700多米,距离山脚垂直落差近1000米,乘客需要沿着盘山公路,来到山顶以后才能乘坐飞机。(via

本周话题:程序员是怎样的人

我最近看到一个令人深思的心理学实验,叫做“斯坦福监狱实验”(Stanford Prison Experiment),跟大家分享一下。

1971年,一个美国的心理学家在斯坦福大学心理学系的地下室,搭建了一个模拟监狱。

他找来一批志愿者,让他们掷硬币,一半人扮演囚犯,另一半人扮演狱警。这些志愿者都是正常人,从来没有接触过监狱,心理学家也不告诉他们,该怎么扮演囚犯和狱警。

每个人换上角色服装,进入逼真的环境。一开始,大家都举止笨拙,不知道做什么,还觉得这件事有点滑稽。

但是过了一会,事情就开始发生变化。囚犯们慢慢摆脱了从前的身份,开始接受现在的角色,站在囚犯的立场思考。他们感受到心理压力,没心思吃东西,向“狱警”提出抗议,彼此互相指责。

狱警们也开始像真正的狱警,管起了囚犯,划定单人牢房,让囚犯呆在里面,接受心理惩罚。同时,对囚犯发表长篇大论的说教,听任囚犯互相攻击,还会缓慢地在走​​廊上踱步,用木棍敲打牢房门的栅栏。

最惊人的是,过了两天,心理学家让所有人调换角色,囚犯扮演狱警,狱警扮演囚犯。结果,双方很快就适应了新角色,行为变得与新角色一致。

由于所有人太入戏,心理学家担心发生难以控制的局面,原定两周的实验不得不在第六天就宣布结束。

心理学家从这个实验,得到一个结论:人类行为受到工作环境的强烈影响,你会变成环境要求你成为的样子。 正常人关进监狱,就会变得囚犯般俯首听命,暗中算计;要是当上狱警,就会不由自主地居高临下、残忍霸道。

这个实验带给我们的启示就是,要小心你的工作,它会改变你,让你成为另一个人。 很多人都有一种印象,会计师的性格是斤斤计较、对数字格外敏感,律师的性格是重视利益最大化,海关执法人员的性格则是充满怀疑、不信任他人,这就是职业对性格的改变。

这不禁让我思考一个问题:程序员这个职业,会如何改变一个人的性格?

我能想到的有下面几点。

(1)你会变得习惯孤军奋斗,靠自己解决问题。编程本质上属于个人劳动,不是团队劳动。一段代码终究需要你一个人写出来,不可能两个人合写一个函数,你写上半段,我写下半段。现代软件工程是基于分工的协作,每个人完成自己那份工作,然后才能互相协作。

(2)你会习惯孤独。编程非常孤独,日复一日、长时间地与机器打交道,很少与他人面对面交流。如果遇到赶工期,一连好几天,都说不了几句话。我能想到的类似工作,大概只有作家。

(3)你必须非常细致,做到谨小慎微。每个细节都要考虑到,任何一个字母、一个小数点都不能写错,每个逻辑条件都要理清。只要有一个疏忽,代码就会无法运行,或者留下安全隐患。

(4)强大的心理承受能力。程序员是压力很大的工作,公司越大,压力越大,代码写得慢、写错了、或者写不出来,你都要承担责任。有时候出现重大线上 Bug,别人在屁股后面催着你,你却迟迟想不出问题出在哪里,又没有办法测试,那种心理压力真会让人崩溃。

总之,一个人如果没有形成稳定的个性之前,就去当职业程序员,可能就会变成上面这样:不习惯与他人紧密协同,喜欢单干,长时间的孤独劳动,非常重视细节,任何一处都不能偷懒或写错,心理压力巨大。

如果你想好了,能够接受变成这样的人,可以来当程序员。

个人如何提高抗风险能力

端午节前,孙明展老师联系我,他们谱蓝公司要搞下半年的活动了,希望周刊发一个消息。

老读者可能知道,孙老师是金融业人士,从业30多年。他从这个周刊创刊开始,就一直很支持我,所以虽然这里以计算机内容为主,我还是愿意向大家介绍他的公司。

他是广州中山大学统计系硕士毕业,进入世界500强保险公司,后来辞职创业,创办了财务咨询品牌“谱蓝”。公司很成功,已经创办超过10年,前不久完成了 B 轮融资。他们的主要业务是财务咨询和财务服务,大家可以访问官网,或者网上搜索“谱蓝”。

他在业余时间还担任中山大学金融系、统计系专业(兼职)硕士导师,并且坚持在微信公号《孙明展》做财务知识科普。

过去一年,宏观经济发生剧烈变化,很多行业受到严重影响,比如零售、教培、互联网等等。所以,谱蓝公司这次的活动主题就是 “个人如何提高抗风险能力”,为大家在财务上出谋划策,当然也是为了推广企业品牌。

提高抗风险能力,说来很简单,只需要做到三件事。

  1. 有稳定收入,通常来自工资或资产。
  2. 防范风险,预留好合理现金流。
  3. 配置资产,让现有财产保值增值。

但是,上面每一点做起来都不容易。现在的金融产品都设计得非常复杂,不管是基金还是保险,合同里面都有长长的免责条款,普通人怎么知道应该选择哪一种。

这次的咨询活动,就是由谱蓝的理财师为大家一对一服务,你可以得到专业人士的指导,如何防范风险和资产配置,提高个人财务状况的安全性

首先,他们会根据你们家庭的财务状况,构建家庭资产负债表,进行财务分析,指出风险漏洞。

然后,他们会为你给出一整套家庭资产配置方案,包括存款、投资、保险等金融产品的百分比,兼顾抗风险和养老的需求,尽量做到保值增值。如果是已婚有孩子,还会考虑为孩子做教育金储蓄规划。

你拿到的资产配置方案,会包含多个部分(家庭保障规划、教育金规划、养老金规划……)。理财师保证专业和中立,你提任何问题,都会得到详细讲解。

周刊读者可以免费参加这一次谱蓝的资产配置规划服务,前100名读者还可以获赠一份《家庭财务宝典》。

微信扫描上方二维码,就可以了解活动详情,并报名参加。限量200人,领完即止。

科技动态

1、香蕉遥控器

索尼公司申请了一项专利,可以将普通家用物品和食品,变成 PlayStation 游戏机的遥控器。

专利文件使用香蕉举例,用户可以拿着一只香蕉,在上面按下虚拟按键,操纵游戏。文件说“改用橙子、咖啡杯和钢笔都可以”。

这项专利的奥妙,在于需要一个外置摄像头,并且这个摄像头必须可以拍到用户手指的动作,通过识别手的位置和手指动作,判断用户的意图。索尼说,这适合临时缺少遥控器的情况,对于聚会时多人玩游戏尤其有帮助。

2、远海养殖船

有些名贵的食用鱼(大黄鱼、石斑鱼、鲑鱼等)不适合近海养殖,一家青岛公司就制造了全球最大的10万吨养殖船“国信1号”,开到远海,在船里养鱼。船的长度为250米,鱼的年产量预计为3700吨。

这艘船可以一刻不停地用海水替换养殖用水,保证了水质,也就保证了鱼的品质,还能避开台风、赤潮等自然灾害。养殖舱内的水、氧、光、饲都是集中控制。该公司透露,国信2号和国信3号将在两年内交付使用。

3、管道机器人

清华大学机械系发明了一种微型管道机器人,直径小于1厘米,长度4.7厘米,重量2.2克。这么小的机器人,内部集成了运动机械、电池、摄像头和通信模块。

它可以接收外部指令,前进和转弯,速度大约每秒5厘米,还可以弯曲成各种形状。它的主要用途是航空发动机的管道检修。

4、欧盟统一充电器

本周,欧盟通过了一个法律草案,规定到2024年秋天,欧盟销售的所有中小型便携式电子设备都必须使用 USB Type-C 充电口,包括手机、平板、阅读器、耳塞、数码相机、耳机、手持游戏机和便携式扬声器等。笔记本电脑有40个月的缓冲期,最终也要改成 Type-C 充电。

这是为了减少电子垃圾,减轻消费者负担。据估计,欧盟每年废弃的充电器约11,000吨,一旦统一充电器,消费者可以每年节省高达2.5亿欧元。

受影响最大的将是苹果手机,不过该法律不涉及无线充电,苹果公司可以选择彻底取消 iPhone 的有线充电。

5、电子绷带

人们很早就知道,微电流可以杀死细菌,帮助治愈伤口。美国科学家根据这个原理,用银纳米线制成电路,放到水凝胶中,制成一种电子绷带。

它相当于在伤口上面,加了一层电路,只要连上外部电源,就会有电流。而且,电路是银做的,不会有感染问题。经过大鼠对照实验,没有采取治疗措施的大鼠,伤口愈合需要20天,贴了电子绷带只需要7天。

文章

1、国产 GPU 创业潮(中文)

最近,国内出现了好几家 GPU 创业公司。大家知道,独立 GPU 市场现在完全被 Nvidia 和 AMD 两大巨头垄断,技术壁垒非常高,新公司很难进入,本文就来分析了这些创业公司是怎么出现的。

2、手机号“一键解绑”(中文)

中国信息通信研究院推出“一号通查”功能,可以查询用户手机绑定的互联网帐号服务(目前只有微博、淘宝、抖音、美团等若干服务),并可以“一键解绑”。

3、三分钟读懂 NFT 和数字藏品(中文)

国内很多公司都在尝试发行数字藏品(NFT),本文使用通俗的语言介绍,到底什么是数字藏品,写得不错。(@marmul2 投稿)

4、你不知道的 HTML 属性(英文)

本文详细介绍几个你可能不知道的 HTML 属性,比如<input>enterkeyhint属性。

5、三个 Markdown 技巧(英文)

本文介绍了 Mardown 的三个小技巧,比如在行内代码中显示反引号。

6、如何从命令行读写剪贴板?(英文)

Windows 和 Mac 系统都提供命令行命令,可以读写系统的剪贴板。本文举了一个简单的例子,教你怎么使用它们。

7、Imagen 与 DALL-E 效果对比(英文)

谷歌最近发布了 Imagen 模型,跟 OpenAI 公司的 DALL-E 模型功能完全一样:输入一段文字,自动生成配图。

本文作者做了一个实验,同样的文字输入这两个模型,比较谁的效果更好。比如上图的原文是“一只蓝鸟站在一大篮彩虹马卡龙上。”

8、如何使用 dig(英文)

dig 是一个查询 DNS 信息的命令行工具,本文介绍它的简单用法,写得很好。

9、如何正确使用 Python 浮点数(英文)

一篇初级教程,介绍如何在 Python 语言里面正确使用浮点数。

工具

1、WeekToDo

一款极简的代办事项(todos)管理软件。以每周为单位,列出每天的代办事项,简单明了,有桌面版和 Web 版。

2、Xournal

一款 Linux 环境的手写笔记软件,适合带数学公式的笔记,最好配合手写板使用。

3、go-zero

Go 语言的微服务框架,内置丰富的微服务能力,可以很方便地将 Go 脚本架设成服务。(@kevwan 投稿)

4、思源笔记

国产的个人知识管理系统,主要用于个人笔记,功能很多。除了云端存储和多端同步收费,其他都是免费功能。(@Geo123abc 投稿)

5、AI Doc Writer

一个编辑器插件,只要选中函数代码,就会自动生成对应的 Javadoc 注释,可用来生成文档。

它支持多种语言(JS、TS、Java、Python、PHP 等等),有 VScode、IntelliJ 的插件,还可以在线试用

6、SwiftBar

一个开源工具,可以定制 Mac 电脑的菜单栏,提供大量小组件。

7、BiglyBT

一个开源的跨平台 BitTorrent 客户端,自带搜索、数据分析、块视图等大量丰富功能。

8、Lemon design

一个基于 Tailwind CSS 的 React 组件库。

9、Mizu

查看 Kubernete 集群内部各个微服务 API 之间流量通信的软件。

10、Freeplane

跨平台的桌面软件,用于制作思维脑图和知识管理。

活动

1、稀土开发者大会

第二届稀土开发者大会的官网上线了,现在接受报名。组委会这次投入了大量资源,请了国内外大厂的很多技术主管,
专门策划了低代码、大前端、云原生、分布式数据库、微服务与 Serverless、音视频技术、业务架构、AI 等热点技术的专题。

7月下旬举办时,会有14个专场,100多场演讲。现在免费报名,到时可以线上参会,观看演讲直播。

资源

1、濒危声音博物馆

这个网站很有意思,收藏一些消失的声音,比如打字机的击键声、点阵式打印机的打印声、Windows 95 的开机声。

2、写给程序员的马尔可夫链

一本免费电子书,向程序员介绍马尔可夫链知识。

3、公共钢琴

这个网站收集了全世界 8,391 架公共钢琴,你可以输入一个地点,看看离你最近的公共钢琴在哪里,过去弹奏。

4、Python 数字信号处理(Think DSP)

开源的英文电子书,向非专业读者介绍数字信号知识,使用 Python 语言举例。

5、Java 8 到 Java 17 的新功能(英文)

这是一篇长文,逐一介绍 Java 语言从版本 8 到版本 17 添加的每一项新功能。

图片

1、如何阅读一本书

很多人心目中,阅读书籍的过程是,从页面读取句子,理解以后进入大脑,获取知识,就是下图的箭头方向。

但是,如果你真的想从读书中有所收获,阅读过程应该是这样的:

你从页面读取句子,读了以后提出问题,再回过头读取句子,在书中寻找答案,最终获得知识。

2、动画人物的现实版本

一位巴西艺术家使用人工智能,生成了迪斯尼动画人物的人像版本。

阿拉丁

花木兰

卡尔老先生(《飞屋环游记》人物)

美少女战士

文摘

1、坦克可以电动吗?

坦克是战场的庞然大物,要求坚实耐用、能在艰苦条件下作战。这使得大多数人相信,坦克不适合电动化。

这种想法是不对的,电力其实很适合作为坦克的能源。

(1)军营里面不可能制造燃料,但可以发电。未来便携式小型核反应堆一旦技术成熟,部队就可以把核反应堆带到任何地点,利用核电每晚为电池充电。

(2)一个陆军装甲师前进时,每天需要多达200万升燃料。运送这样大量的燃料,是一个非常巨大的后勤挑战。特别是在战时,敌人会重点袭击补给车队。

(3)电动车的零件较少,维护就比较简单:无需换油,更少的发动机零件,更少的部件磨损等等。这也简化了战场的物流。

(4)电气系统是模块化的,而且往往是通用的。这意味着,可以快速更换或更新模块。另外,一辆车可以有几个电动机和几个单独的电池仓,坏了一个不会影响整车的工作,汽油车就做不到。

(5)电动车的加速比内燃机快得多,这在战斗时肯定会有所帮助。

(6)电机可以用作移动电源,为其他工具甚至武器提供能量。

(7)电动坦克由计算机控制,能根据不同情况,采用不同的模式,比如公路模式、越野模式、节能模式等等。

(8)与内燃机不同,电动机不需要消耗空气,这可以让电动坦克在水中完全淹没时继续前进。

(9)电动车易于隐蔽,不易被发现。它们不会产生那么多热量,也没有排气系统,这使得热像仪难以注意到它们。它们行动起来也更安静,没有噪音。

上面是电动坦克的优点,但还有一些技术难题等待克服。除了如何在战场上充电这个问题,主要是下面两个问题:首先,需要安全性更高的固态电池,这种电池在枪击或爆炸时,都不会起火;其次,需要降低成本,电动坦克的成本还是太高,远远高于柴油坦克。

尽管如此,可以肯定的是,军用的电动机器在不久的将来肯定会越来越多。现在已经出现了电动的战斗机器人、电动卡车、电动无人机,那么更易于维护、更快、更隐蔽的电动坦克迟早也将出现。

言论

1、

美国有一项世界纪录。1790年出生的第十任总统约翰·泰勒的孙子,至今还在世。

这个总统在1853年有了儿子,当时63岁。他的儿子在1928年70多岁时,生了孙子。他的孙子今年已经94岁了。

《约翰·泰勒总统的孙子》

2、

如果一种计算机语言不会影响你对编程的看法,它就不值得学习。

Alan J. Perlis,第一届图灵奖得主

3、

我真的希望马斯克不要购买推特,不是因为这件事本身,而是因为推特实际上是一个垃圾箱,充满了各种乱七八糟的言论。我不希望马斯克宝贵的精力,浪费在管理推特这种毫无价值的事情上面。

Hacker News 读者

4、

用代码量来考核程序员,相当于用药方来评价医生,用药多的医生,就是好医生。

知乎网友@daGaiGuanYu 投稿)

5、

我们不搞培养制,我们没有责任培养你,我们是选拔制,选拔更优秀的人上来,在全公司和全世界范围内选拔优秀者,落后者我们就淘汰。

任正非

历史上的本周

2021年(第 161 期):再见了,学术硕士

2020年(第 110 期):如果不能去美国上市

2019年(第 59 期):互联网时代很难交朋友

2018年(第 8 期):实验室会生产人吗?

订阅

这个周刊每周五发布,同步更新在阮一峰的网络日志微信公众号

微信搜索“阮一峰的网络日志”或者扫描二维码,即可订阅。

(完)