科技爱好者周刊(第 209 期):程序员是怎样的人
这里记录每周值得分享的科技内容,周五发布。
本杂志开源(GitHub: ruanyf/weekly),欢迎提交 issue,投稿或推荐科技内容。
周刊讨论区的帖子《谁在招人?》,提供大量程序员就业信息,欢迎访问或发布工作/实习岗位。
封面图
重庆巫山机场位于巫山县三峡旁边的群山之中,削平了7个山头,填了6个山谷后,才形成了3000亩平地。它的海拔有1700多米,距离山脚垂直落差近1000米,乘客需要沿着盘山公路,来到山顶以后才能乘坐飞机。(via)
本周话题:程序员是怎样的人
我最近看到一个令人深思的心理学实验,叫做“斯坦福监狱实验”(Stanford Prison Experiment),跟大家分享一下。
1971年,一个美国的心理学家在斯坦福大学心理学系的地下室,搭建了一个模拟监狱。
他找来一批志愿者,让他们掷硬币,一半人扮演囚犯,另一半人扮演狱警。这些志愿者都是正常人,从来没有接触过监狱,心理学家也不告诉他们,该怎么扮演囚犯和狱警。
每个人换上角色服装,进入逼真的环境。一开始,大家都举止笨拙,不知道做什么,还觉得这件事有点滑稽。
但是过了一会,事情就开始发生变化。囚犯们慢慢摆脱了从前的身份,开始接受现在的角色,站在囚犯的立场思考。他们感受到心理压力,没心思吃东西,向“狱警”提出抗议,彼此互相指责。
狱警们也开始像真正的狱警,管起了囚犯,划定单人牢房,让囚犯呆在里面,接受心理惩罚。同时,对囚犯发表长篇大论的说教,听任囚犯互相攻击,还会缓慢地在走廊上踱步,用木棍敲打牢房门的栅栏。
最惊人的是,过了两天,心理学家让所有人调换角色,囚犯扮演狱警,狱警扮演囚犯。结果,双方很快就适应了新角色,行为变得与新角色一致。
由于所有人太入戏,心理学家担心发生难以控制的局面,原定两周的实验不得不在第六天就宣布结束。
心理学家从这个实验,得到一个结论:人类行为受到工作环境的强烈影响,你会变成环境要求你成为的样子。 正常人关进监狱,就会变得囚犯般俯首听命,暗中算计;要是当上狱警,就会不由自主地居高临下、残忍霸道。
这个实验带给我们的启示就是,要小心你的工作,它会改变你,让你成为另一个人。 很多人都有一种印象,会计师的性格是斤斤计较、对数字格外敏感,律师的性格是重视利益最大化,海关执法人员的性格则是充满怀疑、不信任他人,这就是职业对性格的改变。
这不禁让我思考一个问题:程序员这个职业,会如何改变一个人的性格?
我能想到的有下面几点。
(1)你会变得习惯孤军奋斗,靠自己解决问题。编程本质上属于个人劳动,不是团队劳动。一段代码终究需要你一个人写出来,不可能两个人合写一个函数,你写上半段,我写下半段。现代软件工程是基于分工的协作,每个人完成自己那份工作,然后才能互相协作。
(2)你会习惯孤独。编程非常孤独,日复一日、长时间地与机器打交道,很少与他人面对面交流。如果遇到赶工期,一连好几天,都说不了几句话。我能想到的类似工作,大概只有作家。
(3)你必须非常细致,做到谨小慎微。每个细节都要考虑到,任何一个字母、一个小数点都不能写错,每个逻辑条件都要理清。只要有一个疏忽,代码就会无法运行,或者留下安全隐患。
(4)强大的心理承受能力。程序员是压力很大的工作,公司越大,压力越大,代码写得慢、写错了、或者写不出来,你都要承担责任。有时候出现重大线上 Bug,别人在屁股后面催着你,你却迟迟想不出问题出在哪里,又没有办法测试,那种心理压力真会让人崩溃。
总之,一个人如果没有形成稳定的个性之前,就去当职业程序员,可能就会变成上面这样:不习惯与他人紧密协同,喜欢单干,长时间的孤独劳动,非常重视细节,任何一处都不能偷懒或写错,心理压力巨大。
如果你想好了,能够接受变成这样的人,可以来当程序员。
个人如何提高抗风险能力
端午节前,孙明展老师联系我,他们谱蓝公司要搞下半年的活动了,希望周刊发一个消息。
老读者可能知道,孙老师是金融业人士,从业30多年。他从这个周刊创刊开始,就一直很支持我,所以虽然这里以计算机内容为主,我还是愿意向大家介绍他的公司。
他是广州中山大学统计系硕士毕业,进入世界500强保险公司,后来辞职创业,创办了财务咨询品牌“谱蓝”。公司很成功,已经创办超过10年,前不久完成了 B 轮融资。他们的主要业务是财务咨询和财务服务,大家可以访问官网,或者网上搜索“谱蓝”。
他在业余时间还担任中山大学金融系、统计系专业(兼职)硕士导师,并且坚持在微信公号《孙明展》做财务知识科普。
过去一年,宏观经济发生剧烈变化,很多行业受到严重影响,比如零售、教培、互联网等等。所以,谱蓝公司这次的活动主题就是 “个人如何提高抗风险能力”,为大家在财务上出谋划策,当然也是为了推广企业品牌。
提高抗风险能力,说来很简单,只需要做到三件事。
- 有稳定收入,通常来自工资或资产。
- 防范风险,预留好合理现金流。
- 配置资产,让现有财产保值增值。
但是,上面每一点做起来都不容易。现在的金融产品都设计得非常复杂,不管是基金还是保险,合同里面都有长长的免责条款,普通人怎么知道应该选择哪一种。
这次的咨询活动,就是由谱蓝的理财师为大家一对一服务,你可以得到专业人士的指导,如何防范风险和资产配置,提高个人财务状况的安全性。
首先,他们会根据你们家庭的财务状况,构建家庭资产负债表,进行财务分析,指出风险漏洞。
然后,他们会为你给出一整套家庭资产配置方案,包括存款、投资、保险等金融产品的百分比,兼顾抗风险和养老的需求,尽量做到保值增值。如果是已婚有孩子,还会考虑为孩子做教育金储蓄规划。
你拿到的资产配置方案,会包含多个部分(家庭保障规划、教育金规划、养老金规划……)。理财师保证专业和中立,你提任何问题,都会得到详细讲解。
周刊读者可以免费参加这一次谱蓝的资产配置规划服务,前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 投稿)
一个编辑器插件,只要选中函数代码,就会自动生成对应的 Javadoc 注释,可用来生成文档。
它支持多种语言(JS、TS、Java、Python、PHP 等等),有 VScode、IntelliJ 的插件,还可以在线试用。
6、SwiftBar
一个开源工具,可以定制 Mac 电脑的菜单栏,提供大量小组件。
7、BiglyBT
一个开源的跨平台 BitTorrent 客户端,自带搜索、数据分析、块视图等大量丰富功能。
一个基于 Tailwind CSS 的 React 组件库。
9、Mizu
查看 Kubernete 集群内部各个微服务 API 之间流量通信的软件。
10、Freeplane
跨平台的桌面软件,用于制作思维脑图和知识管理。
活动
1、稀土开发者大会
第二届稀土开发者大会的官网上线了,现在接受报名。组委会这次投入了大量资源,请了国内外大厂的很多技术主管,
专门策划了低代码、大前端、云原生、分布式数据库、微服务与 Serverless、音视频技术、业务架构、AI 等热点技术的专题。
7月下旬举办时,会有14个专场,100多场演讲。现在免费报名,到时可以线上参会,观看演讲直播。
资源
1、濒危声音博物馆
这个网站很有意思,收藏一些消失的声音,比如打字机的击键声、点阵式打印机的打印声、Windows 95 的开机声。
一本免费电子书,向程序员介绍马尔可夫链知识。
3、公共钢琴
这个网站收集了全世界 8,391 架公共钢琴,你可以输入一个地点,看看离你最近的公共钢琴在哪里,过去弹奏。
4、Python 数字信号处理(Think DSP)
开源的英文电子书,向非专业读者介绍数字信号知识,使用 Python 语言举例。
5、Java 8 到 Java 17 的新功能(英文)
这是一篇长文,逐一介绍 Java 语言从版本 8 到版本 17 添加的每一项新功能。
图片
1、如何阅读一本书
很多人心目中,阅读书籍的过程是,从页面读取句子,理解以后进入大脑,获取知识,就是下图的箭头方向。
但是,如果你真的想从读书中有所收获,阅读过程应该是这样的:
你从页面读取句子,读了以后提出问题,再回过头读取句子,在书中寻找答案,最终获得知识。
一位巴西艺术家使用人工智能,生成了迪斯尼动画人物的人像版本。
阿拉丁
花木兰
卡尔老先生(《飞屋环游记》人物)
美少女战士
文摘
1、坦克可以电动吗?
坦克是战场的庞然大物,要求坚实耐用、能在艰苦条件下作战。这使得大多数人相信,坦克不适合电动化。
这种想法是不对的,电力其实很适合作为坦克的能源。
(1)军营里面不可能制造燃料,但可以发电。未来便携式小型核反应堆一旦技术成熟,部队就可以把核反应堆带到任何地点,利用核电每晚为电池充电。
(2)一个陆军装甲师前进时,每天需要多达200万升燃料。运送这样大量的燃料,是一个非常巨大的后勤挑战。特别是在战时,敌人会重点袭击补给车队。
(3)电动车的零件较少,维护就比较简单:无需换油,更少的发动机零件,更少的部件磨损等等。这也简化了战场的物流。
(4)电气系统是模块化的,而且往往是通用的。这意味着,可以快速更换或更新模块。另外,一辆车可以有几个电动机和几个单独的电池仓,坏了一个不会影响整车的工作,汽油车就做不到。
(5)电动车的加速比内燃机快得多,这在战斗时肯定会有所帮助。
(6)电机可以用作移动电源,为其他工具甚至武器提供能量。
(7)电动坦克由计算机控制,能根据不同情况,采用不同的模式,比如公路模式、越野模式、节能模式等等。
(8)与内燃机不同,电动机不需要消耗空气,这可以让电动坦克在水中完全淹没时继续前进。
(9)电动车易于隐蔽,不易被发现。它们不会产生那么多热量,也没有排气系统,这使得热像仪难以注意到它们。它们行动起来也更安静,没有噪音。
上面是电动坦克的优点,但还有一些技术难题等待克服。除了如何在战场上充电这个问题,主要是下面两个问题:首先,需要安全性更高的固态电池,这种电池在枪击或爆炸时,都不会起火;其次,需要降低成本,电动坦克的成本还是太高,远远高于柴油坦克。
尽管如此,可以肯定的是,军用的电动机器在不久的将来肯定会越来越多。现在已经出现了电动的战斗机器人、电动卡车、电动无人机,那么更易于维护、更快、更隐蔽的电动坦克迟早也将出现。
言论
1、
美国有一项世界纪录。1790年出生的第十任总统约翰·泰勒的孙子,至今还在世。
这个总统在1853年有了儿子,当时63岁。他的儿子在1928年70多岁时,生了孙子。他的孙子今年已经94岁了。
2、
如果一种计算机语言不会影响你对编程的看法,它就不值得学习。
– Alan J. Perlis,第一届图灵奖得主
3、
我真的希望马斯克不要购买推特,不是因为这件事本身,而是因为推特实际上是一个垃圾箱,充满了各种乱七八糟的言论。我不希望马斯克宝贵的精力,浪费在管理推特这种毫无价值的事情上面。
4、
用代码量来考核程序员,相当于用药方来评价医生,用药多的医生,就是好医生。
– 知乎网友(@daGaiGuanYu 投稿)
5、
我们不搞培养制,我们没有责任培养你,我们是选拔制,选拔更优秀的人上来,在全公司和全世界范围内选拔优秀者,落后者我们就淘汰。
– 任正非
历史上的本周
2021年(第 161 期):再见了,学术硕士
2020年(第 110 期):如果不能去美国上市
2019年(第 59 期):互联网时代很难交朋友
2018年(第 8 期):实验室会生产人吗?
订阅
这个周刊每周五发布,同步更新在阮一峰的网络日志和微信公众号。
微信搜索“阮一峰的网络日志”或者扫描二维码,即可订阅。
(完)